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

Disassembly:
sub esp, 0x510
mov dword [esp + 0x40], ecx
lea ecx, [esp]
call fcn.00439c40
push 8
lea ecx, [esp + 4]
call fcn.00438750
test eax, eax
je 0x438fd7
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0x4a3b58]
add ecx, eax
mov dword [ecx], edx
mov eax, dword [0x4a3b5c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc]
add eax, 8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x51c]
push ebx
push ebp
push esi
test eax, eax
push edi
je 0x4399db
mov esi, dword [esp + 0x524]
mov ebp, dword [esp + 0x528]
lea ecx, [esp + 0x58]
lea edx, [esp + 0xd0]
push ecx
push edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 0
mov dword [esp + 0x7c], 6
mov dword [esp + 0x74], ebp
call fcn.00435a90
lea eax, [esp + 0xd8]
push 1
push eax
call fcn.00453cf0
mov al, byte [esp + 0x1a8]
add esp, 0x10
test al, al
je 0x439071
lea ecx, [esp + 0xd0]
push ecx
call fcn.00453ce0
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x439c1c
push eax
call fcn.00416560
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x510
ret 0xc
mov eax, dword [esp + 0xe8]
lea edi, [eax + eax*4]
mov eax, dword [esp + 0xec]
shl edi, 2
lea ebx, [eax + eax*4]
mov dword [esp + 0x34], edi
shl ebx, 2
cmp edi, 0xe100
mov dword [esp + 0x38], ebx
jle 0x4390a4
mov edi, 0xe100
mov dword [esp + 0x34], edi
cmp ebx, 0xe100
jle 0x4390b5
mov ebx, 0xe100
mov dword [esp + 0x38], ebx
lea edx, [esp + 0xd0]
push edx
call fcn.00453ce0
xor eax, eax
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], eax
cmp ebx, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], 8
mov eax, ebx
jge 0x4390eb
neg eax
push eax
push 0
lea ecx, [esp + 0x18]
call fcn.0043a1d0
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.0043a1d0
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a1d0
push eax
lea ecx, [esp + 0x14]
call fcn.0043a1a0
mov edi, eax
inc edi
cmp edi, 0xf
jge 0x43912c
mov edi, 0xf
push 5
push edi
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov edx, dword [esp + 0x3c]
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov eax, dword [esp + 0x40]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov ecx, dword [esp + 0x44]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov edx, dword [esp + 0x48]
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
lea ecx, [esp + 0x10]
call fcn.0043a1f0
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4391b2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + edx], 0xc
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4391e7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [eax + ecx], 1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + edx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], 0x15
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], 1
call fcn.004387f0
push 0
lea ecx, [esp + 0x14]
call fcn.004388a0
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x43924a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [ecx + edx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x43927f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0xd9
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4392b4
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0xd8
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push ebp
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4392e5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, ebp
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
add eax, ebp
jmp 0x4392e9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov esi, eax
mov edx, ecx
neg edx
sbb edx, edx
and edx, 4
add edx, 2
sub eax, edx
mov edx, dword [esp + 0x28]
sub eax, edx
mov dword [esp + 0x1c], edx
test ecx, ecx
mov edi, eax
je 0x43932c
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x10]
shl eax, 6
or al, 0x3f
push eax
call fcn.004387f0
push edi
lea ecx, [esp + 0x14]
call fcn.004388a0
jmp 0x43933f
mov ecx, dword [esp + 0x24]
shl ecx, 6
or ecx, edi
push ecx
lea ecx, [esp + 0x14]
call fcn.004387f0
push 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], 1
call fcn.004387f0
push 0
lea ecx, [esp + 0x14]
call fcn.004388a0
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4393a2
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], 8
test eax, eax
mov dword [esp + 0x14], 0
jge 0x4393bc
neg eax
mov edx, dword [esp + 0x44]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.0043a1d0
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.0043a1d0
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a1d0
push eax
lea ecx, [esp + 0x14]
call fcn.0043a1a0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x439400
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov edx, dword [esp + 0x3c]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov eax, dword [esp + 0x40]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov ecx, dword [esp + 0x44]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov edx, dword [esp + 0x48]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
lea ecx, [esp + 0x10]
call fcn.0043a1f0
push 1
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x439475
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [eax + ecx], 2
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x439499
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4394ce
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [ecx + edx], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0xff
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0x40
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 5
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 1
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x439542
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x439577
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [ecx + edx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax + ecx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0x40
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 5
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 0
lea ecx, [esp + 0x14]
call fcn.00439d10
push 1
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x4395eb
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [edx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.00438750
test eax, eax
je 0x43960f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [ecx + edx], 0x20
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x34]
mov edx, 2
cmp ecx, ebx
mov eax, 0x14
mov dword [esp + 0x10], edx
jg 0x439627
mov ecx, ebx
xor ebp, ebp
test ecx, 0xfffffff0
je 0x43963f
shr ecx, 4
add ebp, 4
test ecx, 0xfffffff0
jne 0x439631
test ecx, ecx
je 0x43964a
shr ecx, 1
inc ebp
test ecx, ecx
jne 0x439643
inc ebp
mov edi, 5
mov esi, ebp
mov ecx, 3
and esi, 0x1f
mov ebx, esi
sub edi, edx
sar ebx, cl
lea ecx, [esp + 0x10]
or eax, ebx
push eax
mov dword [esp + 0x18], eax
call fcn.00439d10
mov ecx, 0x20
or ebx, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebx, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebx
test ecx, ecx
jg 0x43965a
neg ecx
shl esi, cl
sub edx, edi
mov edi, ebp
test ebp, ebp
mov dword [esp + 0x10], edx
mov eax, esi
jle 0x439704
mov ebx, dword [esp + 0x34]
mov ecx, 0x20
sub ecx, ebp
or esi, 0xffffffff
shr esi, cl
mov ecx, ebp
sub ecx, edx
and esi, ebx
test ecx, ecx
jle 0x4396f6
mov ebx, esi
sub edi, edx
sar ebx, cl
lea ecx, [esp + 0x10]
or eax, ebx
push eax
mov dword [esp + 0x18], eax
call fcn.00439d10
mov ecx, 0x20
or ebx, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebx, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebx
test ecx, ecx
jg 0x4396bc
mov ebx, dword [esp + 0x34]
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
jmp 0x439708
mov ebx, dword [esp + 0x34]
test ebp, ebp
mov edi, ebp
jle 0x43976a
mov ecx, 0x20
or esi, 0xffffffff
sub ecx, ebp
sub ebp, edx
shr esi, cl
mov ecx, dword [esp + 0x38]
and esi, ecx
mov ecx, ebp
test ecx, ecx
jle 0x43975e
mov ebp, esi
sub edi, edx
sar ebp, cl
lea ecx, [esp + 0x10]
or eax, ebp
push eax
mov dword [esp + 0x18], eax
call fcn.00439d10
mov ecx, 0x20
or ebp, 0xffffffff
sub ecx, edi
xor eax, eax
shr ebp, cl
lea ecx, [edi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and esi, ebp
test ecx, ecx
jg 0x439728
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
mov esi, 2
mov ecx, esi
mov edi, esi
sub ecx, edx
test ecx, ecx
jle 0x4397af
mov ebp, edi
sub esi, edx
sar ebp, cl
lea ecx, [esp + 0x10]
or eax, ebp
push eax
mov dword [esp + 0x18], eax
call fcn.00439d10
mov ecx, 0x20
or ebp, 0xffffffff
sub ecx, esi
xor eax, eax
shr ebp, cl
lea ecx, [esi - 8]
mov edx, 8
mov dword [esp + 0x10], edx
and edi, ebp
test ecx, ecx
jg 0x439779
neg ecx
shl edi, cl
sub edx, esi
push 1
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edx
or eax, edi
mov edi, ebx
mov dword [esp + 0x1c], eax
neg edi
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
test edi, edi
mov eax, edi
jge 0x4397e5
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0043a1a0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea eax, [esi - 2]
push eax
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov esi, dword [esp + 0x38]
push 1
push 1
lea ecx, [esp + 0x18]
neg esi
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
test esi, esi
mov eax, esi
jge 0x43984e
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0043a1a0
mov ebp, eax
push 4
inc ebp
lea ecx, [ebp - 2]
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
test ebx, ebx
jl 0x4398af
mov edi, ebx
push edi
lea ecx, [esp + 0x14]
call fcn.0043a1a0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea edx, [esi - 2]
push edx
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push esi
push ebx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov esi, dword [esp + 0x38]
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.0043a6a0
push 6
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
lea ecx, [esp + 0x10]
call fcn.0043a1f0
lea ecx, [esp + 0x10]
call fcn.00439f20
push 0
push 0x1a
lea ecx, [esp + 0x18]
call fcn.00439db0
push 2
lea ecx, [esp + 0x14]
call fcn.00439d10
push 1
lea ecx, [esp + 0x14]
call fcn.004387f0
push 2
lea ecx, [esp + 0x14]
call fcn.004387f0
push 1
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], 0
call fcn.0043a2a0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 5
push 0x10
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov eax, ebx
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0043a2a0
mov eax, esi
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0043a2a0
lea ecx, [esp + 0x10]
call fcn.0043a1f0
lea ecx, [esp + 0x10]
call fcn.00439f20
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.00439db0
lea ecx, [esp + 0x10]
call fcn.00439f20
jmp 0x439bee
lea ecx, [esp + 0x78]
call fcn.00491ec0
mov ebp, dword [esp + 0x528]
mov ebx, dword [esp + 0x524]
cmp ebp, 4
mov edi, ebp
mov esi, ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x34], ebp
jb 0x439a4b
xor eax, eax
xor ecx, ecx
mov ah, byte [esi]
mov cl, byte [esi + 2]
mov al, byte [esi + 1]
xor edx, edx
mov dl, byte [esi + 3]
shl eax, 8
or eax, ecx
lea ecx, [esp + 0x78]
shl eax, 8
or eax, edx
push eax
call fcn.00491f10
test eax, eax
jne 0x439a3d
sub edi, 4
add esi, 4
cmp edi, 4
jae 0x439a07
jmp 0x439a4b
mov eax, esi
sub eax, ebx
sub ebp, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
xor ebp, ebp
cmp edi, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], ecx
jb 0x439ac8
xor edx, edx
xor eax, eax
mov dh, byte [esi]
mov al, byte [esi + 2]
mov dl, byte [esi + 1]
xor ecx, ecx
mov cl, byte [esi + 3]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
lea ecx, [esp + 0x78]
push edx
call fcn.00491f10
test eax, eax
je 0x439ac8
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x78]
cdq
and edx, 7
add eax, edx
mov edx, 0xfffffffc
sar eax, 3
sub eax, 4
sub edx, eax
lea esi, [esi + eax + 4]
add edi, edx
call fcn.00492020
add ebp, eax
cmp edi, 4
jae 0x439a6f
mov eax, 0x14
xor esi, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x10]
push eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
call fcn.0043a3e0
push 0xc00
lea ecx, [esp + 0x14]
call fcn.004387f0
push 1
lea ecx, [esp + 0x14]
call fcn.004387f0
push 1
push 0xe
lea ecx, [esp + 0x18]
call fcn.00439db0
push 1
lea ecx, [esp + 0x14]
call fcn.004387f0
push 4
push 2
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], esi
call fcn.0043a2a0
mov ecx, ebx
mov eax, 3
dec ecx
je 0x439b5b
dec ecx
jne 0x439b72
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x439b54
dec ecx
je 0x439b6d
dec ecx
jne 0x439b72
jmp 0x439b72
mov eax, 1
jmp 0x439b72
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x439b6d
dec ecx
jne 0x439b72
mov eax, 3
jmp 0x439b72
mov eax, 2
push 2
push eax
lea ecx, [esp + 0x18]
call fcn.0043a2a0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043a2a0
mov edx, dword [esp + 0x54]
xor ecx, ecx
cmp edx, 1
push 1
setne cl
push ecx
lea ecx, [esp + 0x18]
call fcn.0043a2a0
lea ecx, [esp + 0x10]
call fcn.0043a1f0
push ebp
lea ecx, [esp + 0x14]
call fcn.004388a0
push esi
lea ecx, [esp + 0x14]
call fcn.004387f0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x524]
mov edx, dword [esp + 0x34]
add eax, ecx
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.00439c60
lea ecx, [esp + 0x10]
call fcn.00439f20
lea ecx, [esp + 0x78]
call fcn.00491f00
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x20], 4
call fcn.004388a0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
push esi
push edx
call fcn.0043b2d0
lea ecx, [esp + 0x10]
call fcn.00439c30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x510
ret 0xc