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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x43fe49
sub esp, 0x94
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
jmp 0x43f1f2
call fcn.0043e670
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
mov dword [esp], ecx
call fcn.00448b50
mov eax, dword [esp + 4]
mov ecx, dword [0x6f23b0]
test ecx, ecx
je 0x43f21c
call fcn.0043ef70
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
mov dword [esp + 0x88], eax
test byte [eax], al
mov ecx, dword [eax + 0x1178]
test ecx, ecx
je 0x43f23b
call fcn.0043d9c0
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00441040
movzx eax, byte [0x7178d0]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], esi
test al, al
je 0x43f2c3
movzx eax, byte [0x7178d1]
test al, al
je 0x43f2c3
call fcn.004180d0
mov eax, dword [esp]
test eax, eax
je 0x43f2af
mov dword [esp + 4], 0
mov byte [esp + 8], 1
call fcn.0043c200
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x3c]
mov eax, dword [0x6e96dc]
mov eax, dword [eax]
test eax, eax
je 0x43f2df
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00464b00
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.00446d50
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 8]
test eax, eax
jne 0x43fddb
mov eax, dword [0x6f2378]
test eax, eax
je 0x43f356
lea eax, [0x6f2338]
mov dword [esp], eax
call fcn.0040b080
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00446420
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
lea ecx, [0x6f2338]
mov dword [esp], ecx
call fcn.0040b280
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x43fdc5
call fcn.00432770
movzx eax, byte [esp]
test al, al
jne 0x43f367
xor ecx, ecx
jmp 0x43f3a3
lea eax, [0x7179d0]
mov dword [esp], eax
call fcn.00402d90
mov eax, dword [esp + 4]
test eax, eax
ja 0x43f381
xor ecx, ecx
jmp 0x43f3a3
lea eax, [0x6f2328]
mov dword [esp], eax
call fcn.00402fd0
mov eax, dword [esp + 4]
test eax, eax
setne al
mov ecx, dword [esp + 8]
test ecx, ecx
setne cl
or ecx, eax
test cl, cl
je 0x43f3dc
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00433370
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00447460
movzx eax, byte [esp + 4]
test al, al
je 0x43fd50
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
mov edx, dword [0x7179a8]
movzx ecx, byte [ecx + 0x84]
test cl, cl
je 0x43f3fe
mov ecx, 1
jmp 0x43f442
mov dword [esp + 0x64], edx
lea eax, [0x6f236c]
mov dword [esp], eax
call fcn.00402d90
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea ecx, [0x6f2368]
mov dword [esp], ecx
call fcn.00402d90
mov eax, dword [esp + 0x60]
shl eax, 1
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 4]
cmp ecx, eax
seta al
mov ecx, eax
mov eax, dword [esp + 0x8c]
test cl, cl
je 0x43f52a
mov ecx, dword [eax + 0x18]
movzx edx, byte [ecx + 0x84]
test dl, dl
jne 0x43f475
mov byte [ecx + 0x84], 1
lea eax, [0x6f236c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00402ee0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.0043ff70
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0x20]
movzx edx, byte [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
test eax, eax
jne 0x43fb0a
test cl, cl
je 0x43f4c7
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
mov dword [esp + 0x44], edi
test ebp, ebp
setne al
test ebx, ebx
setne cl
or ecx, eax
test cl, cl
je 0x43f516
mov eax, dword [esp + 0x38]
test eax, eax
sete cl
mov edx, dword [esp + 0x34]
test edx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x43f520
cmp ebx, eax
setl cl
cmp ebp, edx
xchg edi, ebx
setb bl
xchg edi, ebx
cmp ebx, eax
sete al
and eax, edi
or eax, ecx
test al, al
jne 0x43f520
jmp 0x43f51a
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov ebp, edx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
jmp 0x43f53a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov edx, dword [0x71799c]
test edx, edx
jne 0x43f558
xor edx, edx
jmp 0x43f57e
mov eax, dword [esp + 0x88]
mov dword [esp], eax
call fcn.0041b630
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov edx, eax
mov eax, dword [esp + 0x44]
test dl, dl
je 0x43f5ac
lea eax, [0x717a60]
mov dword [esp], eax
call fcn.0040ae50
mov eax, dword [esp + 4]
test eax, eax
jne 0x43fcdb
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
call fcn.0040b9a0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
test eax, eax
jne 0x43fc7d
test cl, cl
je 0x43f5e1
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
mov eax, dword [0x6efbf8]
mov dword [esp + 0x84], eax
mov ecx, dword [0x6efbfc]
mov dword [esp + 0x58], ecx
mov edx, dword [0x6efc00]
mov dword [esp + 0x5c], edx
mov ebx, dword [0x6efc28]
mov dword [esp + 0x6c], ebx
mov ebp, dword [0x6efc2c]
mov dword [esp + 0x50], ebp
mov esi, dword [0x6efc30]
mov dword [esp + 0x54], esi
mov edi, dword [0x6efc48]
mov dword [esp + 0x68], edi
mov edi, dword [0x6efc4c]
mov dword [esp + 0x2c], edi
mov edi, dword [0x6efc50]
mov dword [esp + 0x30], edi
lea edi, [0x6f2338]
mov dword [esp], edi
call fcn.0040b080
mov eax, dword [0x6f23b0]
test eax, eax
jne 0x43f667
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x1178]
test ecx, ecx
je 0x43f681
lea eax, [0x6f2338]
mov dword [esp], eax
call fcn.0040b280
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
mov ecx, dword [0x6f2378]
test ecx, ecx
jne 0x43fc3d
call fcn.00444600
mov eax, dword [esp + 0x88]
cmp dword [esp], eax
jne 0x43fe32
mov dword [esp], eax
call fcn.00446700
lea eax, [0x6f2338]
mov dword [esp], eax
call fcn.0040b280
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
movzx edx, byte [ecx + 0x84]
mov byte [esp + 0x2b], dl
test dl, dl
jne 0x43f6e0
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
jmp 0x43f7e6
mov byte [ecx + 0x84], 0
lea eax, [0x6f236c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.00402ee0
mov eax, dword [esp + 8]
test eax, eax
jl 0x43fe1c
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
call fcn.00440400
mov eax, dword [esp + 0x18]
test eax, eax
je 0x43f783
mov dword [esp], eax
call fcn.00444440
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x84], 1
lea ecx, [0x6f236c]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00402ee0
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
call fcn.00440600
mov eax, dword [esp]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x43fb94
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
call fcn.004404e0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], esi
call fcn.00432770
movzx eax, byte [esp]
test al, al
jne 0x43f807
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
xor ecx, ecx
jmp 0x43f873
lea eax, [0x7179d0]
mov dword [esp], eax
call fcn.00402d90
mov eax, dword [esp + 4]
test eax, eax
ja 0x43f835
mov eax, dword [esp + 0x34]
test eax, eax
setne cl
mov edx, dword [esp + 0x3c]
test edx, edx
setne bl
or ebx, ecx
test bl, bl
je 0x43f871
lea eax, [0x6f2328]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00402f60
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x10]
test ecx, ecx
setne cl
or ecx, eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
jmp 0x43f873
xor ecx, ecx
test cl, cl
jne 0x43f8fb
test eax, eax
setne cl
test edx, edx
setne bl
or ebx, ecx
test bl, bl
jne 0x43f88f
xor ecx, ecx
jmp 0x43f8a2
call fcn.00432770
movzx eax, byte [esp]
mov edx, dword [esp + 0x3c]
mov ecx, eax
mov eax, dword [esp + 0x34]
test cl, cl
je 0x43f1e6
lea eax, [0x6f2330]
mov dword [esp], eax
call fcn.00402fd0
mov eax, dword [esp + 4]
test eax, eax
sete cl
mov edx, dword [esp + 8]
test edx, edx
sete bl
and ebx, ecx
test bl, bl
jne 0x43f8f1
mov ecx, dword [esp + 0x34]
cmp ecx, eax
setb al
mov ecx, dword [esp + 0x3c]
cmp ecx, edx
sete cl
setl dl
and ecx, eax
or edx, ecx
test dl, dl
je 0x43f1e6
call fcn.00433270
jmp 0x43f1e6
lea ecx, [0x6f2330]
mov dword [esp], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.00402ff0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x54]
test edx, edx
jne 0x43fe06
movzx ecx, byte [ecx + 0x84]
test cl, cl
jne 0x43fdf0
mov ecx, dword [esp + 0x3c]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x34]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or edx, ebp
test dl, dl
je 0x43f9a0
mov edx, dword [esp + 0x40]
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x44]
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x43f992
call fcn.00457d00
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x34]
mov esi, eax
mov edx, ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x3c]
sub ebx, edx
sbb ecx, esi
test ecx, ecx
jge 0x43f9aa
xor ecx, ecx
xor ebx, ebx
jmp 0x43f9aa
mov ecx, 0xffffffff
mov ebx, 0xffffffff
mov edx, dword [0x717a5c]
test edx, edx
setne dl
mov ebp, dword [0x717a58]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x43f9d0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00433370
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea eax, [0x6f2330]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00402ff0
call fcn.00457d00
mov eax, dword [esp + 4]
mov ecx, dword [esp]
lea edx, [0x6f2328]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00402ff0
mov eax, dword [0x717a58]
test eax, eax
setne al
mov ecx, dword [0x717a5c]
test ecx, ecx
setne cl
or ecx, eax
test cl, cl
jne 0x43fa44
xor eax, eax
jmp 0x43fa55
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00447460
movzx eax, byte [esp + 4]
test al, al
je 0x43fa6a
call fcn.0043e670
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
lea eax, [0x6f2338]
mov dword [esp], eax
call fcn.0040b080
call fcn.004467d0
mov eax, dword [esp]
mov dword [esp + 0x88], eax
lea ecx, [0x6f2338]
mov dword [esp], ecx
call fcn.0040b280
mov eax, dword [esp + 0x88]
test eax, eax
je 0x43faf9
mov dword [esp], eax
call fcn.00444440
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00447460
movzx eax, byte [esp + 4]
test al, al
je 0x43fb1f
movzx eax, byte [esp + 0x2b]
test al, al
je 0x43faed
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x84], 1
lea ecx, [0x6f236c]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00402ee0
mov eax, dword [esp + 0x8c]
jmp 0x43f1f2
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00440900
jmp 0x43f1e6
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], dl
add esp, 0x94
ret
lea eax, [esp + 0x48]
mov dword [esp], eax
call fcn.00447530
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x48]
mov dword [esp], ecx
call fcn.00440900
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0043c6b0
movzx eax, byte [0x6fbf88]
test al, al
je 0x43fb7a
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004596f0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], ecx
call fcn.00444440
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x18]
mov byte [eax + 0x84], 1
lea eax, [0x6f236c]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00402ee0
mov eax, dword [esp + 0x88]
mov dword [eax + 0x948], 3
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0043c6b0
movzx eax, byte [0x6fbf88]
test al, al
je 0x43fc20
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004596f0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00446420
mov eax, dword [esp + 8]
mov dword [esp + 0x74], eax
lea ecx, [0x6f2338]
mov dword [esp], ecx
call fcn.0040b280
mov eax, dword [esp + 0x74]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov dword [esp + 0x90], eax
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0043c6b0
movzx eax, byte [0x6fbf88]
test al, al
je 0x43fcbe
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004596f0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x948], 3
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00448ae0
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0043c6b0
movzx eax, byte [0x6fbf88]
test al, al
je 0x43fd36
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004596f0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00447530
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
lea ecx, [esp + 0x4c]
mov dword [esp], ecx
call fcn.00440900
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.0043c6b0
movzx eax, byte [0x6fbf88]
test al, al
je 0x43fdab
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.004596f0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], 0
add esp, 0x94
ret
mov dword [esp + 0x98], eax
mov byte [esp + 0x9c], cl
add esp, 0x94
ret
lea eax, [0x5dc073]
mov dword [esp], eax
mov dword [esp + 4], 0x23
call fcn.004382f0
lea eax, [0x5d94b7]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.004382f0
lea eax, [0x5db651]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.004382f0
lea eax, [0x5d5dc4]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.004382f0
nop
call fcn.00463a70
jmp fcn.0043f1b0