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

Disassembly:
sub esp, 0x4e0
mov dword [esp + 0x44], ecx
lea ecx, [esp]
call fcn.0043bd70
push 8
lea ecx, [esp + 4]
call fcn.0043a820
test eax, eax
je 0x43b117
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [0x4afbb0]
add ecx, eax
mov dword [ecx], edx
mov eax, dword [0x4afbb4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xc]
add eax, 8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4ec]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
je 0x43bb1f
mov ecx, dword [esp + 0x4f4]
mov ebp, dword [esp + 0x4f8]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x98]
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], 6
mov dword [esp + 0x94], htons
mov dword [esp + 0x88], ebp
call fcn.00462900
lea edx, [esp + 0x74]
lea ecx, [esp + 0x98]
push edx
call fcn.00462930
test al, al
lea ecx, [esp + 0x98]
je 0x43b197
call fcn.00462970
test al, al
lea ecx, [esp + 0x98]
je 0x43b1be
call fcn.00462920
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x43bd4b
push eax
call fcn.00417900
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc
call fcn.00462990
cmp eax, 0xb40
jl 0x43b1cf
mov eax, 0xb40
lea edi, [eax + eax*4]
lea ecx, [esp + 0x98]
shl edi, 2
mov dword [esp + 0x34], edi
call fcn.004629a0
cmp eax, 0xb40
jl 0x43b1f1
mov eax, 0xb40
lea ebx, [eax + eax*4]
lea ecx, [esp + 0x98]
shl ebx, 2
mov dword [esp + 0x38], ebx
call fcn.00462920
cmp ebx, esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], esi
mov eax, ebx
jge 0x43b22b
neg eax
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.0043c300
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.0043c300
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0043c300
push eax
lea ecx, [esp + 0x14]
call fcn.0043c2d0
mov edi, eax
inc edi
cmp edi, 0xf
jge 0x43b26b
mov edi, 0xf
push 5
push edi
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov edx, dword [esp + 0x3c]
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov eax, dword [esp + 0x40]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov ecx, dword [esp + 0x44]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov edx, dword [esp + 0x48]
push edi
push edx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
lea ecx, [esp + 0x10]
call fcn.0043c320
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b2f1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [edx + eax], 0xc
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b326
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 1
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [edx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], 0x15
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], 1
call fcn.0043a8c0
push esi
lea ecx, [esp + 0x14]
call fcn.0043a970
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b387
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b3bc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0xd9
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b3f1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0xd8
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push ebp
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b429
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x4f4]
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 0x43b42d
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 0x43b470
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x10]
shl eax, 6
or al, 0x3f
push eax
call fcn.0043a8c0
push edi
lea ecx, [esp + 0x14]
call fcn.0043a970
jmp 0x43b483
mov ecx, dword [esp + 0x24]
shl ecx, 6
or ecx, edi
push ecx
lea ecx, [esp + 0x14]
call fcn.0043a8c0
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.0043a8c0
push 0
lea ecx, [esp + 0x14]
call fcn.0043a970
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b4e6
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 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 0x43b500
neg eax
mov edx, dword [esp + 0x44]
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.0043c300
push eax
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x18]
call fcn.0043c300
mov ecx, dword [esp + 0x3c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0043c300
push eax
lea ecx, [esp + 0x14]
call fcn.0043c2d0
mov esi, eax
inc esi
cmp esi, 0xf
jge 0x43b544
mov esi, 0xf
push 5
push esi
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov edx, dword [esp + 0x3c]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov eax, dword [esp + 0x40]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov ecx, dword [esp + 0x44]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov edx, dword [esp + 0x48]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
lea ecx, [esp + 0x10]
call fcn.0043c320
push 1
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b5b9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax], 2
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b5dd
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b612
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0xff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0xff
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0x40
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 5
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 1
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b686
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0x41
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 2
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b6bb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x1c], eax
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 0xd9
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0x40
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 5
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 0
lea ecx, [esp + 0x14]
call fcn.0043be40
push 1
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b72f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [eax + edx], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
push 1
lea ecx, [esp + 0x14]
call fcn.0043a820
test eax, eax
je 0x43b753
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 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 0x43b76b
mov ecx, ebx
xor ebp, ebp
test ecx, 0xfffffff0
je 0x43b783
shr ecx, 4
add ebp, 4
test ecx, 0xfffffff0
jne 0x43b775
test ecx, ecx
je 0x43b78e
shr ecx, 1
inc ebp
test ecx, ecx
jne 0x43b787
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.0043be40
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 0x43b79e
neg ecx
shl esi, cl
sub edx, edi
mov edi, ebp
test ebp, ebp
mov dword [esp + 0x10], edx
mov eax, esi
jle 0x43b848
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 0x43b83a
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.0043be40
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 0x43b800
mov ebx, dword [esp + 0x34]
neg ecx
shl esi, cl
or eax, esi
sub edx, edi
mov dword [esp + 0x10], edx
jmp 0x43b84c
mov ebx, dword [esp + 0x34]
test ebp, ebp
mov edi, ebp
jle 0x43b8ae
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 0x43b8a2
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.0043be40
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 0x43b86c
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 0x43b8f3
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.0043be40
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 0x43b8bd
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.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
test edi, edi
mov eax, edi
jge 0x43b929
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0043c2d0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea eax, [esi - 2]
push eax
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov esi, dword [esp + 0x38]
push 1
push 1
lea ecx, [esp + 0x18]
neg esi
call fcn.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
test esi, esi
mov eax, esi
jge 0x43b992
neg eax
push eax
lea ecx, [esp + 0x14]
call fcn.0043c2d0
mov ebp, eax
push 4
inc ebp
lea ecx, [ebp - 2]
push ecx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push ebp
push esi
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
test ebx, ebx
jl 0x43b9f3
mov edi, ebx
push edi
lea ecx, [esp + 0x14]
call fcn.0043c2d0
mov esi, eax
push 4
inc esi
lea ecx, [esp + 0x14]
lea edx, [esi - 2]
push edx
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push esi
push ebx
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov esi, dword [esp + 0x38]
push 1
push esi
lea ecx, [esp + 0x18]
call fcn.0043c7d0
push 6
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
lea ecx, [esp + 0x10]
call fcn.0043c320
lea ecx, [esp + 0x10]
call fcn.0043c050
push 0
push 0x1a
lea ecx, [esp + 0x18]
call fcn.0043bee0
push 2
lea ecx, [esp + 0x14]
call fcn.0043be40
push 1
lea ecx, [esp + 0x14]
call fcn.0043a8c0
push 2
lea ecx, [esp + 0x14]
call fcn.0043a8c0
push 1
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], 0
call fcn.0043c3d0
push 1
push 0
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 5
push 0x10
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov eax, ebx
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0043c3d0
mov eax, esi
push 0x10
cdq
sub eax, edx
lea ecx, [esp + 0x14]
sar eax, 1
neg eax
push eax
call fcn.0043c3d0
lea ecx, [esp + 0x10]
call fcn.0043c320
lea ecx, [esp + 0x10]
call fcn.0043c050
push 0
push 1
lea ecx, [esp + 0x18]
call fcn.0043bee0
lea ecx, [esp + 0x10]
call fcn.0043c050
jmp 0x43bd1d
lea ecx, [esp + 0x34]
call fcn.0049c280
mov ebp, dword [esp + 0x4f8]
mov ebx, dword [esp + 0x4f4]
cmp ebp, 4
mov esi, ebp
mov edi, ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], ebp
jb 0x43bba1
cmp byte [edi], 0xff
jne 0x43bb8a
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x34]
push eax
push edi
call fcn.0049c440
test eax, eax
je 0x43bb8a
mov eax, dword [esp + 0x5c]
shr eax, 3
cmp eax, esi
je 0x43bb93
lea ecx, [eax + 4]
cmp ecx, esi
ja 0x43bb8a
lea edx, [esp + 0x74]
add eax, edi
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.0049c440
test eax, eax
jne 0x43bb93
inc edi
dec esi
cmp esi, 4
jb 0x43bba1
jmp 0x43bb4b
mov eax, edi
sub eax, ebx
sub ebp, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
xor ebp, ebp
cmp esi, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], ecx
jb 0x43bbf7
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x34]
push edx
push edi
call fcn.0049c440
test eax, eax
je 0x43bbf7
mov eax, dword [esp + 0x5c]
mov ecx, 0xfffffffc
cdq
and edx, 7
add eax, edx
sar eax, 3
sub eax, 4
sub ecx, eax
add esi, ecx
mov ecx, dword [esp + 0x60]
add ebp, ecx
cmp esi, 4
lea edi, [edi + eax + 4]
jae 0x43bbbc
lea edx, [esp + 0x3c]
xor esi, esi
mov eax, 0x14
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
call fcn.0043c510
push 0xc00
lea ecx, [esp + 0x14]
call fcn.0043a8c0
push 1
lea ecx, [esp + 0x14]
call fcn.0043a8c0
push 1
push 0xe
lea ecx, [esp + 0x18]
call fcn.0043bee0
push 1
lea ecx, [esp + 0x14]
call fcn.0043a8c0
push 4
push 2
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 8
mov dword [esp + 0x1c], esi
call fcn.0043c3d0
mov ecx, ebx
mov eax, 3
dec ecx
je 0x43bc8a
dec ecx
jne 0x43bca1
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x43bc83
dec ecx
je 0x43bc9c
dec ecx
jne 0x43bca1
jmp 0x43bca1
mov eax, 1
jmp 0x43bca1
mov ecx, dword [esp + 0x38]
sub ecx, esi
je 0x43bc9c
dec ecx
jne 0x43bca1
mov eax, 3
jmp 0x43bca1
mov eax, 2
push 2
push eax
lea ecx, [esp + 0x18]
call fcn.0043c3d0
push 1
push 1
lea ecx, [esp + 0x18]
call fcn.0043c3d0
mov edx, dword [esp + 0x58]
xor eax, eax
cmp edx, 1
push 1
setne al
push eax
lea ecx, [esp + 0x18]
call fcn.0043c3d0
lea ecx, [esp + 0x10]
call fcn.0043c320
push ebp
lea ecx, [esp + 0x14]
call fcn.0043a970
push esi
lea ecx, [esp + 0x14]
call fcn.0043a8c0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4f4]
mov ecx, dword [esp + 0x4c]
add edx, eax
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.0043bd90
lea ecx, [esp + 0x10]
call fcn.0043c050
lea ecx, [esp + 0x34]
call fcn.0049c2c0
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push esi
mov dword [esp + 0x20], 4
call fcn.0043a970
mov ecx, dword [esp + 0x18]
push esi
push ecx
mov ecx, dword [esp + 0x5c]
call fcn.0043d570
lea ecx, [esp + 0x10]
call fcn.0043bd60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4e0
ret 0xc