Function at 0x4ad5c0
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.0049d4d0
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x4ad62d
lea eax, [ebx*4]
push eax
call fcn.0049d4d0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne 0x4ad637
push dword [esp + 0x50]
call fcn.0049d4c0
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.004ad490
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4ad66d
push dword [esp + 0x50]
call fcn.0049d4c0
mov edx, dword [esp + 0x58]
push edx
call fcn.0049d4c0
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 0x4ad68e
jmp 0x4ad680
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x210
cmp eax, ebx
jb 0x4ad680
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.004acb30
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 0x4ad70d
imul ecx, ebx
push 2
push ecx
mov dword [esi + 8], ecx
call fcn.0049d4a0
add esp, 8
mov dword [esi + 4], eax
cmp dword [esi + 4], 0
jne 0x4ad739
push dword [esp + 0x50]
call fcn.0049d4c0
push dword [esp + 0x58]
call fcn.0049d4c0
push ebp
push esi
call fcn.004ae150
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 0x4ad7e5
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 0x4ad7d2
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 0x4ad7b0
mov ecx, dword [esp + 0x18]
inc ebx
add edi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x4ad790
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
cmp eax, 1
jbe 0x4ad8e6
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 0x4ad8b9
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 0x4ad8a2
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 0x4ad880
mov ecx, dword [esp + 0x18]
inc ebx
add esi, 0x10
add ebp, 0x34
cmp ebx, ecx
jb 0x4ad860
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 0x4ad803
push dword [esp + 0x50]
call fcn.0049d4c0
push dword [esp + 0x58]
call fcn.0049d4c0
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 0x4ad929
call fcn.004af750
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
call fcn.004af6c0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret