Function at 0x438060
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 0x438058
cmp bx, 0xffff
sete byte [esp + 0x1f]
cmp di, 0xffff
sete al
mov edx, eax
test esi, esi
je 0x437e57
test al, al
jne 0x43804f
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 0x437f30
movzx ebx, byte [esp + 0x1f]
cmp ebp, dword [esp + 0x6c]
jae 0x437f60
cmp bl, dl
je 0x437f60
test esi, esi
je 0x437e98
cmp byte [esp + 0x2e], 0
jne 0x437fa0
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 0x437f60
lea edx, [edi + edi*4]
movsx eax, al
lea edi, [eax + edx*2 - 0x30]
cmp edi, dword [esp + 0x68]
jg 0x437f7a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jae 0x437fc0
add eax, 2
add ebp, 1
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
jae 0x437fd6
movzx eax, word [eax]
mov word [esp + 0x2c], ax
cmp word [esp + 0x2c], 0xffff
je 0x437ff0
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 0x437e72
lea esi, [esi]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x438028
movzx eax, word [eax]
cmp ax, 0xffff
je 0x438018
xor ebx, ebx
cmp ebp, dword [esp + 0x6c]
jb 0x437e81
lea esi, [esi]
test ebp, ebp
setne dl
cmp dword [esp + 0x64], edi
setle al
test dl, al
je 0x437f7a
cmp dword [esp + 0x68], edi
jge 0x438008
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 0x438040
movzx edx, word [eax]
xor eax, eax
cmp dx, 0xffff
cmove esi, eax
jmp 0x437e9d
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 0x437ef5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov word [esp + 0x2c], ax
cmp word [esp + 0x2c], 0xffff
jne 0x437f09
nop
mov byte [esp + 0x2e], 1
mov edx, 1
xor esi, esi
jmp 0x437e5f
mov eax, dword [esp + 0x60]
mov dword [eax], edi
jmp 0x437f81
mov dword [esp + 0x20], 0
jmp 0x437e77
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x2f], dl
mov eax, dword [ecx]
call dword [eax + 0x24]
movzx edx, byte [esp + 0x2f]
jmp 0x437f43
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
movzx edx, ax
jmp 0x437faf
xor edi, edi
xor ebp, ebp
jmp 0x437ee9
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 0x4382f2
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x4382f2
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 0x4382f2
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.0043b7d0
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 0x438280
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 0x4382a8
cmp word [esp + 0x38], 0xffff
sete al
mov ecx, eax
test ebp, ebp
je 0x43825f
test al, al
jne 0x438290
cmp cl, bl
jne 0x43826d
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 0x43823a
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jae 0x4382e0
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x43825f
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x4382c8
movzx eax, word [eax]
xor ebx, ebx
cmp ax, 0xffff
jne 0x43824c
mov ebx, esi
xor edi, edi
jmp 0x43824c
mov eax, dword [ecx]
mov dword [esp + 0x3c], edx
call dword [eax + 0x24]
mov edx, dword [esp + 0x3c]
jmp 0x4382b3
mov eax, dword [ebp]
mov dword [esp + 0x38], edx
mov ecx, ebp
call dword [eax + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x43829b
call fcn.004b8390
nop
nop
nop
nop
nop
nop
nop
nop
nop