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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x65c
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x658], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edx + 8], 8
push ebx
sete al
xor ecx, ecx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov bl, byte [edi]
test eax, eax
setne cl
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], 3
mov dword [esp + 0x30], eax
mov dword [esi], 0
add ecx, 1
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x43c541
mov eax, 3
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x658]
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
cmp bl, 0x52
jne 0x43c59f
cmp ecx, 3
jbe 0x43c6e7
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add edi, edx
push edi
push esi
call fcn.00472920
add esp, 8
cmp eax, 1
mov dword [esp + 0x1c], eax
jg 0x43c586
mov eax, dword [esi]
push 0
push eax
call fcn.00469100
add esp, 8
mov dword [esi], eax
mov esi, eax
mov eax, dword [esp + 0x14]
call fcn.00468650
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x658]
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
cmp bl, 0x49
jne 0x43c5d1
cmp ecx, 3
jbe 0x43c6e7
mov ecx, dword [esp + 0x24]
add edi, ecx
push edi
push esi
mov eax, edx
call fcn.00472920
add esp, 8
cmp eax, 1
mov dword [esp + 0x1c], eax
jg 0x43c586
mov edi, dword [esi]
call fcn.0043e8b0
jmp 0x43c579
cmp bl, 0x40
jne 0x43c61a
cmp ecx, 2
jne 0x43c6e7
test eax, eax
je 0x43c5e9
movzx eax, word [edi + 2]
jmp 0x43c5ed
movsx eax, byte [edi + 1]
push 0
add eax, 0xffffffd0
push 0x43bd50
push eax
mov eax, dword [edx + 0x14]
call fcn.0043c310
add esp, 0xc
test eax, eax
mov dword [esi], eax
je 0x43c586
mov dword [esp + 0x1c], 0
jmp 0x43c57b
cmp bl, 0x54
jne 0x43c6e7
test eax, eax
je 0x43c62c
mov bl, byte [edi + 2]
jmp 0x43c62f
mov bl, byte [edi + 1]
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 0xb4]
test eax, eax
jne 0x43c640
xor edx, edx
jmp 0x43c64f
mov ecx, dword [0x691ca8]
movzx edx, word [eax + ecx + 2]
lea eax, [eax + ecx + 4]
cmp bl, 0x41
jne 0x43c527
movzx ecx, dx
add ecx, ecx
add ecx, ecx
cmp ecx, 0x20
jb 0x43c527
fld qword [eax + 0x10]
mov edi, dword [eax + 0x18]
push 0
fstp qword [esp + 0x44]
push 0x100
lea edx, [esp + 0x48]
lea ecx, [esp + 0x68]
call fcn.00476960
lea ecx, [esp + 0x68]
call fcn.004c7180
mov edx, 0x100
sub edx, eax
push edx
lea eax, [esp + eax*2 + 0x6c]
push eax
add edi, 0xd
push edi
push 7
call fcn.0051a1e0
lea ecx, [esp + 0x78]
call fcn.004c7180
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x7c]
push ecx
call fcn.004756a0
mov dword [esi], eax
add esp, 0x20
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
mov dword [esp + 0x1c], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x658]
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
movsx esi, bl
push esi
call fcn.005d008f
add esp, 4
test eax, eax
jne 0x43c71e
cmp bl, 0x2b
je 0x43c71e
cmp bl, 0x4c
je 0x43c71e
cmp bl, 0x58
je 0x43c71e
cmp bl, 0x59
je 0x43c71e
cmp bl, 0x64
je 0x43c71e
cmp bl, 0x72
je 0x43c71e
cmp bl, 0x4e
jne 0x43c586
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x14]
test ebx, ebx
mov byte [esp + 0x13], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], ebx
je 0x43c527
push esi
call fcn.005d008f
mov esi, dword [esp + 0x34]
add esp, 4
test eax, eax
jne 0x43c7a7
test esi, esi
je 0x43c75b
mov al, byte [edi]
mov byte [esp + 0x13], al
jmp 0x43c761
mov cl, byte [edi]
mov byte [esp + 0x13], cl
mov ecx, dword [esp + 0x24]
sub dword [ebp + 0x10], 1
add edi, ecx
cmp byte [esp + 0x13], 0x4c
jne 0x43c7a7
test esi, esi
je 0x43c77b
movzx eax, word [edi]
jmp 0x43c77e
movsx eax, byte [edi]
movzx edx, word [0x6b367c]
cmp eax, edx
jne 0x43c7a7
test esi, esi
je 0x43c793
movzx eax, word [edi + 2]
jmp 0x43c797
movsx eax, byte [edi + 1]
add eax, 0xffffff9f
sub dword [ebp + 0x10], 2
mov dword [esp + 0x38], eax
lea eax, [edi + ecx*2]
mov edi, eax
cmp dword [ebp + 0x10], 0
jbe 0x43c586
mov eax, dword [ebx + 0xac]
lea ecx, [esp + 0x20]
call fcn.004cd170
mov eax, 9
cmp word [esp + 0x20], ax
jbe 0x43c7d0
mov dword [esp + 0x20], eax
sub dword [ebp + 0x10], 1
test esi, esi
je 0x43c7dd
movzx eax, word [edi]
jmp 0x43c7e0
movsx eax, byte [edi]
add edi, dword [esp + 0x24]
add eax, 0xffffffd0
movzx eax, ax
test ax, ax
mov dword [esp + 0x2c], edi
mov edi, dword [0x691ca8]
jne 0x43c7fd
mov esi, ebx
jmp 0x43c82f
cmp ax, word [esp + 0x20]
ja 0x43c527
add eax, 0xffffffff
movzx ecx, ax
mov eax, dword [ebx + 0xac]
test eax, eax
jne 0x43c81c
xor esi, esi
jmp 0x43c82f
add eax, edi
cmp cx, word [eax + 2]
jb 0x43c828
xor esi, esi
jmp 0x43c82f
movzx ecx, cx
mov esi, dword [eax + ecx*4 + 4]
mov bl, byte [esp + 0x13]
cmp bl, 0x64
je 0x43c841
cmp bl, 0x72
jne 0x43c8fb
mov ecx, dword [esi + 0x10]
mov eax, ecx
cmp eax, 0x4d
jge 0x43c871
cmp eax, 0x36
jle 0x43c85f
lea edx, [eax + eax*2]
mov eax, dword [edx*8 + 0x62e39c]
cmp eax, 0x36
jg 0x43c850
xor edx, edx
cmp eax, 0x36
sete dl
mov eax, edx
test eax, eax
jne 0x43cc19
mov eax, ecx
cmp eax, 0x4d
jge 0x43c527
cmp eax, 0x37
jle 0x43c890
lea eax, [eax + eax*2]
mov eax, dword [eax*8 + 0x62e39c]
cmp eax, 0x37
jg 0x43c881
xor ecx, ecx
cmp eax, 0x37
sete cl
mov eax, ecx
test eax, eax
je 0x43c527
cmp dword [esi], 0x56
mov edi, dword [esi + 0x100]
jne 0x43cc1f
test edi, edi
je 0x43c8be
cmp edi, 1
jne 0x43cc1f
mov eax, dword [esi + 0xac]
mov ecx, 1
call fcn.004cd1b0
test edi, edi
mov edi, dword [0x691ca8]
mov esi, eax
jne 0x43c8eb
cmp bl, 0x64
setne dl
add dl, 0x58
mov byte [esp + 0x13], dl
mov bl, dl
jmp 0x43c905
cmp bl, 0x64
sete al
add al, 0x58
mov byte [esp + 0x13], al
mov bl, al
jmp 0x43c905
cmp bl, 0x59
je 0x43c905
cmp bl, 0x58
jne 0x43c971
mov eax, dword [esi + 0xe0]
cmp eax, 0xffffffff
je 0x43c922
mov ecx, dword [0x690c9c]
cmp eax, dword [ecx + 0x5c0]
jl 0x43cc6f
cmp dword [esi], 0x45
jne 0x43c527
mov esi, dword [esi + 0xac]
test esi, esi
jne 0x43c939
xor eax, eax
jmp 0x43c949
cmp word [esi + edi + 2], 0
ja 0x43c945
xor eax, eax
jmp 0x43c949
mov eax, dword [esi + edi + 4]
xor edx, edx
cmp bl, 0x58
sete dl
cmp dword [eax + 0x160], edx
jne 0x43c95d
mov esi, eax
jmp 0x43c971
test esi, esi
je 0x43c971
cmp word [esi + edi + 2], 1
ja 0x43c96d
xor esi, esi
jmp 0x43c971
mov esi, dword [esi + edi + 8]
cmp bl, 0x2b
jne 0x43ca65
cmp dword [esi + 0x154], 0
jne 0x43c99e
mov eax, dword [esp + 0x14]
push 0x635378
mov esi, 3
call fcn.00475660
add esp, 4
jmp 0x43cbe1
mov eax, dword [esi + 0x150]
cmp eax, 4
je 0x43c9c8
lea edi, [esp + 0x460]
push 0x100
mov edx, edi
push edx
add eax, 0x20
push eax
push 0xe
call fcn.0051a1e0
add esp, 0x10
jmp 0x43c9ca
xor edi, edi
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x174]
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x4c]
push edx
mov edx, dword [esi + 0x170]
lea eax, [esp + 0x44]
push eax
push 0
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 0x178]
push 0
lea eax, [edx + ecx*2 - 2]
push 0
push eax
mov dword [esp + 0x6c], 0x43bd20
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], edi
call fcn.0043d430
add esp, 0x18
test eax, eax
je 0x43cbe1
push 0
push eax
call fcn.00469100
add esp, 8
test eax, eax
je 0x43cbe1
mov edx, dword [esp + 0x14]
test edx, edx
je 0x43cbe1
mov dword [eax + 0x18], edx
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x43ca54
mov dword [edx + 4], eax
jmp 0x43cbe1
mov edx, ecx
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x43ca54
mov dword [edx + 8], eax
jmp 0x43cbe1
cmp bl, 0x4e
jne 0x43cbb8
xor eax, eax
xor ebx, ebx
cmp dword [esi + 0xc], 0xb
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], eax
jne 0x43c527
mov ecx, dword [esi + 0x150]
cmp ecx, 4
jne 0x43ca9f
lea edx, [esp + 0x260]
mov dword [esp + 0x1c], edx
jmp 0x43cb36
cmp dword [esi + 0x168], eax
je 0x43cabd
mov eax, 1
lea edx, [esp + 0x260]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], edx
jmp 0x43cac2
mov ebx, 1
mov edi, ebx
neg edi
sbb edi, edi
lea edx, [esp + 0x60]
and edi, edx
neg eax
sbb eax, eax
and eax, edx
mov dword [esp + 0x1c], edx
call fcn.0041ac00
test ebx, ebx
je 0x43cb2f
cmp dword [esi], 0x5a
jne 0x43cb2f
mov ebx, esi
jmp 0x43caf0
push str.__e
mov ecx, 0x100
lea edi, [esp + 0x64]
call fcn.004c7350
mov eax, dword [ebx + 0xac]
add esp, 4
test eax, eax
jne 0x43cb14
xor ebx, ebx
jmp 0x43cb2a
mov ecx, dword [0x691ca8]
cmp word [eax + ecx + 2], 0
ja 0x43cb26
xor ebx, ebx
jmp 0x43cb2a
mov ebx, dword [eax + ecx + 4]
cmp dword [ebx], 0x5a
je 0x43caf0
cmp dword [esp + 0x28], 0
je 0x43cb5b
lea eax, [esp + 0x28]
push eax
push 2
push esi
call fcn.0045b140
mov edx, eax
add esp, 0xc
mov ecx, 0x100
lea eax, [esp + 0x260]
call fcn.004c72a0
jmp 0x43cb67
mov eax, 2
mov ecx, esi
call fcn.0045b120
mov ecx, dword [esp + 0x14]
push 0
push ecx
push 0
call fcn.00467260
mov edx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
mov dword [edx], eax
je 0x43cbe7
push eax
call fcn.0049c6d0
mov ebx, dword [eax + 0xc]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
push 0
call fcn.0043dcd0
add esp, 8
test eax, eax
jne 0x43cbe7
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
push eax
call fcn.00467450
add esp, 4
mov dword [esi], 0
jmp 0x43cbe7
cmp bl, 0x4c
jne 0x43cbc3
mov eax, dword [esp + 0x38]
jmp 0x43cbc6
or eax, 0xffffffff
mov edx, dword [esp + 0x14]
xor ecx, ecx
cmp dword [0x69121c], ecx
setg cl
push ecx
push eax
push edx
push esi
call fcn.0043b630
add esp, 0x10
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
test eax, eax
je 0x43cc7e
cmp dword [ebp + 0x10], 0
je 0x43cc98
push eax
call fcn.00467450
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
add esp, 4
jmp 0x43c7d0
mov edi, dword [esi + 0x150]
call fcn.0049c6d0
xor ecx, ecx
cmp bl, 0x64
setne cl
lea edx, [ecx + edi*2]
mov ecx, dword [edx*4 + 0x62ed9c]
mov eax, dword [eax + 0xc]
mov edi, dword [esp + 0x18]
push eax
call fcn.0043c420
mov ebx, eax
add esp, 4
cmp ebx, 1
jg 0x43cc58
mov esi, dword [edi]
mov eax, dword [esp + 0x14]
call fcn.00468650
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x658]
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
call fcn.0049c6d0
xor ecx, ecx
cmp bl, 0x59
sete cl
jmp 0x43cc36
mov eax, 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x658]
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x664]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.005ce60a
mov esp, ebp
pop ebp
ret