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

Disassembly:
sub esp, 0x50
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push ebx
push ebp
push edi
push eax
push ecx
call fcn.00416930
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
lea edx, [eax - 1]
add esp, 8
mov dword [esp + 0x20], 1
mov dword [esp + 0x18], edx
jmp 0x417424
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov ebx, dword [ecx + eax*8 + 4]
mov edi, dword [ecx + eax*8]
mov edx, ebx
push edx
mov eax, edi
push eax
call fcn.00416930
fstp dword [esp + 0x18]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00416850
mov ecx, dword [esi + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], edx
mov edx, dword [esi]
push ecx
push edx
mov dword [esp + 0x3c], eax
mov ebp, eax
call fcn.00416930
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x28]
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
jl 0x41753f
mov ecx, dword [esp + 0x60]
lea ecx, [ecx + eax*8]
mov dword [esp + 0xc], ecx
jmp 0x417494
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x30]
push ebp
push eax
mov eax, dword [esi + 4]
push edx
mov edx, dword [esi]
push eax
push edx
call fcn.00416810
add esp, 0x10
push edx
push eax
call fcn.004167b0
add esp, 0x10
push ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
push edi
push eax
mov eax, dword [esi]
mov dword [esp + 0x3c], edx
mov edx, dword [esi + 4]
push ebp
push edx
push eax
call fcn.00416810
add esp, 0x10
push edx
push eax
call fcn.004167b0
add esp, 0x10
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 4]
push edx
mov edx, dword [esi]
mov ebp, eax
mov eax, dword [ecx]
mov ecx, dword [esi + 4]
push eax
push ebx
push edi
push ecx
push edx
call fcn.00416810
add esp, 0x10
push edx
push eax
call fcn.004167b0
mov ebx, edx
mov edi, eax
push ebx
push edi
call fcn.00416930
fld dword [esp + 0x3c]
fmul dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
sub dword [esp + 0x24], 8
sub eax, 1
faddp st(1)
add esp, 0x18
test eax, eax
mov dword [esp + 0x14], eax
fstp dword [esp + 0x10]
jge 0x417490
push ebx
push edi
call fcn.00416930
fld dword [esp + 0x18]
fmul qword [0x5300f8]
add esp, 8
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 1
je 0x417744
mov eax, dword [esp + 0x38]
push ebx
push edi
push eax
push ebp
call fcn.00416870
push edx
mov ebp, eax
push ebp
push edx
push ebp
mov dword [esp + 0x70], edx
call fcn.00416810
push ebx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x54]
push edi
mov ecx, eax
mov eax, dword [esp + 0x54]
push edx
push eax
call fcn.00416870
fld dword [0x528ad8]
add esp, 0x30
push edx
push eax
push ecx
fstp dword [esp]
call fcn.00416b10
mov edi, dword [esp + 0x64]
push edx
push eax
push edi
push ecx
call fcn.004167e0
fild dword [esp + 0x80]
add esp, 0x1c
push edi
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push edx
push eax
push ecx
fstp dword [esp]
call fcn.00416b10
add esp, 0xc
push edx
push eax
call fcn.004167e0
fild dword [esp + 0x28]
add esp, 0x10
push edx
push eax
push ecx
fstp dword [esp]
call fcn.00416b10
push edx
push eax
call fcn.004169e0
mov edi, edx
mov edx, dword [esp + 0x64]
push edi
mov ecx, eax
push ecx
push edx
push ebp
call fcn.004167b0
push edi
mov ebx, eax
mov eax, dword [esp + 0x78]
push ecx
push eax
push ebp
mov dword [esp + 0x74], edx
call fcn.004167e0
mov ecx, dword [esp + 0x74]
push ecx
mov edi, eax
mov ebp, edx
push ebx
call fcn.00416930
fstp dword [esp + 0x60]
push ebp
push edi
call fcn.00416930
fld dword [esp + 0x68]
fcompp
add esp, 0x44
fnstsw ax
test ah, 5
jp 0x417652
mov ebx, edi
mov dword [esp + 0x40], ebp
mov edx, dword [esp + 0x40]
fldz
push edx
push ebx
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.00416850
add esp, 8
push edx
push eax
call fcn.00416870
mov edi, edx
mov edx, dword [esi]
mov ecx, eax
mov eax, dword [esi + 4]
push edi
push ecx
push eax
push edx
call fcn.004167e0
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x64], ebx
fld dword [esp + 0x64]
fucompp
add esp, 0x20
mov ebp, edx
mov dword [esp + 0x48], ebp
fnstsw ax
test ah, 0x44
jp 0x4176bb
fld dword [esi + 4]
fld dword [esp + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x417744
push edi
push ecx
mov dword [esi], ebx
mov dword [esi + 4], ebp
call fcn.00416930
fstp dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
fld dword [esp + 0x2c]
add esp, 8
cmp edi, 6
jle 0x4176e8
fld dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x417742
cmp dword [esp + 0x70], 0
fst dword [esp + 0x1c]
jne 0x417712
push ebp
fstp qword [esp + 0x28]
push ebx
call fcn.00416930
fmul qword [esp + 0x70]
add esp, 8
fcomp qword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x417744
jmp 0x417714
fstp st(0)
add edi, 1
cmp edi, 0x64
mov dword [esp + 0x20], edi
jle 0x417420
cmp dword [0x563218], 0
jle 0x417744
push str.Too_many_iterations_in_routine_LAGUER
call dword [sym.imp.XLIB.dll_Ordinal_719]
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x50
ret
fstp st(0)
pop edi
pop ebp
pop ebx
add esp, 0x50
ret