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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x43d3b4
sub esp, 0x84
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0044c9b8
mov ecx, dword [esp + 0x88]
jmp 0x43ce70
mov edx, dword [esp + 0x88]
mov ecx, edx
mov edx, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
lea ebx, [ecx + 0xc]
mov dword [esp + 0x60], ebx
cmp edx, 2
jge 0x43d38f
mov ebp, dword [ecx + 4]
mov eax, ebx
mov ebx, dword [ecx + 8]
mov edi, edx
mov edx, dword [ecx]
test ebp, ebp
je 0x43d24d
mov esi, dword [edx]
dec ebp
mov dword [ecx + 4], ebp
dec ebx
mov dword [ecx + 8], ebx
mov ebp, dword [0x9ec0a0]
neg ebx
sar ebx, 0x1f
and ebx, 4
add edx, ebx
test ebp, ebp
jne 0x43d23f
mov dword [ecx], edx
mov dword [esp + 0x20], esi
mov dword [esp], esi
call fcn.0043e0e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
nop
test ecx, ecx
jne 0x43cfff
mov ecx, dword [0x9da41c]
test ecx, ecx
je 0x43ce67
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.0043d3c0
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 8]
lea ebx, [ecx + edx]
mov dword [esp + 0x40], ebx
mov ebp, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 4]
cmp ebx, ebp
ja 0x43cfb0
cmp ecx, ebx
ja 0x43d3ad
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x5c], esi
lea ebx, [0x6538a0]
mov dword [esp], ebx
sub ebp, ecx
mov dword [esp + 0x38], ebp
shl ecx, 5
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
lea ecx, [esi + ebp]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
call fcn.0040f7f0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x88]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x14], eax
mov eax, dword [0x9ec0a0]
test eax, eax
jne 0x43cf98
mov ecx, dword [esp + 0x5c]
mov dword [edi + 0xc], ecx
jmp 0x43ce67
mov eax, edi
mov edi, dword [esp + 0x60]
mov ecx, eax
mov eax, dword [esp + 0x5c]
call fcn.0044c8c0
mov edi, ecx
jmp 0x43ce67
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], edx
lea eax, [0x6538a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b20
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
jmp 0x43cf1c
nop
nop
nop
mov edx, dword [ecx]
test edx, edx
jne 0x43d00b
mov edx, dword [ecx + 4]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x20]
cmp ebx, edx
jbe 0x43d018
dec ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0043e6c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov byte [esp + 0xc], 0
call fcn.0043e7f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
nop
mov ebx, dword [esp + 0x50]
cmp byte [ebx + 0x23], 2
ja 0x43d22b
xor ebp, ebp
mov dword [esp + 0x2c], ecx
test ebp, ebp
jne 0x43d192
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x24], esi
lea edi, [esp + 0x64]
lea esi, [0x6deba0]
call fcn.0044ce80
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x10]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0x14]
mov eax, ecx
mov ecx, dword [ecx + 0xc]
cmp ebx, ebp
ja 0x43d13b
lea ebx, [edx + 1]
mov dword [eax + 0x10], ebx
shl edx, 5
lea edi, [ecx + edx]
mov ecx, dword [0x9ec0a0]
test ecx, ecx
jne 0x43d115
lea esi, [esp + 0x64]
call fcn.0044ce80
jmp 0x43ce67
lea eax, [0x6538a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
call fcn.0040f5b0
mov eax, dword [esp + 0x88]
jmp 0x43ce67
lea eax, [0x6538a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438b20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x88]
mov dword [ebx + 0x14], edx
mov edx, dword [0x9ec0a0]
test edx, edx
jne 0x43d187
mov dword [ebx + 0xc], eax
mov edx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x43d0f1
mov edi, dword [esp + 0x60]
call fcn.0044c8c0
jmp 0x43d17c
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
call fcn.0043eb00
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x43d1f1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
mov ebx, edx
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
jmp 0x43d092
cmp eax, 0x100000
jae 0x43d3a6
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4 + 0xc]
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043e750
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
xor edx, edx
jmp 0x43d1da
lea ebp, [ebx + 0x23]
mov esi, dword [ebx + 0x1c]
lea ebp, [ebp + esi*4 + 9]
nop
mov ebp, dword [ebp]
nop
jmp 0x43d07e
mov edi, ecx
mov eax, edx
call fcn.0044c8c0
jmp 0x43cebe
test edi, edi
jne 0x43d267
mov eax, dword [ecx + 0x10]
test eax, eax
setg al
mov byte [esp + 0xac], al
add esp, 0x84
ret
cmp edi, 1
jne 0x43d2aa
lea edi, [esp + 0x8c]
call fcn.0044ce80
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 2
mov edx, dword [0x9ec0a0]
lea ebx, [ecx + 0x18]
test edx, edx
jne 0x43d29f
mov dword [ecx + 0xc], ebx
jmp 0x43d251
mov edi, eax
mov eax, ebx
call fcn.0044c8c0
jmp 0x43d251
cmp edi, 2
jne 0x43d33c
lea edi, [esp + 0x8c]
call fcn.0044ce80
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0xc]
cmp dword [ecx + 0x10], 1
jbe 0x43d39f
mov ebx, dword [0x9ec0a0]
lea edi, [ecx + 0x18]
lea esi, [edx + 0x20]
test ebx, ebx
jne 0x43d320
call fcn.0044ce80
mov ecx, dword [esp + 0x88]
mov dword [ecx + 0x10], 1
mov dword [ecx + 0x14], 2
mov edx, dword [0x9ec0a0]
lea ebx, [ecx + 0x18]
test edx, edx
jne 0x43d312
mov dword [ecx + 0xc], ebx
jmp 0x43d251
mov edi, eax
mov eax, ebx
call fcn.0044c8c0
jmp 0x43d251
lea eax, [0x6538a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0040f5b0
mov eax, dword [esp + 0x60]
jmp 0x43d2e8
lea edi, [esp + 0x8c]
call fcn.0044ce80
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0xc]
cmp ebx, 1
jb 0x43d398
dec ebx
mov dword [ecx + 0x10], ebx
dec edx
mov dword [ecx + 0x14], edx
mov ebx, dword [0x9ec0a0]
neg edx
sar edx, 0x1f
and edx, 0x20
add edx, ebp
test ebx, ebx
jne 0x43d381
mov dword [ecx + 0xc], edx
jmp 0x43d251
mov edi, eax
mov eax, edx
call fcn.0044c8c0
jmp 0x43d251
mov eax, ebx
mov edi, edx
jmp 0x43d24d
call fcn.00426ff0
ud2
call fcn.00426ef0
ud2
call fcn.00426ef0
ud2
call fcn.00426ff0
ud2
call fcn.0044b170
jmp fcn.0043ce30