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

Disassembly:
push ebx
sub esp, 0x18
call fcn.00438560
mov ebx, dword [esp + 0x20]
sub ebx, 0x20
add dword [eax + 4], 1
mov eax, dword [esp + 0x24]
mov dword [ebx - 0x40], 1
mov dword [ebx - 0x30], eax
mov eax, dword [esp + 0x28]
mov dword [ebx - 0x2c], eax
mov eax, dword [fcn.004378d0]
mov dword [ebx - 0x28], eax
mov eax, dword [0x43fcc8]
mov dword [ebx], 0x432b2b00
mov dword [ebx + 4], 0x474e5543
mov dword [ebx + 8], 0x431ea0
mov dword [ebx - 0x24], eax
mov dword [esp], ebx
call fcn.0042adf0
mov dword [esp], ebx
call fcn.00437fb0
call fcn.004378d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x54], 0x438ae0
mov dword [esp + 0x58], 0x439fe0
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x60], 0x439037
mov dword [esp + 0x64], esp
call fcn.0042abf0
cmp dword [esp + 0xc0], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x20], 3
je 0x438b70
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.0042ac90
mov eax, dword [esp + 0x20]
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x18], 1
add eax, 0xbcd4d500
adc edx, 0xb8b1aabc
cmp edx, 0
jbe 0x438c70
cmp byte [esp + 0x18], 0
jne 0x438c83
cmp dword [esp + 0xc4], 6
jne 0x438c83
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0xc]
cmp eax, 1
mov dword [esp + 0x2c], eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
test byte [esp + 0xc4], 8
je 0x438df0
cmp eax, 1
je 0x439043
mov edx, dword [esp + 0x24]
test edx, edx
js 0x439048
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], 0
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0042ad20
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0042ad20
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0042ad80
mov dword [esp + 0x20], 7
jmp 0x438b55
cmp eax, 1
seta byte [esp + 0x18]
cmp byte [esp + 0x18], 0
je 0x438b9c
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp], eax
call fcn.0042ada0
test eax, eax
mov dword [esp + 0x30], eax
je 0x438e70
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x88]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
call fcn.00431cf0
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x9c]
call fcn.00431e40
mov dword [esp + 0x90], eax
lea eax, [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0042ad50
cmp dword [esp + 0x7c], 1
mov esi, eax
sbb esi, 0
test esi, esi
js 0x438e70
je 0x438e7d
mov eax, dword [esp + 0x20]
xor ebp, ebp
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or ebp, edx
test bl, bl
js 0x438d20
xor edi, edi
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x438d40
sub esi, 1
jne 0x438d17
lea eax, [ebp + 1]
test edi, edi
mov dword [esp + 0x2c], eax
jne 0x438e8f
cmp dword [esp + 0x2c], 0
je 0x438e70
mov eax, 2
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
test byte [esp + 0xc4], 1
je 0x438bdf
cmp eax, 2
je 0x438e70
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], 6
jne 0x438b55
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0x24]
mov dword [eax - 0x18], esi
mov esi, dword [esp + 0x28]
mov dword [eax - 0x14], esi
mov esi, dword [esp + 0x30]
mov dword [eax - 0x10], esi
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x78]
mov dword [esi - 8], eax
mov eax, esi
mov esi, dword [esp + 0x2c]
mov dword [eax - 0xc], esi
jmp 0x438b55
cmp byte [esp + 0x18], 0
jne 0x438bed
cmp eax, 1
je 0x439028
mov eax, dword [esp + 0x24]
test eax, eax
jns 0x438c02
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x88]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
call fcn.00431cf0
mov edx, dword [esp + 0xd4]
movzx eax, byte [esp + 0x9c]
call fcn.00431e40
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x9c]
call fcn.00431e40
mov esi, dword [esp + 0xd0]
mov dword [esi - 0xc], eax
jmp 0x438c02
mov dword [esp + 0x20], 8
jmp 0x438b55
mov dword [esp + 0x2c], 0
mov eax, 1
jmp 0x438d7b
mov eax, dword [esp + 0x98]
lea eax, [eax + edi - 1]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
test edi, edi
je 0x438e70
test eax, eax
je 0x438d76
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], 0x44a414
and eax, 8
mov dword [esp + 0x38], eax
jne 0x438ef9
cmp byte [esp + 0x18], 0
mov dword [esp + 0x24], 0x44a428
jne 0x438ef9
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0xd0]
add eax, 0x20
test byte [esi], 1
je 0x438eee
mov eax, dword [esi - 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [eax - 0x50]
mov dword [esp + 0x24], eax
mov byte [esp + 0x37], 0
jmp 0x438f41
jle 0x438f74
lea eax, [esp + 0x88]
mov dword [esp + 0x40], 0xffffffff
call fcn.00431c20
test eax, eax
je 0x438fbc
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x439012
mov eax, dword [esp + 0x84]
test eax, eax
je 0x438ff5
add eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x80]
call fcn.00431ba0
lea edx, [esp + 0x84]
mov dword [esp + 0x20], eax
call fcn.00431ba0
mov edx, dword [esp + 0x80]
cmp edx, 0
jne 0x438f00
mov byte [esp + 0x37], 1
jmp 0x438f2a
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x438f8b
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x438f8b
cmp byte [esp + 0x18], 0
je 0x438fd1
not edx
xor esi, esi
add edx, dword [esp + 0x94]
xor ecx, ecx
add edx, 1
movzx ebx, byte [edx - 1]
mov eax, ebx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test bl, bl
js 0x438f98
test esi, esi
sete al
test al, al
je 0x438f2a
mov eax, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, 3
jmp 0x438d8b
mov dword [esp], edx
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x88]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], 0xffffffff
call fcn.00431dd0
xor eax, 1
jmp 0x438fb4
cmp byte [esp + 0x37], 0
je 0x438e70
mov dword [esp + 0x24], 0
mov eax, 2
jmp 0x438d8b
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x78]
call fcn.00431c90
test al, al
jne 0x438fbc
jmp 0x438f2a
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00438020
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00437fb0
call fcn.004378d0
mov dword [esp + 0x40], 1
call fcn.00436a00
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x43b250]
test eax, eax
jne 0x439070
ret
sub esp, 0x1c
mov dword [esp], 0x43fce0
call fcn.0042b320
add esp, 0x1c
ret