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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x46c
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x100
lea eax, [esp + 0x7c]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [0x851c30]
push edx
mov edx, dword [ecx + 0x34]
and eax, 0xffff
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 8]
add eax, 0x98
push eax
push 0xc3
push 1
call fcn.004f2bc0
add esp, 0x1c
test ax, ax
jle 0x43c88c
mov edi, dword [0x86cff4]
movzx edx, ax
lea ecx, [esp + 0x78]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], edx
lea esp, [esp]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [0x851c30]
mov eax, ecx
and eax, 0xffff
lea esi, [eax + eax*2]
mov eax, dword [edx + 0x34]
shl esi, 2
mov ebx, dword [eax + esi + 8]
cmp ecx, dword [ebp + 0x18]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], esi
je 0x43c872
cmp ecx, dword [ebp + 0x1c]
je 0x43c872
test byte [ebx + 0x10], 1
jne 0x43c872
mov ax, word [ebx + 0xb4]
test ax, ax
jne 0x43c5ed
test byte [ebx + 0x106], 4
jne 0x43c872
cmp ax, 7
jne 0x43c625
mov ecx, dword [ebx]
and ecx, 0xffff
shl ecx, 5
mov eax, dword [ecx + edi + 0x14]
mov ax, word [eax + 0x292]
test al, 1
je 0x43c872
test al, 2
je 0x43c625
cmp dword [ebx + 0x208], 0x3f800000
je 0x43c872
fld dword [ebp + 0x10]
push ecx
fadd dword [ebx + 0xac]
mov ecx, dword [ebp + 0xc]
lea eax, [ebx + 0xa0]
fstp dword [esp]
call fcn.0043c350
add esp, 4
test al, al
je 0x43c872
mov edx, dword [ebx]
and edx, 0xffff
shl edx, 5
mov eax, dword [edx + edi + 0x14]
mov ecx, dword [eax + 0x7c]
mov dl, byte [eax + 2]
and ecx, 0xffff
shl ecx, 5
test dl, 8
mov ecx, dword [ecx + edi + 0x14]
mov dword [esp + 0x10], ecx
jne 0x43c872
mov eax, dword [ecx + 0x280]
test eax, eax
jle 0x43c872
mov eax, dword [esp + 0x30]
lea edi, [esp + 0x40]
call fcn.004f2600
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x280]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x24], eax
jle 0x43c86c
lea ecx, [ecx]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x284]
shl eax, 5
add eax, edx
mov edi, eax
mov cx, word [edi]
cmp cx, 0xffff
je 0x43c700
mov edx, dword [0x851c30]
mov eax, dword [edx + 0x34]
mov eax, dword [eax + esi + 8]
movsx esi, word [eax + 0x1f2]
movsx ecx, cx
imul ecx, ecx, 0x34
add ecx, eax
add esi, ecx
lea edx, [edi + 0x10]
push esi
lea eax, [esp + 0x38]
call fcn.004ca120
fld dword [edi + 0x1c]
fmul dword [esi]
mov esi, dword [esp + 0x2c]
jmp 0x43c718
lea eax, [esp + 0x40]
push eax
lea edx, [edi + 0x10]
lea eax, [esp + 0x38]
call fcn.004ca120
fld dword [esp + 0x44]
fmul dword [edi + 0x1c]
mov edx, dword [ebp + 0xc]
fstp dword [esp + 0x10]
fld dword [esp + 0x40]
mov ecx, dword [ebp + 0x14]
fadd dword [esp + 0x10]
add esp, 4
fadd dword [0x66c408]
fcomp dword [edx + 8]
fnstsw ax
test ah, 5
jp 0x43c751
fld dword [ecx + 8]
fcomp dword [0x66c95c]
fnstsw ax
test ah, 0x41
je 0x43c84e
fld dword [esp + 0x3c]
fsub dword [esp + 0xc]
fsub dword [0x66c408]
fcomp dword [edx + 8]
fnstsw ax
test ah, 0x41
jne 0x43c77d
fld dword [ecx + 8]
fcomp dword [0x66c404]
fnstsw ax
test ah, 5
jnp 0x43c84e
fld dword [esp + 0x34]
fsub dword [edx]
fstp dword [esp + 0x18]
fld dword [esp + 0x38]
fsub dword [edx + 4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x3c]
fsub dword [edx + 8]
fstp dword [esp + 0x20]
fld dword [esp + 0xc]
fadd dword [ebp + 0x10]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
fmul dword [0x66c570]
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fld st(1)
fmul st(2)
fcompp
fnstsw ax
fstp st(0)
test ah, 1
jne 0x43c84e
xor edx, edx
cmp word [ebx + 0xb4], dx
jne 0x43c830
fld dword [esp + 0x1c]
fmul dword [ecx + 4]
fld dword [esp + 0x18]
fmul dword [ecx]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [ecx + 8]
faddp st(1)
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x43c830
fld dword [ebx + 0x70]
fmul dword [ecx + 8]
fld dword [ebx + 0x6c]
fmul dword [ecx + 4]
faddp st(1)
fld dword [ebx + 0x68]
fmul dword [ecx]
faddp st(1)
fcomp dword [0x66c958]
fnstsw ax
test ah, 0x41
jne 0x43c830
mov edx, 1
mov ecx, dword [esp + 0xc]
push ecx
push edx
mov edx, dword [esp + 0x38]
push edx
mov edx, dword [ebp + 8]
lea esi, [esp + 0x40]
call fcn.0043c4c0
mov esi, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x280]
inc eax
mov dword [esp + 0x24], eax
movsx eax, ax
cmp eax, edx
jl 0x43c6b0
mov edi, dword [0x86cff4]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add ecx, 4
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], eax
jne 0x43c590
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret