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

Disassembly:
sub esp, 0x38
push ebx
mov ebx, dword [esp + 0x40]
push ebp
push esi
mov esi, dword [esp + 0x50]
mov ebx, dword [ebx + 0x10]
push edi
mov edi, dword [esp + 0x50]
imul eax, esi, 0x160c
mov dword [esp + 0x18], ebx
add eax, dword [edi + 0x4c]
mov dword [esp + 0x3c], eax
mov ebp, dword [eax + 0x1a4]
imul eax, ebx, 0x210
inc ebp
mov dword [esp + 0x38], ebp
push eax
call fcn.0049d470
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x4ad5cd
lea eax, [ebx*4]
push eax
call fcn.0049d470
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x4ad5d7
push dword [esp + 0x50]
call fcn.0049d460
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
push esi
push edi
push dword [esp + 0x54]
call fcn.004ad430
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4ad60d
push dword [esp + 0x50]
call fcn.0049d460
mov edx, dword [esp + 0x58]
push edx
call fcn.0049d460
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x50]
xor eax, eax
mov edx, dword [esp + 0x54]
test ebx, ebx
je 0x4ad62e
jmp 0x4ad620
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x210
cmp eax, ebx
jb 0x4ad620
push edx
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
push esi
push edi
push dword [esp + 0x78]
call fcn.004acad0
mov eax, dword [esp + 0x40]
xor edx, edx
mov esi, dword [esp + 0x44]
add esp, 0x30
imul eax, ebx
mov dword [esi + 4], 0
mov ebx, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
imul ebx, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
or eax, 0xffffffff
inc ecx
div ecx
mov dword [esp + 0x40], ebx
cmp ebx, eax
ja 0x4ad6ad
imul ecx, ebx
push 2
push ecx
mov dword [esi + 8], ecx
call fcn.0049d440
add esp, 8
mov dword [esi + 4], eax
cmp dword [esi + 4], 0
jne 0x4ad6d9
push dword [esp + 0x50]
call fcn.0049d460
push dword [esp + 0x58]
call fcn.0049d460
push ebp
push esi
call fcn.004ae0f0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov edi, dword [esi + 0xc8]
mov ebp, dword [eax + 0x18]
mov eax, dword [esp + 0x20]
mov dword [esi + 0xcc], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x28]
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0xc], ebx
xor ebx, ebx
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esi + 0x18], 1
mov dword [esi + 0x10], eax
test ecx, ecx
je 0x4ad785
mov eax, dword [esp + 0x54]
xor esi, esi
mov edx, dword [edi + 0xc]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ebp]
mov dword [edi], eax
mov eax, dword [ebp + 4]
mov dword [edi + 4], eax
cmp dword [edi + 8], esi
jbe 0x4ad772
lea esp, [esp]
mov eax, dword [ecx]
lea ecx, [ecx + 0x10]
mov dword [edx], eax
lea edx, [edx + 0x10]
mov eax, dword [ecx - 0xc]
inc esi
mov dword [edx - 0xc], eax
mov eax, dword [ecx - 8]
mov dword [edx - 8], eax
mov eax, dword [ecx - 4]
mov dword [edx - 4], eax
cmp esi, dword [edi + 8]
jb 0x4ad750
mov ecx, dword [esp + 0x18]
inc ebx
add edi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x4ad730
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
cmp eax, 1
jbe 0x4ad886
lea ebp, [esi + 0x1b8]
lea edx, [eax - 1]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov esi, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [ebp], eax
mov eax, dword [esp + 0x24]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [ebp - 0xb8], eax
mov eax, dword [esp + 0x30]
mov dword [ebp - 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xc0], eax
test ecx, ecx
je 0x4ad859
mov ebp, dword [esp + 0x44]
nop
mov eax, dword [esp + 0x54]
xor edi, edi
mov ecx, dword [ebp]
mov edx, dword [esi + 0xc]
mov eax, dword [eax + ebx*4]
mov dword [esi], ecx
mov ecx, dword [ebp + 4]
mov dword [esi + 4], ecx
cmp dword [esi + 8], edi
jbe 0x4ad842
lea esp, [esp]
mov ecx, dword [eax]
lea eax, [eax + 0x10]
mov dword [edx], ecx
lea edx, [edx + 0x10]
mov ecx, dword [eax - 0xc]
inc edi
mov dword [edx - 0xc], ecx
mov ecx, dword [eax - 8]
mov dword [edx - 8], ecx
mov ecx, dword [eax - 4]
mov dword [edx - 4], ecx
cmp edi, dword [esi + 8]
jb 0x4ad820
mov ecx, dword [esp + 0x18]
inc ebx
add esi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x4ad800
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0xc4], eax
add ebp, 0xec
dec edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], edx
jne 0x4ad7a3
push dword [esp + 0x50]
call fcn.0049d460
push dword [esp + 0x58]
call fcn.0049d460
mov ecx, dword [esp + 0x24]
add esp, 8
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
push ecx
test byte [eax + 0x1608], 4
push dword [esp + 0x14]
push eax
push esi
je 0x4ad8c9
call fcn.004af6f0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.004af660
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret