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

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0xb0
cmp byte [ecx + 0x35], 0
push ebx
push ebp
push esi
push edi
jne 0x43a67e
mov ebx, dword [ecx]
mov byte [ecx + 0x35], 1
cmp dword [ebx + 0x768], 0
je 0x43a18a
mov eax, dword [ebx + 0x7f8]
cmp eax, 0x23
je 0x43a67e
test eax, eax
jne 0x43a18a
mov eax, dword [ebx + 0x82c]
cmp dword [eax + 0x24], 0x32
je 0x43a67e
xor eax, eax
mov ebp, dword [ecx + 4]
xor esi, esi
cmp dword [ebp + 0x5564], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
jle 0x43a4be
mov eax, ebp
mov ecx, dword [eax + 0x5564]
lea edx, [ebp + 0x6b4]
xor edi, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
lea ebx, [ebx]
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x43a4a4
cmp eax, 1
je 0x43a2e3
cmp eax, 0x13
jne 0x43a2b9
cmp dword [ebx + 0x768], 0
je 0x43a2e3
mov ecx, dword [ebx + 0x7f8]
cmp ecx, 0x2f
je 0x43a2c7
test ecx, ecx
jne 0x43a2e3
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x43a2c7
jmp 0x43a2e3
cmp eax, 0xd
jne 0x43a2c7
cmp dword [ebx + 0x7f8], 0x1c
jne 0x43a2e3
jmp 0x651150
lea ecx, [esp + eax*4 + 0x38]
add esi, 1
cmp eax, 0x14
je 0x43a2dd
cmp eax, 0xd
jne 0x43a2e3
mov dword [ecx], 1
lea eax, [edi + edx]
mov eax, dword [ebp + eax*4 + 0x6b8]
cmp eax, 0xffffffff
je 0x43a4a4
cmp eax, 1
je 0x43a350
cmp eax, 0x13
jne 0x43a326
cmp dword [ebx + 0x768], 0
je 0x43a350
mov ecx, dword [ebx + 0x7f8]
cmp ecx, 0x2f
je 0x43a334
test ecx, ecx
jne 0x43a350
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x43a334
jmp 0x43a350
cmp eax, 0xd
jne 0x43a334
cmp dword [ebx + 0x7f8], 0x1c
jne 0x43a350
jmp 0x651170
lea ecx, [esp + eax*4 + 0x38]
add esi, 1
cmp eax, 0x14
je 0x43a34a
cmp eax, 0xd
jne 0x43a350
mov dword [ecx], 1
lea eax, [edi + edx]
mov eax, dword [ebp + eax*4 + 0x6bc]
cmp eax, 0xffffffff
je 0x43a4a4
cmp eax, 1
je 0x43a3bd
cmp eax, 0x13
jne 0x43a393
cmp dword [ebx + 0x768], 0
je 0x43a3bd
mov ecx, dword [ebx + 0x7f8]
cmp ecx, 0x2f
je 0x43a3a1
test ecx, ecx
jne 0x43a3bd
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x43a3a1
jmp 0x43a3bd
cmp eax, 0xd
jne 0x43a3a1
cmp dword [ebx + 0x7f8], 0x1c
jne 0x43a3bd
jmp 0x651190
lea ecx, [esp + eax*4 + 0x38]
add esi, 1
cmp eax, 0x14
je 0x43a3b7
cmp eax, 0xd
jne 0x43a3bd
mov dword [ecx], 1
lea eax, [edi + edx]
mov eax, dword [ebp + eax*4 + 0x6c0]
cmp eax, 0xffffffff
je 0x43a4a4
cmp eax, 1
je 0x43a42a
cmp eax, 0x13
jne 0x43a400
cmp dword [ebx + 0x768], 0
je 0x43a42a
mov ecx, dword [ebx + 0x7f8]
cmp ecx, 0x2f
je 0x43a40e
test ecx, ecx
jne 0x43a42a
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x43a40e
jmp 0x43a42a
cmp eax, 0xd
jne 0x43a40e
cmp dword [ebx + 0x7f8], 0x1c
jne 0x43a42a
jmp 0x6511b0
lea ecx, [esp + eax*4 + 0x38]
add esi, 1
cmp eax, 0x14
je 0x43a424
cmp eax, 0xd
jne 0x43a42a
mov dword [ecx], 1
lea eax, [edi + edx]
mov eax, dword [ebp + eax*4 + 0x6c4]
cmp eax, 0xffffffff
je 0x43a4a4
cmp eax, 1
je 0x43a493
cmp eax, 0x13
jne 0x43a469
cmp dword [ebx + 0x768], 0
je 0x43a493
mov ecx, dword [ebx + 0x7f8]
cmp ecx, 0x2f
je 0x43a477
test ecx, ecx
jne 0x43a493
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], 0x28
je 0x43a477
jmp 0x43a493
cmp eax, 0xd
jne 0x43a477
cmp dword [ebx + 0x7f8], 0x1c
jne 0x43a493
jmp 0x6511d0
lea ecx, [esp + eax*4 + 0x38]
add esi, 1
cmp eax, 0x14
je 0x43a48d
cmp eax, 0xd
jne 0x43a493
mov dword [ecx], 1
add dword [esp + 0x14], 0x14
add edx, 5
cmp edx, 0x32
jl 0x43a27a
add dword [esp + 0x18], 0xc8
add edi, 0x32
sub dword [esp + 0x10], 1
jne 0x43a270
mov dword [esp + 0x10], esi
mov edi, dword [ebx + 0x7f8]
cmp edi, 0x1f
jne 0x43a538
xor eax, eax
lea esi, [ebp + 0x57d5]
cmp eax, 0x13
je 0x43a4ee
cmp byte [esi - 1], 0
je 0x43a4ee
mov ecx, dword [esp + eax*4 + 0x38]
cmp ecx, 1
jg 0x43a4ea
mov ecx, 1
mov dword [esp + eax*4 + 0x38], ecx
lea edx, [eax + 2]
lea ecx, [edx - 1]
cmp ecx, 0x13
je 0x43a510
cmp byte [esi], 0
je 0x43a510
mov ecx, dword [esp + eax*4 + 0x3c]
cmp ecx, 1
jg 0x43a50c
mov ecx, 1
mov dword [esp + eax*4 + 0x3c], ecx
cmp edx, 0x13
je 0x43a52d
cmp byte [esi + 1], 0
je 0x43a52d
mov ecx, dword [esp + eax*4 + 0x40]
cmp ecx, 1
jg 0x43a529
mov ecx, 1
mov dword [esp + eax*4 + 0x40], ecx
add eax, 3
add esi, 3
cmp eax, 0x21
jl 0x43a4d1
mov eax, dword [ebp + 0x554c]
cmp eax, 2
je 0x43a548
cmp eax, 3
jne 0x43a550
mov dword [esp + 0x60], 1
xor eax, eax
cmp dword [ebx + 0x768], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x34], al
lea ebp, [eax + 0xa]
je 0x43a597
mov eax, edi
cmp eax, 0x19
je 0x43a590
test eax, eax
jne 0x43a597
mov edx, dword [ebx + 0x82c]
cmp dword [edx + 0x24], 0x19
jne 0x43a597
mov ebp, 0xf
jmp 0x43a5f2
cmp dword [ebx + 0x768], 0
je 0x43a5f2
mov eax, edi
cmp eax, 0x2f
je 0x43a5b7
test eax, eax
jne 0x43a5bb
mov eax, dword [ebx + 0x82c]
cmp dword [eax + 0x24], 0x28
jne 0x43a5bb
test edi, edi
je 0x43a5ed
cmp dword [ebx + 0x768], 0
je 0x43a5f2
mov eax, edi
test eax, eax
jne 0x43a5f2
mov ecx, dword [ebx + 0x82c]
cmp dword [ecx + 0x24], ebp
je 0x43a5ed
test eax, eax
jne 0x43a5f2
mov edx, ecx
cmp dword [edx + 0x24], 0x14
je 0x43a5ed
test eax, eax
jne 0x43a5f2
mov eax, ecx
cmp dword [eax + 0x24], 0x1e
jne 0x43a5f2
mov ebp, 0x12
xor esi, esi
cmp dword [esp + esi*4 + 0x38], 0
je 0x43a61b
cmp esi, 0x17
je 0x43a60a
cmp esi, 0x20
je 0x43a60a
cmp esi, 0xc
jne 0x43a61b
mov ebx, dword [esp + 0xc4]
lea ecx, [esp + 0x1c]
push ecx
call fcn.00439590
add esi, 1
cmp esi, 0x21
jl 0x43a5f4
xor esi, esi
jmp 0x6511f0
je 0x43a676
cmp esi, 0x17
je 0x43a676
cmp esi, 0x20
je 0x43a676
cmp esi, 0xc
je 0x43a676
mov eax, ecx
imul eax, ebp
cdq
idiv dword [esp + 0x10]
cmp eax, 1
jg 0x43a652
mov eax, 1
jmp 0x43a65c
cmp eax, ecx
jl 0x43a658
mov eax, ecx
test eax, eax
jle 0x43a676
mov edi, eax
mov edi, edi
mov ebx, dword [esp + 0xc4]
lea edx, [esp + 0x1c]
push edx
call fcn.00439590
sub edi, 1
jne 0x43a660
add esi, 1
cmp esi, 0x2a
jl 0x43a625
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 4
cmp eax, 0x20
jg 0x65115e
add dword [esp + eax*4 + 0x38], 1
jmp 0x43a2cc
cmp eax, 0x20
jg 0x65117e
add dword [esp + eax*4 + 0x38], 1
jmp 0x43a339
cmp eax, 0x20
jg 0x65119e
add dword [esp + eax*4 + 0x38], 1
jmp 0x43a3a6
cmp eax, 0x20
jg 0x6511be
add dword [esp + eax*4 + 0x38], 1
jmp 0x43a413
cmp eax, 0x20
jg 0x6511de
add dword [esp + eax*4 + 0x38], 1
jmp 0x43a47c
pushal
mov eax, dword [0x6a9ec0]
mov eax, dword [eax + 0x768]
lea eax, [eax + 0x57d4]
cmp byte [eax + esi], 0
popal
setne cl
movzx ecx, cl
cmp esi, 0x13
jne 0x651219
xor ecx, ecx
test ecx, ecx
jmp 0x43a62b