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

Disassembly:
sub esp, 0x64
push ebx
push esi
push edi
mov esi, ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
lea edi, [esi + 0x18e]
push edi
push 0x100
push eax
call dword [ecx + 0x24]
mov ebx, eax
test ebx, ebx
jge 0x43e1a3
mov ecx, esi
call fcn.0043c520
pop edi
pop esi
mov eax, ebx
pop ebx
add esp, 0x64
ret
push ebp
lea ebx, [esi + 0x114c]
mov ebp, 0x100
nop
mov ecx, dword [ebx]
test ecx, ecx
je 0x43e1c5
movzx eax, byte [edi]
shr eax, 7
push eax
push ecx
mov ecx, esi
call fcn.0043c5b0
add ebx, 4
inc edi
dec ebp
jne 0x43e1b0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43e38c
mov eax, dword [esi + 0x10]
mov edx, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push 0x10
push eax
call dword [edx + 0x24]
mov edi, eax
test edi, edi
jge 0x43e1fe
mov ecx, esi
call fcn.0043c450
pop ebp
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x64
ret
mov eax, dword [esp + 0x14]
mov edi, dword [esi + 0x25fc]
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jle 0x43e21d
fild dword [esp + 0x14]
fmul qword [esi + 0x2608]
jmp 0x43e22f
cmp eax, dword [esi + 0x25f8]
jle 0x43e238
fild dword [esp + 0x14]
fmul qword [esi + 0x2600]
call fcn.00469428
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jle 0x43e251
fild dword [esp + 0x18]
fmul qword [esi + 0x2608]
jmp 0x43e263
cmp eax, dword [esi + 0x25f8]
jle 0x43e26c
fild dword [esp + 0x18]
fmul qword [esi + 0x2600]
call fcn.00469428
mov dword [esp + 0x18], eax
fild dword [esp + 0x14]
mov edx, dword [esi + 0x5c]
mov ebx, dword [esi + 0x58]
mov dword [esp + 0x10], edx
fmul dword [esi + 0x28]
call fcn.00469428
fild dword [esp + 0x18]
mov ebp, eax
lea edi, [ebx + ebp]
fmul dword [esi + 0x28]
mov dword [esi + 0x58], edi
call fcn.00469428
mov edx, dword [esi + 0x50]
mov ecx, dword [esp + 0x10]
add edx, ebp
mov ebp, edx
mov dword [esi + 0x50], edx
mov edx, dword [esi + 0x54]
add ecx, eax
add edx, eax
mov eax, dword [esi + 0x38]
cmp ebp, eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x54], edx
jl 0x43e2bc
dec eax
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x3c]
cmp edx, eax
jl 0x43e2c7
dec eax
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x50], eax
jg 0x43e2d2
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x34]
cmp dword [esi + 0x54], eax
jg 0x43e2dd
mov dword [esi + 0x54], eax
mov edx, dword [esp + 0x10]
sub edi, ebx
sub ecx, edx
mov ebp, 0x100
lea edx, [esp + 0x20]
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], ecx
lea edi, [esp + 0x20]
sub ebp, edx
mov ebx, 3
nop
movzx eax, byte [edi]
shr eax, 7
push eax
lea eax, [edi + ebp]
push eax
mov ecx, esi
call fcn.0043c5b0
inc edi
dec ebx
jne 0x43e300
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x43e37e
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fcomp st(0)
fnstsw ax
test ah, 0x44
jp 0x43e38c
test ecx, ecx
jle 0x43e355
mov byte [esi + 0x390], dl
mov byte [esi + 0x38e], 1
jmp 0x43e385
mov eax, 0x77777777
imul ecx
sub edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov byte [esi + 0x391], dl
mov byte [esi + 0x38f], 1
mov byte [esi + 0x38e], 0
jmp 0x43e38c
mov byte [esi + 0x38e], 0
mov byte [esi + 0x38f], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x43e45d
mov eax, dword [esi + 0x14]
mov edx, dword [eax]
push eax
call dword [edx + 0x64]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0x50
push eax
call dword [ecx + 0x24]
mov edi, eax
test edi, edi
jge 0x43e3c7
mov ecx, esi
call fcn.0043c4c0
pop ebp
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x64
ret
fild dword [esp + 0x24]
fmul dword [esi + 0x2c]
call fcn.00469428
fild dword [esp + 0x28]
mov edi, eax
fmul dword [esi + 0x2c]
call fcn.00469428
mov ebx, dword [esi + 0x70]
mov ebp, dword [esi + 0x74]
add dword [esi + 0x68], edi
add dword [esi + 0x6c], eax
lea ecx, [ebx + edi]
mov edi, dword [esi + 0x68]
lea edx, [eax + ebp]
mov eax, dword [esi + 0x48]
cmp edi, eax
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], edx
jl 0x43e407
dec eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x4c]
cmp dword [esi + 0x6c], eax
jl 0x43e413
dec eax
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x40]
cmp dword [esi + 0x68], eax
jg 0x43e41e
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x6c], eax
jg 0x43e429
mov dword [esi + 0x6c], eax
sub ecx, ebx
sub edx, ebp
mov ebx, 0x104
lea eax, [esp + 0x54]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
lea edi, [esp + 0x54]
sub ebx, eax
mov ebp, 0xa
movzx eax, byte [edi]
shr eax, 7
push eax
lea ecx, [ebx + edi]
push ecx
mov ecx, esi
call fcn.0043c5b0
inc edi
dec ebp
jne 0x43e447
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x64
ret