Function at 0x4a4a60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x74]
mov ecx, ebx
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
mov eax, edx
add eax, ecx
cdq
sub eax, edx
sar eax, 1
push ecx
lea edx, [eax + eax*2]
lea ecx, [ebx - 0xc]
mov eax, esp
mov dword [eax], ecx
push ecx
mov eax, esp
lea esi, [edi + edx*4]
mov dword [eax], esi
push ecx
mov eax, esp
mov dword [eax], edi
call fcn.004a4f10
add esp, 0xc
cmp edi, esi
lea ebp, [esi + 0xc]
jae 0x4a4aea
sub esp, 8
mov ecx, esp
push esi
lea ebx, [esi - 0xc]
call int.004422b0
mov ecx, ebx
call int.00442320
test al, al
jne 0x4a4ae6
sub esp, 8
mov ecx, esp
push ebx
call int.004422b0
mov ecx, esi
call int.00442320
test al, al
jne 0x4a4ae6
mov esi, ebx
cmp edi, esi
jb 0x4a4ab1
mov ebx, dword [esp + 0x78]
cmp ebp, ebx
jae 0x4a4b23
mov edi, edi
sub esp, 8
mov ecx, esp
push esi
call int.004422b0
mov ecx, ebp
call int.00442320
test al, al
jne 0x4a4b23
sub esp, 8
mov ecx, esp
push ebp
call int.004422b0
mov ecx, esi
call int.00442320
test al, al
jne 0x4a4b23
add ebp, 0xc
cmp ebp, ebx
jb 0x4a4af0
mov ebx, esi
mov edi, ebp
mov dword [esp + 0x10], ebx
jmp 0x4a4b30
cmp edi, dword [esp + 0x78]
jae 0x4a4ba3
sub esp, 8
mov ecx, esp
push edi
call int.004422b0
mov ecx, esi
call int.00442320
test al, al
jne 0x4a4b98
sub esp, 8
mov ecx, esp
push esi
call int.004422b0
mov ecx, edi
call int.00442320
test al, al
jne 0x4a4ba3
mov ebx, ebp
push ebx
lea ecx, [esp + 0x1c]
add ebp, 0xc
call int.004422b0
mov edx, dword [edi]
mov eax, dword [ebx + 8]
mov dword [ebx], edx
mov ecx, dword [edi + 4]
mov dword [ebx + 4], ecx
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 8], edx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov eax, dword [esp + 0x78]
add edi, 0xc
cmp edi, eax
jb 0x4a4b36
cmp ebx, dword [esp + 0x74]
jbe 0x4a4c2a
add ebx, 0xfffffff4
sub esp, 8
mov ecx, esp
push esi
call int.004422b0
mov ecx, ebx
call int.00442320
test al, al
jne 0x4a4c0c
sub esp, 8
mov ecx, esp
push ebx
call int.004422b0
mov ecx, esi
call int.00442320
test al, al
jne 0x4a4c22
sub esi, 0xc
push esi
lea ecx, [esp + 0x28]
call int.004422b0
mov ecx, dword [ebx]
mov eax, dword [esi + 8]
mov dword [esi], ecx
mov edx, dword [ebx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x24]
mov dword [esi + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
sub eax, 0xc
sub ebx, 0xc
cmp ecx, eax
mov dword [esp + 0x10], eax
jb 0x4a4bb0
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
jne 0x4a4cba
cmp edi, eax
je 0x4a4d6f
cmp ebp, edi
je 0x4a4c6f
push esi
lea ecx, [esp + 0x34]
call int.004422b0
mov edx, dword [ebp]
mov eax, dword [esi + 8]
mov dword [esi], edx
mov ecx, dword [ebp + 4]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x30]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x34]
mov dword [ebp], ecx
mov dword [ebp + 4], edx
mov dword [ebp + 8], eax
mov eax, esi
mov ebx, edi
push eax
lea ecx, [esp + 0x40]
add ebp, 0xc
add edi, 0xc
mov dword [esp + 0x18], eax
add esi, 0xc
call int.004422b0
mov edx, dword [ebx]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov dword [eax], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
mov ebx, dword [esp + 0x10]
jmp 0x4a4b30
sub ebx, 0xc
cmp edi, eax
mov dword [esp + 0x10], ebx
jne 0x4a4d30
sub esi, 0xc
cmp ebx, esi
je 0x4a4cf9
push ebx
lea ecx, [esp + 0x4c]
call int.004422b0
mov ecx, dword [esi]
mov eax, dword [ebx + 8]
mov dword [ebx], ecx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x48]
mov dword [ebx + 8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esi], edx
mov dword [esi + 4], ecx
mov dword [esi + 8], eax
push esi
lea ecx, [esp + 0x58]
sub ebp, 0xc
call int.004422b0
mov edx, dword [ebp]
mov eax, dword [esi + 8]
mov dword [esi], edx
mov ecx, dword [ebp + 4]
mov dword [esi + 4], ecx
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x54]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x58]
mov dword [ebp], ecx
mov dword [ebp + 4], edx
mov dword [ebp + 8], eax
jmp 0x4a4b30
mov eax, edi
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x18], eax
add edi, 0xc
call int.004422b0
mov eax, dword [esp + 0x14]
mov edx, dword [ebx]
mov ecx, dword [eax + 8]
mov dword [eax], edx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov edx, dword [ebx + 8]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], ecx
jmp 0x4a4b30
mov eax, dword [esp + 0x70]
pop edi
mov dword [eax], esi
pop esi
mov dword [eax + 4], ebp
pop ebp
pop ebx
add esp, 0x5c
ret