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

Disassembly:
push ebp
mov ecx, 0x4c15e4
push edi
push esi
push ebx
sub esp, 0x3c
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x28], edi
mov word [esp + 0x2c], di
mov dword [esp + 0x20], eax
call fcn.0042bb30
mov edx, eax
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x24], eax
test eax, eax
je 0x465578
cmp bx, 0xffff
sete byte [esp + 0x1f]
cmp di, 0xffff
sete al
mov edx, eax
test esi, esi
je 0x465377
test al, al
jne 0x46556f
mov byte [esp + 0x2e], al
xor edi, edi
xor ebp, ebp
mov eax, dword [esp + 0x20]
test eax, eax
setne bl
and bl, byte [esp + 0x1f]
jne 0x465450
movzx ebx, byte [esp + 0x1f]
cmp ebp, dword [esp + 0x6c]
jae 0x465480
cmp bl, dl
je 0x465480
test esi, esi
je 0x4653b8
cmp byte [esp + 0x2e], 0
jne 0x4654c0
movzx edx, word [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], 0x2a
call dword [eax + 0x30]
lea edx, [eax - 0x30]
sub esp, 8
cmp dl, 9
ja 0x465480
lea edx, [edi + edi*4]
movsx eax, al
lea edi, [eax + edx*2 - 0x30]
cmp edi, dword [esp + 0x68]
jg 0x46549a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jae 0x4654e0
add eax, 2
add ebp, 1
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jae 0x4654f6
movzx eax, word [eax]
mov word [esp + 0x2c], ax
cmp word [esp + 0x2c], 0xffff
je 0x465510
mov eax, dword [esp + 0x20]
mov edx, 0xffffffff
mov byte [esp + 0x2e], 1
mov word [esp + 0x2c], dx
xor edx, edx
test eax, eax
setne bl
and bl, byte [esp + 0x1f]
je 0x465392
lea esi, [esi]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x465548
movzx eax, word [eax]
cmp ax, 0xffff
je 0x465538
xor ebx, ebx
cmp ebp, dword [esp + 0x6c]
jb 0x4653a1
lea esi, [esi]
test ebp, ebp
setne dl
cmp dword [esp + 0x64], edi
setle al
test dl, al
je 0x46549a
cmp dword [esp + 0x68], edi
jge 0x465528
mov eax, dword [esp + 0x74]
or dword [eax], 4
mov eax, dword [esp + 0x28]
mov ax, word [esp + 0x2c]
add esp, 0x3c
pop ebx
mov edx, eax
mov eax, esi
pop esi
pop edi
pop ebp
ret 0x28
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jae 0x465560
movzx edx, word [eax]
xor eax, eax
cmp dx, 0xffff
cmove esi, eax
jmp 0x4653bd
mov eax, dword [esi]
mov ecx, esi
add ebp, 1
call dword [eax + 0x28]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jb 0x465415
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov word [esp + 0x2c], ax
cmp word [esp + 0x2c], 0xffff
jne 0x465429
nop
mov byte [esp + 0x2e], 1
mov edx, 1
xor esi, esi
jmp 0x46537f
mov eax, dword [esp + 0x60]
mov dword [eax], edi
jmp 0x4654a1
mov dword [esp + 0x20], 0
jmp 0x465397
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x2f], dl
mov eax, dword [ecx]
call dword [eax + 0x24]
movzx edx, byte [esp + 0x2f]
jmp 0x465463
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
movzx edx, ax
jmp 0x4654cf
xor edi, edi
xor ebp, ebp
jmp 0x465409
call fcn.004b8390
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x60], ecx
mov ecx, 0x4c14a0
mov edi, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x38], eax
call fcn.0042bb30
mov ebx, dword [esp + 0xe0]
mov edx, dword [ebx + 0x6c]
mov ecx, dword [edx + 4]
cmp eax, dword [edx + 8]
jae 0x465812
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x465812
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4c84e4
mov dword [esp + 4], 0x4c81dc
mov dword [esp], eax
call fcn.004b6d10
test eax, eax
je 0x465812
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x30]
mov ebx, dword [eax + 0x2c]
mov esi, dword [eax + 0x54]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x40]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x44]
mov dword [esp + 0x58], ebx
mov ebx, dword [eax + 0x34]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [eax + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], edi
xor di, di
mov dword [esp + 8], ebp
mov dword [esp], eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x74], 0
mov dword [esp + 0x18], 7
call fcn.00468a50
sub esp, 0x24
mov ecx, eax
movzx ebx, dx
mov eax, edx
mov dword [esp + 0x6c], edx
mov edx, edi
mov edi, ecx
or edx, ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
test ebx, ebx
jne 0x4657a0
mov ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0x70]
mov dword [ebx + 0x18], esi
cmp ax, 0xffff
sete bl
test ecx, ecx
setne al
and al, bl
mov esi, eax
jne 0x4657c8
cmp word [esp + 0x38], 0xffff
sete al
mov ecx, eax
test ebp, ebp
je 0x46577f
test al, al
jne 0x4657b0
cmp cl, bl
jne 0x46578d
mov eax, dword [esp + 0xe4]
or dword [eax], 2
add esp, 0xbc
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov esi, dword [esp + 0xe4]
or dword [esi], 4
jmp 0x46575a
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jae 0x465800
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x46577f
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x4657e8
movzx eax, word [eax]
xor ebx, ebx
cmp ax, 0xffff
jne 0x46576c
mov ebx, esi
xor edi, edi
jmp 0x46576c
mov eax, dword [ecx]
mov dword [esp + 0x3c], edx
call dword [eax + 0x24]
mov edx, dword [esp + 0x3c]
jmp 0x4657d3
mov eax, dword [ebp]
mov dword [esp + 0x38], edx
mov ecx, ebp
call dword [eax + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x4657bb
call fcn.004b8390
nop
nop
nop
nop
nop
nop
nop
nop
nop