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

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
mov al, byte [esi + 0x169]
cmp al, 2
je 0x416ff4
cmp al, 3
jne 0x41700d
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x41700d
xor eax, eax
pop esi
add esp, 0x10
ret 8
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x417024
cmp dword [esi + 0x30], 0xffffffff
je 0x417024
xor eax, eax
pop esi
add esp, 0x10
ret 8
mov eax, dword [esi + 0xa0]
push ebx
push ebp
push edi
test eax, eax
mov byte [esp + 0x24], 0
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
jle 0x417158
mov dword [esp + 0x18], 0
mov ebx, 1
mov eax, dword [esi + 0xa8]
lea edx, [ebx - 1]
lea ecx, [eax - 1]
cmp edx, ecx
jle 0x4170d6
cmp ebx, eax
jl 0x41707a
lea ebp, [eax + 0x20]
cmp ebp, ebx
jg 0x41707c
mov ebp, ebx
lea edx, [ebp*4]
push edx
call fcn.0061317d
mov edi, eax
add esp, 4
test edi, edi
je 0x4170d6
mov ecx, dword [esi + 0xa8]
xor eax, eax
test ecx, ecx
jle 0x4170bb
cmp eax, ebp
jge 0x4170bb
mov ecx, dword [esi + 0x9c]
inc eax
mov edx, dword [ecx + eax*4 - 4]
mov dword [edi + eax*4 - 4], edx
mov ecx, dword [esi + 0xa8]
cmp eax, ecx
jl 0x41709e
mov eax, dword [esi + 0x9c]
push eax
call fcn.00613172
add esp, 4
mov dword [esi + 0x9c], edi
mov dword [esi + 0xa8], ebp
mov ecx, dword [esi + 0x9c]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx]
mov ecx, dword [esi + 4]
push eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x8c]
call fcn.00603f70
test eax, eax
je 0x417137
mov ecx, dword [esi + 4]
fld dword [eax + 0x38]
fsub dword [ecx + 0x38]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [eax + 0x3c]
fsub dword [ecx + 0x3c]
mov ecx, dword [eax + 8]
fadd dword [esp + 0x14]
cmp word [ecx + 0x16], 0x16
fstp dword [esp + 0x14]
jne 0x417137
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x24], 1
cmp ecx, 0xffffffff
jne 0x417137
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0xa0]
inc ebx
add edx, 4
mov dword [esp + 0x18], edx
lea eax, [ebx - 1]
cmp eax, ecx
jl 0x41705f
mov eax, ecx
test eax, eax
mov ebx, dword [esp + 0x28]
jne 0x417198
mov eax, dword [esi + 4]
cmp ebx, dword [eax + 4]
je 0x417198
mov ecx, dword [eax + 0xc]
push ebx
mov ecx, dword [ecx + 0x8c]
call fcn.00603f70
test eax, eax
je 0x417198
mov ecx, dword [esi + 4]
fld dword [eax + 0x38]
fsub dword [ecx + 0x38]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [eax + 0x3c]
fsub dword [ecx + 0x3c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
mov eax, dword [esi + 4]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
movsx edi, word [edx + 0x16]
call fcn.005d5880
cmp eax, 1
jne 0x417318
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x118]
fcomp dword [0x634594]
fnstsw ax
test ah, 0x41
jne 0x417318
cmp edi, 0x15
je 0x417318
cmp edi, 2
je 0x417318
cmp edi, 0x14
je 0x417318
cmp edi, 0x16
je 0x417318
cmp edi, 0x35
je 0x417318
cmp edi, 3
je 0x417318
cmp edi, 0x34
je 0x417318
cmp edi, 0x1b
je 0x417318
cmp edi, 0x27
je 0x417318
cmp edi, 0x36
je 0x417318
cmp byte [esp + 0x24], 1
jne 0x417318
cmp ebx, 0xffffffff
jne 0x417318
mov eax, dword [esi + 4]
mov edx, dword [esi]
push 1
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x20]
mov eax, dword [0x791308]
xor ebx, ebx
test eax, eax
jle 0x417318
mov ecx, dword [0x79131c]
mov edx, dword [esi + 4]
mov eax, dword [ecx + ebx*8]
mov ecx, dword [edx + 4]
cmp ecx, eax
je 0x41730a
push eax
mov ecx, esi
call fcn.0041a1d0
mov edi, eax
test edi, edi
je 0x41730a
mov eax, dword [edi + 8]
mov ecx, edi
movsx ebp, word [eax + 0x16]
call fcn.00539bc0
test eax, eax
je 0x41730a
cmp byte [edi + 0x48], 2
ja 0x41730a
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x118]
fcomp dword [0x6364d4]
fnstsw ax
test ah, 1
jne 0x41730a
cmp ebp, 3
je 0x41730a
cmp ebp, 0x34
je 0x41730a
cmp ebp, 0x1b
je 0x41730a
cmp ebp, 0x27
je 0x41730a
cmp ebp, 0x36
je 0x41730a
mov ecx, edi
call fcn.00539bc0
mov ecx, eax
call fcn.005d65b0
cmp eax, 0xffffffff
jne 0x41730a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1e0]
test al, al
jne 0x41730a
mov ecx, edi
call fcn.00539bc0
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax]
push ecx
push 1
mov ecx, eax
call dword [edx + 0xa0]
mov eax, dword [0x791308]
inc ebx
cmp ebx, eax
jl 0x417260
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x118]
mov eax, dword [esi + 4]
fadd st(0), st(0)
mov ecx, dword [eax + 0xc]
fstp dword [esp + 0x24]
call fcn.005d5880
pop edi
pop ebp
cmp eax, 1
pop ebx
jne 0x417351
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 8]
cmp word [edx + 0x16], 0x14
jne 0x417351
mov dword [esp + 0x18], 0x41200000
fld dword [esp + 8]
fmul dword [esp + 8]
fld dword [esp + 4]
fmul dword [esp + 4]
faddp st(1)
fsqrt
fcom dword [0x6364d4]
fnstsw ax
test ah, 1
je 0x4173be
fstp st(0)
call fcn.006131bd
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x6364e4]
fsub dword [0x6345a8]
fstp dword [esp + 4]
call fcn.006131bd
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x6364e4]
fsub dword [0x6345a8]
fst dword [esp + 8]
fmul dword [esp + 8]
fld dword [esp + 4]
fmul dword [esp + 4]
faddp st(1)
fsqrt
fld dword [esp + 4]
fdiv st(1)
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x9c]
test edx, edx
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fchs
fadd dword [ecx + 0x38]
fstp dword [esp + 0x1c]
fld dword [esp + 8]
fdiv st(1)
fstp dword [esp + 0xc]
fstp st(0)
fld dword [esp + 0xc]
fmul dword [esp + 0x18]
fchs
fadd dword [ecx + 0x3c]
fstp dword [esp + 0x18]
je 0x41746e
cmp byte [esi + 0x169], 1
jne 0x41746e
cmp dword [ecx + 0x78], 0xffffffff
jne 0x41746e
fld dword [esi + 0x16c]
fsub dword [esp + 0x1c]
fld dword [esi + 0x170]
fsub dword [esp + 0x18]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fcomp dword [0x6345b0]
fnstsw ax
test ah, 0x41
jne 0x41746e
fld dword [esp + 0x10]
fmul dword [0x6364e0]
fadd dword [esi + 0x16c]
fstp dword [esp + 0x1c]
fld dword [esp + 0xc]
fmul dword [0x6364e0]
fadd dword [esi + 0x170]
fstp dword [esp + 0x18]
mov eax, dword [ecx + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
push 1
push eax
mov eax, dword [esp + 0x24]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x98]
pop esi
add esp, 0x10
ret 8