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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov esi, dword [edi + 4]
mov eax, dword [edi + 8]
xor ebp, ebp
cmp esi, eax
jae 0x43c662
mov edi, edi
push eax
lea eax, [esp + 0x50]
push esi
push eax
call fcn.0043bac0
mov edx, dword [esp + 0x60]
mov esi, eax
mov eax, dword [esp + 0x5c]
add esp, 0xc
mov dword [esp + 0x20], esi
mov ecx, eax
cmp eax, edx
jae 0x43c657
push edx
push ecx
lea ecx, [esp + 0x68]
push ecx
call fcn.0043bac0
mov esi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push esi
mov dword [esp + 0x2c], eax
push edx
lea eax, [esp + 0x38]
push eax
call fcn.0043bac0
push esi
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.0043bac0
add esp, 0x24
cmp dword [esp + 0x34], 0
jne case.0x43c48a.7
movzx ecx, byte [esp + 0x31]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x43c48a.7
movzx edx, byte [eax + 0x43c6a0]
jmp dword [edx*4 + 0x43c678]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
je 0x43c2fc
xor eax, eax
mov edi, eax
jmp 0x43c3ca
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x43c30b
mov eax, str.FALSE
push eax
call dword [0x46d00c]
add esp, 4
mov edi, eax
jmp 0x43c3ca
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.0043bc90
mov edi, eax
jmp 0x43c3ca
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
inc eax
cmp eax, ebx
jbe 0x43c34e
xor eax, eax
mov edi, eax
jmp 0x43c3ca
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.0043bc30
mov edi, eax
jmp 0x43c3ca
push 0x468eca
call dword [0x46d00c]
add esp, 4
mov edi, eax
jmp 0x43c3ca
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
push 1
push edx
call fcn.0043c020
add esp, 8
mov edi, eax
jmp 0x43c3ca
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
call fcn.0043c1b0
mov edi, eax
jmp 0x43c3ca
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
push eax
call fcn.0043c0a0
add esp, 4
mov edi, eax
jmp 0x43c3ca
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x30]
call fcn.0043bce0
xor ecx, ecx
add esp, 8
test eax, eax
setl cl
dec ecx
and ecx, dword [esp + 0x10]
mov edi, ecx
test edi, edi
je case.0x43c48a.7
test ebp, ebp
je 0x43c42a
movsx edx, byte [edi]
push edx
mov esi, edi
call fcn.004475f9
add esp, 4
test eax, eax
je 0x43c3fa
movsx eax, byte [esi + 1]
inc esi
push eax
call fcn.004475f9
add esp, 4
test eax, eax
jne 0x43c3e8
cmp byte [esi], 0
jne 0x43c40b
sub esi, edi
cmp esi, 2
mov eax, 0x45c9b0
jle 0x43c410
mov eax, 0x45ca3c
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebp, ebx
jae 0x43c421
mov cl, byte [eax]
mov byte [esi + ebp], cl
inc eax
inc ebp
cmp byte [eax], 0
jne 0x43c418
jmp 0x43c432
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp byte [edi], 0
mov eax, edi
je 0x43c450
lea esp, [esp]
cmp ebp, ebx
jae 0x43c449
mov dl, byte [eax]
mov byte [esi + ebp], dl
inc eax
inc ebp
cmp byte [eax], 0
jne 0x43c440
push edi
call dword [0x46d004]
add esp, 4
cmp ebp, ebx
jae 0x43c462
mov byte [esi + ebp], 0x3d
inc ebp
cmp dword [esp + 0x48], 0
mov dword [esp + 0x14], ebp
jne case.0x43c48a.7
movzx ecx, byte [esp + 0x45]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x43c48a.7
movzx eax, byte [eax + 0x43c6e8]
jmp dword [eax*4 + 0x43c6c0]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
sub ecx, eax
cmp ecx, 1
je 0x43c4a7
xor eax, eax
jmp 0x43c60f
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x43c4b6
mov eax, str.FALSE
push eax
call dword [0x46d00c]
add esp, 4
jmp 0x43c60f
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, ebx
xor ecx, ecx
sub edx, eax
jne 0x43c4dc
xor eax, eax
jmp 0x43c60f
cmp edx, 4
jbe 0x43c4eb
call fcn.0043bc30
jmp 0x43c60f
test byte [eax], 0x80
je 0x43c4f3
or ecx, 0xffffffff
movzx edx, byte [eax]
shl ecx, 8
inc eax
or ecx, edx
cmp eax, ebx
jb 0x43c4f3
mov eax, 0x468eca
cmp ecx, 9
jbe 0x43c50f
mov eax, 0x466398
push ecx
push eax
push str._s_lx
call fcn.0041c610
add esp, 0xc
jmp 0x43c60f
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
inc eax
cmp eax, ebx
jbe 0x43c53f
xor eax, eax
jmp 0x43c60f
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.0043bc30
jmp 0x43c60f
push 0x468eca
call dword [0x46d00c]
add esp, 4
jmp 0x43c60f
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
xor edi, edi
cmp ebx, ebp
jae 0x43c5c1
push ebp
push ebx
push 0xffffffffffffffff
push edi
call fcn.0043bee0
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x43c5c1
lea eax, [esi + 1]
push eax
call dword [section..data]
mov edi, eax
add esp, 4
test edi, edi
je 0x43c5c1
push ebp
push ebx
push esi
push edi
call fcn.0043bee0
add esp, 0x10
mov byte [esi + edi], 0
call fcn.0043bbd0
mov esi, eax
test esi, esi
je 0x43c5c1
push edi
call dword [0x46d004]
mov ecx, dword [esi + 4]
push ecx
call dword [0x46d00c]
add esp, 8
mov edi, eax
mov ebp, dword [esp + 0x14]
mov eax, edi
jmp 0x43c60f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
call fcn.0043c1b0
jmp 0x43c60f
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
push edx
call fcn.0043c0a0
add esp, 4
jmp 0x43c60f
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x1c]
push edx
call fcn.0043bce0
xor ecx, ecx
add esp, 8
test eax, eax
setl cl
dec ecx
and ecx, dword [esp + 0x18]
mov eax, ecx
test eax, eax
je case.0x43c48a.7
cmp byte [eax], 0
mov ecx, eax
je 0x43c632
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ebp, edi
jae 0x43c62b
mov dl, byte [ecx]
mov byte [esi + ebp], dl
inc ecx
inc ebp
cmp byte [ecx], 0
jne 0x43c622
push eax
call dword [0x46d004]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
add esp, 4
cmp ecx, edx
jb 0x43c287
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x80]
mov eax, dword [edi + 8]
cmp esi, eax
jb 0x43c260
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x64
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x64
ret