Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BITS 32
- extern print_line
- global mystery1:function
- global mystery2:function
- global mystery3:function
- global mystery4:function
- global mystery6:function
- global mystery7:function
- global mystery8:function
- global mystery9:function
- section .text
- mystery1:
- push ebp
- mov ebp,esp
- push ebx
- mov edi,DWORD [ebp+0x8]
- xor eax,eax
- xor ebx,ebx
- mystery1_l1:
- mov bl,BYTE [edi]
- test ebx,ebx
- je mystery1_l2
- inc eax
- inc edi
- jmp mystery1_l1
- mystery1_l2:
- pop ebx
- leave
- ret
- mystery2:
- push ebp
- mov ebp,esp
- mov edx,DWORD [ebp+0x8]
- push edx
- call mystery1
- add esp,0x4
- mov ecx,eax
- xor eax,eax
- mov edi,DWORD [ebp+0x8]
- mov dl,BYTE [ebp+0xc]
- mystery2_l1:
- mov bl,BYTE [edi]
- cmp bl,dl
- je mystery2_l2
- inc eax
- inc edi
- jmp mystery2_l1
- mystery2_l2:
- cmp ecx,0x0
- jne mystery2_l3
- mov eax,0xffffffff
- mystery2_l3:
- leave
- ret
- mystery3:
- push ebp
- mov ebp,esp
- mov ebx,DWORD [ebp+0x8]
- mov edx,DWORD [ebp+0xc]
- mov ecx,DWORD [ebp+0x10]
- mystery3_l1:
- mov al,BYTE [ebx]
- mov ah,BYTE [edx]
- cmp al,ah
- jne mystery3_l2
- inc ebx
- inc edx
- loop mystery3_l1
- xor eax,eax
- jmp mystery3_l3
- mystery3_l2:
- mov eax,0x1
- mystery3_l3:
- leave
- ret
- mystery4:
- push ebp
- mov ebp,esp
- push ebx
- mov eax,DWORD [ebp+0x8]
- mov ebx,DWORD [ebp+0xc]
- mov ecx,DWORD [ebp+0x10]
- mystery4_l1:
- mov dl,BYTE [ebx]
- mov BYTE [eax],dl
- inc eax
- inc ebx
- loop mystery4_l1
- pop ebx
- leave
- ret
- mystery5:
- push ebp
- mov ebp,esp
- mov eax,DWORD [ebp+0x8]
- cmp al,0x30
- jl mystery5_l1
- cmp al,0x39
- jg mystery5_l1
- mov eax,0x1
- jmp mystery5_l2
- mystery5_l1:
- mov eax,0x0
- mystery5_l2:
- leave
- ret
- ;mystery6:
- ; not used even once
- mystery6:
- push ebp
- mov ebp,esp
- mov edi,DWORD [ebp+0x8]
- push edi
- call mystery1
- add esp,0x4
- mov edi,DWORD [ebp+0x8]
- mov ecx,eax
- sub esp,eax
- mov ebx,ebp
- sub ebx,eax
- mystery6_l1:
- mov dl,BYTE [edi+ecx*1-0x1]
- mov BYTE [ebx],dl
- inc ebx
- loop mystery6_l1
- push eax
- mov ebx,ebp
- sub ebx,eax
- push ebx
- push edi
- call mystery4
- add esp,0xc
- leave
- ret
- mystery7:
- push ebp
- mov ebp,esp
- xor edx,edx
- xor ebx,ebx
- mov eax,DWORD [ebp+0x8]
- sub esp,0x4
- mov DWORD [ebp-0x4],0x0
- push eax
- call mystery1
- add esp,0x4
- mov ecx,eax
- push eax
- push ebx
- push ecx
- push edx
- push edi
- mov esi,DWORD [ebp+0x8]
- push esi
- call mystery6
- add esp,0x4
- pop edi
- pop edx
- pop ecx
- pop ebx
- pop eax
- mystery7_l1:
- mov bl,BYTE [esi+ecx*1-0x1]
- push ebx
- push ebx
- call mystery5
- add esp,0x4
- cmp eax,0x0
- je mystery7_l3
- pop ebx
- sub bl,0x30
- push ebx
- mov ebx,0xa
- mov eax,DWORD [ebp-0x4]
- mul ebx
- pop ebx
- add eax,ebx
- mov DWORD [ebp-0x4],eax
- loop mystery7_l1
- jmp mystery7_l2
- mystery7_l3:
- mov eax,0xffffffff
- add esp,0x4
- mystery7_l2:
- leave
- ret
- mystery8:
- push ebp
- mov ebp,esp
- sub esp,0x10
- mov DWORD [ebp-0x4],0x0
- mov DWORD [ebp-0x8],0x0
- mystery8_l1:
- mov eax,DWORD [ebp-0x8]
- cmp eax,DWORD [ebp+0x10]
- jae mystery8_l2
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0x4]
- add eax,edx
- mov al,BYTE [eax]
- cmp al,0xa
- je mystery8_l2
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0x4]
- add eax,edx
- mov al,BYTE [eax]
- test al,al
- je mystery8_l2
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0x4]
- add eax,edx
- mov dl,BYTE [eax]
- mov ecx,DWORD [ebp+0xc]
- mov eax,DWORD [ebp-0x8]
- add eax,ecx
- mov al,BYTE [eax]
- cmp dl,al
- je mystery8_l3
- mov DWORD [ebp-0x8],0x0
- jmp mystery8_l4
- mystery8_l3:
- add DWORD [ebp-0x8],0x1
- mystery8_l4:
- mov eax,DWORD [ebp-0x8]
- cmp eax,DWORD [ebp+0x10]
- jne mystery8_l5
- mov eax,0x1
- jmp mystery8_l6
- mystery8_l5:
- add DWORD [ebp-0x4],0x1
- jmp mystery8_l1
- mystery8_l2:
- mov eax,0x0
- mystery8_l6:
- leave
- ret
- mystery9:
- push ebp
- mov ebp,esp
- sub esp,0x18
- mov DWORD [ebp-0xc],0x0
- mov eax,DWORD [ebp+0xc]
- mov DWORD [ebp-0x10],eax
- push DWORD [ebp+0x14]
- call mystery1
- add esp,0x4
- mov DWORD [ebp-0x14],eax
- mov eax,DWORD [ebp+0xc]
- mov DWORD [ebp-0xc],eax
- mystery9_l1:
- mov eax,DWORD [ebp-0xc]
- cmp eax,DWORD [ebp+0x10]
- jae mystery9_l2
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0xc]
- add eax,edx
- mov al,BYTE [eax]
- cmp al,0xa
- jne mystery9_l3
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0x10]
- add eax,edx
- push DWORD [ebp-0x14]
- push DWORD [ebp+0x14]
- push eax
- call mystery8
- add esp,0xc
- test eax,eax
- setne al
- test al,al
- je mystery9_l4 ; aux4=aux3++
- mov edx,DWORD [ebp+0x8]
- mov eax,DWORD [ebp-0x10]
- add eax,edx
- sub esp,0xc
- push eax
- call print_line
- add esp,0x10
- mystery9_l4:
- mov eax,DWORD [ebp-0xc] ;aux4=aux3++
- add eax,0x1
- mov DWORD [ebp-0x10],eax
- mystery9_l3:
- add DWORD [ebp-0xc],0x1 ; aux3++
- jmp mystery9_l1
- mystery9_l2:
- leave
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement