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

Disassembly:
push ebp
xor eax, eax
push edi
push esi
push ebx
sub esp, 0x11c
lea ebx, [esp + 0x78]
mov dword [esp + 0x34], ecx
mov ecx, 0x26
mov esi, dword [esp + 0x140]
mov edi, ebx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x138]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], eax
call fcn.004177a0
sub esp, 8
mov dword [esp], 0x4481cc
call fcn.00438340
cmp byte [eax], 0
jne 0x418032
cmp esi, 7
jle 0x418140
sar esi, 3
xor ebp, ebp
mov dword [esp + 0x24], esi
mov edx, dword [ebx + ebp*4 + 0x1c]
test edx, edx
jle 0x418020
mov eax, dword [ebx + ebp*4]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
imul edi, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x3c], edi
mov edi, edx
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x418000
fild dword [esp + 0x28]
fild dword [esp + 0x20]
mov dword [esp + 0x40], edi
xor esi, esi
mov eax, dword [esp + 0x2c]
fmul st(1)
fild dword [esp + 0x1c]
mov dword [esp + 0x38], eax
fld st(1)
fabs
fxch st(2)
fucomi st(1)
jp 0x418040
jne 0x418040
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, esi
add eax, esi
xor ecx, eax
xor edx, eax
test ecx, edx
js 0x418068
fild dword [esp + 0x24]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fmul st(1)
fild dword [esp + 0x38]
fxch st(1)
fucomi st(1)
jp 0x417db4
je 0x417dd8
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418078
jmp 0x417ddc
fstp st(0)
fstp st(0)
mov eax, dword [ebx + ebp*4 + 0x78]
mov edx, dword [esp + 0x38]
lea ecx, [eax + edx]
xor eax, ecx
xor edx, ecx
mov dword [esp + 0x44], ecx
test eax, edx
js 0x418090
fild dword [ebp*4 + 0x44a264]
mov eax, dword [esp + 0x28]
imul eax, dword [ebp*4 + 0x44a264]
fmul st(5)
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(1)
fucomi st(1)
jp 0x418610
jne 0x418610
fstp st(0)
fstp st(0)
mov edx, dword [ebp*4 + 0x44a248]
lea edi, [edx + eax]
xor edx, edi
xor eax, edi
test edx, eax
js 0x4180a0
mov edx, dword [esp + 0x138]
mov dword [esp + 0x48], edi
fild dword [esp + 0x48]
fild dword [esp + 0x138]
imul edx, edi
fmulp st(1)
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fxch st(1)
fucomi st(1)
jp 0x417e69
je 0x417e90
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4180ac
jmp 0x417e94
fstp st(0)
fstp st(0)
mov eax, dword [ebp*4 + 0x44a280]
lea edi, [eax + edx]
xor edx, edi
xor eax, edi
test edx, eax
js 0x4180c0
mov eax, dword [ebp*4 + 0x44a29c]
fild dword [ebp*4 + 0x44a29c]
mov dword [esp + 0x48], esi
fild dword [esp + 0x48]
imul eax, esi
fmulp st(1)
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(1)
fucomi st(1)
jp 0x417ed5
je 0x417ef3
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4180cc
jmp 0x417ef7
fstp st(0)
fstp st(0)
lea edx, [edi + eax]
xor edi, edx
xor eax, edx
test edi, eax
js 0x4180d8
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
imul eax, edx
fmulp st(1)
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(1)
mov dword [esp + 0x4c], eax
fucomi st(1)
jp 0x417f34
mov edx, 0
je 0x4186a8
fld st(0)
fabs
fxch st(1)
fsubp st(2)
fxch st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4180e4
xor edx, edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
xor edi, eax
xor esi, eax
test edi, esi
js 0x4180ee
cmp dword [esp + 0x30], eax
jle 0x4186f4
test eax, eax
js 0x4186fe
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
xor edi, ecx
xor esi, ecx
test edi, esi
js 0x4180f8
test ecx, ecx
js 0x418720
cmp dword [esp + 0x134], ecx
jle 0x41872a
mov edi, dword [esp + 0x130]
add dword [esp + 0x48], 1
movzx edx, byte [edi + ecx]
mov edi, dword [esp + 0x34]
add ecx, 1
mov byte [edi + eax], dl
mov edi, dword [esp + 0x48]
add eax, 1
cmp dword [esp + 0x24], edi
jne 0x417f5c
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x24]
add dword [esp + 0x38], edi
add esi, 1
cmp dword [esp + 0x20], esi
jne 0x417d74
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edi, dword [esp + 0x40]
lea esi, [esi]
nop
mov ecx, dword [esp + 0x20]
add dword [esp + 0x28], 1
add dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x2c], ecx
cmp edi, dword [esp + 0x28]
jne 0x417d46
nop
add ebp, 1
cmp ebp, 7
jne 0x417d0e
jmp 0x418032
fstp st(0)
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
fld st(1)
fsub st(1)
fabs
fmul dword [0x44a2b8]
fxch st(3)
fcomi st(3)
fstp st(3)
jae 0x417d82
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x41812a
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
call fcn.004083d0
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov ebp, eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ebp
fild dword [esp + 0x1c]
imul eax, esi
mov dword [esp + 0x24], eax
xor eax, eax
mov edi, eax
mov eax, esi
mov ebp, dword [ebx + edi*4]
mov edx, ebp
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
imul edx, eax
fmul st(1)
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fxch st(1)
fucomi st(1)
jp 0x418508
jne 0x418508
fstp st(0)
fild dword [esp + 0x138]
fmul st(2)
fild dword [esp + 0x24]
fxch st(1)
fucomi st(1)
jp 0x418530
jne 0x418530
fstp st(0)
mov ecx, dword [ebx + edi*4 + 0x1c]
mov dword [esp + 0x44], ecx
test ecx, ecx
jle 0x418690
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x140], eax
test ebp, ebp
jle 0x418668
mov dword [esp + 0x38], 0
mov esi, dword [esp + 0x20]
mov dword [esp + 0x40], 0
jmp 0x418200
fxch st(2)
fxch st(1)
lea esi, [esi]
lea esi, [esi]
mov eax, dword [ebx + edi*4 + 0x78]
fild dword [ebx + edi*4 + 0x78]
fmul dword [0x44a2bc]
shl eax, 3
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fxch st(1)
fucomi st(1)
jp 0x418221
je 0x418240
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418580
jmp 0x418244
fstp st(0)
fstp st(0)
fild dword [esp + 0x3c]
fld st(2)
fmul st(1)
fild dword [esp + 0x20]
fxch st(1)
fucomi st(1)
jp 0x418258
je 0x418280
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418590
jmp 0x418284
fstp st(0)
fstp st(0)
fild dword [esp + 0x40]
fld st(4)
fmul st(1)
fild dword [esp + 0x38]
fxch st(1)
fucomi st(1)
jp 0x418558
jne 0x418558
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
xor ecx, esi
xor edx, esi
test ecx, edx
js 0x4185a0
lea ecx, [eax + esi]
mov dword [esp + 0x2c], ecx
xor eax, ecx
xor ecx, esi
test eax, ecx
js 0x4185b0
fild dword [edi*4 + 0x44a264]
mov eax, dword [esp + 0x3c]
imul eax, dword [edi*4 + 0x44a264]
fmulp st(2)
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(2)
fucomi st(2)
jp 0x4182f0
je 0x41830e
fld st(0)
fabs
fxch st(3)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(2)
fcompi st(2)
fstp st(1)
jb 0x4185bc
jmp 0x418312
fstp st(0)
fstp st(1)
mov edx, dword [edi*4 + 0x44a248]
lea ecx, [edx + eax]
xor edx, ecx
xor eax, ecx
test edx, eax
js 0x4185c6
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], ecx
fild dword [esp + 0x4c]
imul eax, ecx
fmul st(2)
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
fxch st(1)
fucomi st(1)
jp 0x418349
je 0x418367
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4185d0
jmp 0x41836b
fstp st(0)
fstp st(0)
fild dword [edi*4 + 0x44a29c]
mov eax, dword [esp + 0x40]
imul eax, dword [edi*4 + 0x44a29c]
fmulp st(1)
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
fxch st(1)
fucomi st(1)
jp 0x418390
je 0x4183ae
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4185da
jmp 0x4183b2
fstp st(0)
fstp st(0)
mov edx, dword [edi*4 + 0x44a280]
lea ecx, [edx + eax]
xor edx, ecx
xor eax, ecx
test edx, eax
js 0x4185e2
mov eax, dword [esp + 0x140]
mov dword [esp + 0x4c], ecx
fild dword [esp + 0x4c]
imul eax, ecx
fmul st(3)
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
fxch st(1)
fucomi st(1)
jp 0x4183ec
je 0x41840a
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x4185ea
jmp 0x41840e
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x48]
lea edx, [ecx + eax]
xor ecx, edx
xor eax, edx
test ecx, eax
js 0x4185f2
mov eax, dword [esp + 0x134]
mov dword [esp + 0x74], edx
mov dword [esp + 0x48], 0
sub eax, 1
cmp dword [esp + 0x140], 0
mov dword [esp + 0x6c], eax
jle 0x41863f
fxch st(1)
fstp qword [esp + 0x50]
fstp qword [esp + 0x58]
fstp qword [esp + 0x60]
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shr ecx, 0x1f
sar eax, 3
cmp dword [esp + 0x134], eax
mov edx, ecx
setle cl
or cl, dl
mov byte [esp + 0x4c], cl
je 0x4186b9
mov ecx, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0040b140
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
jne 0x418032
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x74]
call fcn.00417c10
sub esp, 8
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
jne 0x418032
add dword [esp + 0x48], 1
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x140], eax
je 0x418631
cmp byte [esp + 0x4c], 0
je 0x418457
mov eax, dword [esp + 0x2c]
sar eax, 3
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x134]
sub eax, 1
mov dword [esp + 0x4c], eax
jmp 0x447eb5
fld st(0)
fabs
fxch st(1)
fsubr st(2)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418108
jmp 0x41818e
fld st(0)
fabs
fxch st(1)
fsubr st(2)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418110
jmp 0x4181ad
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jae 0x4182a4
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4185f8
fstp st(0)
fstp st(0)
fstp st(0)
call fcn.004083d0
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
fld st(0)
fabs
fxch st(2)
fsubrp st(1)
fabs
fmul dword [0x44a2b8]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x418120
jmp 0x417e28
fld qword [esp + 0x50]
fld qword [esp + 0x58]
fld qword [esp + 0x60]
jmp 0x418643
fxch st(1)
fxch st(2)
mov ecx, dword [esp + 0x140]
add dword [esp + 0x40], 1
add dword [esp + 0x38], ecx
add esi, dword [esp + 0x140]
cmp ebp, dword [esp + 0x40]
jne 0x4181f2
fxch st(2)
fxch st(1)
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x3c], 1
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x44], ecx
jne 0x4181d4
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x140]
jmp 0x418694
fstp st(0)
fstp st(0)
add edi, 1
cmp edi, 7
je 0x418030
jmp 0x418162
fstp st(0)
fstp st(0)
mov dword [esp + 0x68], esi
mov dword [esp + 0x48], edx
jmp 0x417f5c
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x130]
movzx eax, byte [ecx + eax]
mov ecx, edx
not ecx
and ecx, 7
sar eax, cl
and eax, 1
mov dword [esp + 0x68], eax
lea eax, [edx + 1]
xor edx, eax
test eax, edx
jns 0x4186eb
call fcn.004083d0
jmp 0x41848b
mov dword [esp + 0x2c], eax
jmp 0x41848b
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x418706
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp], edx
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x418032
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x418732
fstp st(0)
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x134]
mov dword [esp], ecx
sub eax, 1
mov dword [esp + 4], eax
call fcn.0040b140
jmp 0x418032
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
lea ecx, [esp + 0x74]
call fcn.00417c10
push eax
push eax
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
jne 0x418032
add dword [esp + 0x48], 1
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x140], eax
jle 0x447ed7
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0040b140
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x447e78
jmp 0x418032
fld qword [esp + 0x50]
fld qword [esp + 0x58]
fld qword [esp + 0x60]
jmp 0x418643