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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
cmp ebx, esi
push edi
jge 0x461a03
cmp dword [ebp + 0x10], 2
jne 0x461a03
mov dword [ebp + 0x10], 4
mov eax, dword [ebp + 0x10]
mov ecx, ebx
call fcn.00461860
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x14], edi
jle 0x461a1d
mov edi, ebx
mov dword [esp + 0x14], ebx
fild dword [ebp + 0xc]
fst qword [esp + 0x58]
fild dword [ebp + 8]
fst qword [esp + 0x40]
fdivp st(1)
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x461a40
fxch st(1)
fstp qword [esp + 0x48]
jmp 0x461a46
fstp st(1)
fst qword [esp + 0x48]
mov eax, dword [ebp + 0x10]
cmp eax, 4
je 0x461a53
cmp eax, 5
jne 0x461a59
fstp qword [esp + 0x48]
jmp 0x461a5b
fstp st(0)
fild dword [esp + 0x14]
mov eax, edi
cdq
sub eax, edx
fmul qword [0x48b848]
sar eax, 1
mov dword [esp + 0x3c], eax
add eax, 1
shl eax, 4
fstp qword [esp + 0x60]
push eax
call fcn.00478bc3
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x461ac2
cmp byte [ebp + 0x14], 0
push 0x40
je 0x461e26
lea eax, [edi + 1]
imul eax, esi
lea ecx, [eax*4 + 4]
push ecx
call fcn.004799a9
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x461acb
mov edx, dword [esp + 0x10]
push edx
call fcn.0047841b
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [esp + 0x40]
mov dword [eax], edi
fdiv qword [esp + 0x58]
lea edi, [eax + 4]
mov eax, dword [ebp + 0x10]
cmp eax, 2
fst qword [esp + 0x50]
jne 0x461c6a
test esi, esi
fmul qword [0x48b848]
fld st(0)
jle 0x46208e
fldz
add ebx, 0xffffffff
fld1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], esi
jmp 0x461b11
fld1
fxch st(1)
fxch st(3)
fxch st(1)
fld st(3)
fsub st(3)
fst qword [esp + 0x78]
fld st(0)
call fcn.00478370
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
lea eax, [eax + edx - 1]
cmp eax, ecx
jle 0x461b32
mov eax, ecx
sub eax, edx
add eax, 1
jns 0x461b3b
xor eax, eax
mov dword [edi], eax
fld st(2)
add edi, 4
xor ecx, ecx
test edx, edx
jle 0x461bf9
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x34], edx
jmp 0x461b62
fld qword [esp + 0x78]
fxch st(1)
lea eax, [edx + 1]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcom st(6)
fnstsw ax
test ah, 5
jnp 0x461b8b
fstp st(2)
fild dword [esp + 0x34]
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x461bad
fstp st(2)
fld st(5)
fadd st(5)
fsubrp st(2)
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x461b9e
fstp st(0)
fld st(2)
jmp 0x461bd5
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x461bd5
fstp st(0)
fld st(1)
jmp 0x461bd5
fsubr st(6)
fxch st(2)
fsub st(6)
fxch st(2)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x461bc2
fstp st(0)
fld st(4)
fxch st(2)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x461bd1
fstp st(0)
fld st(4)
faddp st(2)
fxch st(1)
fst qword [esi + ecx*8]
add ecx, 1
add edx, 1
faddp st(1)
cmp ecx, ebx
mov dword [esp + 0x34], edx
jl 0x461b5c
fld st(2)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x461bff
jmp 0x461bfb
fstp st(0)
fstp st(0)
fld st(0)
fdivp st(1)
xor esi, esi
cmp dword [esp + 0x14], esi
fld st(1)
jle 0x461c4e
mov ecx, dword [esp + 0x10]
fld qword [ecx + esi*8]
fmul st(2)
fadd st(1)
fld qword [0x48e1d0]
fmul st(1)
fadd qword [0x48b848]
call fcn.00478370
fxch st(1)
fmul qword [0x48e1d0]
mov ebx, eax
fadd qword [0x48b848]
call fcn.00478370
sub ebx, eax
mov dword [edi], ebx
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x14]
jl 0x461c0b
sub dword [esp + 0x28], 1
fstp st(0)
fstp st(0)
fxch st(2)
fadd qword [esp + 0x50]
jne 0x461b09
fstp st(0)
jmp 0x4622ac
cmp eax, 4
fstp st(0)
jne 0x461c7b
mov dword [esp + 0x20], 0x461990
jmp 0x461c90
cmp eax, 3
mov dword [esp + 0x20], 0x461900
je 0x461c90
mov dword [esp + 0x20], 0x4618e0
mov edx, ebx
sub edx, esi
test esi, esi
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
lea eax, [esi + esi]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fdivp st(1)
fst qword [esp + 0x18]
jle 0x4622ae
fldz
add ebx, 0xffffffff
fld qword [0x48e1d0]
mov dword [esp + 0x24], ebx
fld qword [0x48b848]
mov dword [esp + 0x34], esi
jmp 0x461cda
fldz
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fld st(3)
fadd qword [esp + 0x60]
call fcn.00478370
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jle 0x461cef
mov eax, ecx
mov ecx, dword [esp + 0x14]
sub eax, ecx
add eax, 1
mov ebx, eax
jns 0x461cfe
xor ebx, ebx
fxch st(2)
mov dword [edi], ebx
fst qword [esp + 0x58]
add edi, 4
fld qword [esp + 0x40]
fcom st(4)
fnstsw ax
test ah, 5
jp 0x461d1a
fld st(0)
jmp 0x461d1c
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x461d2d
fstp st(0)
fstp qword [esp + 0x28]
jmp 0x461d48
fstp st(1)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x461d3e
fstp qword [esp + 0x28]
jmp 0x461d48
fstp st(0)
fxch st(2)
fst qword [esp + 0x28]
fxch st(2)
xor esi, esi
test ecx, ecx
jle 0x461da9
fstp st(0)
fstp st(0)
fstp st(0)
lea ecx, [esi + ebx]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
sub esp, 8
fsub qword [esp + 0x30]
fmul qword [esp + 0x50]
fstp qword [esp]
call dword [esp + 0x28]
mov edx, dword [esp + 0x18]
fst qword [edx + esi*8]
add esi, 1
fadd qword [esp + 0x60]
add esp, 8
cmp esi, dword [esp + 0x14]
fst qword [esp + 0x58]
jl 0x461d52
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x461dad
fstp st(0)
fld qword [esp + 0x18]
fld qword [0x48b848]
fld qword [0x48e1d0]
fld1
jmp 0x461dc7
fld qword [esp + 0x18]
fld qword [0x48b848]
fld qword [0x48e1d0]
fxch st(2)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fld1
xor esi, esi
cmp dword [esp + 0x14], esi
fdivrp st(1)
fldz
jle 0x461e08
mov eax, dword [esp + 0x10]
fld qword [eax + esi*8]
fmul st(2)
fadd st(1)
fld st(0)
fmul st(4)
fadd st(5)
call fcn.00478370
fxch st(1)
fmul st(3)
mov ebx, eax
fadd st(4)
call fcn.00478370
sub ebx, eax
mov dword [edi], ebx
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x14]
jl 0x461dd5
sub dword [esp + 0x34], 1
fstp st(0)
fstp st(0)
fxch st(2)
fadd qword [esp + 0x50]
fst qword [esp + 0x18]
jne 0x461cd0
jmp 0x4622aa
mov edi, dword [esp + 0x40]
lea eax, [esi + 1]
cdq
sub eax, edx
add edi, 1
sar eax, 1
lea ecx, [edi + 1]
imul eax, ecx
lea edx, [eax*4 + 4]
push edx
mov dword [esp + 0x28], edi
call fcn.004799a9
add esp, 8
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x461e6d
mov eax, dword [esp + 0x10]
push eax
call fcn.0047841b
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld qword [esp + 0x40]
mov dword [eax], edi
fdiv qword [esp + 0x58]
add eax, 4
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
cmp eax, 2
fld st(0)
fadd st(1)
fstp qword [esp + 0x78]
jne 0x462095
test esi, esi
fmul qword [0x48b848]
fld st(0)
jle 0x46208e
mov ecx, dword [esp + 0x20]
fldz
fld1
lea eax, [ebx + 1]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x28], eax
lea eax, [esi - 1]
shr eax, 1
lea edx, [ecx + ecx]
add eax, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
jmp 0x461ed3
fld1
fxch st(1)
fxch st(3)
fxch st(1)
fld st(3)
fsub st(3)
fst qword [esp + 0x70]
fld st(0)
call fcn.00478370
mov ecx, eax
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x28]
sar esi, 1
add esi, edx
cmp esi, eax
jle 0x461eff
mov ecx, eax
sub ecx, edx
add ecx, ecx
test ecx, ecx
jge 0x461f05
xor ecx, ecx
mov eax, ecx
fld st(2)
cdq
fld st(3)
sub eax, edx
fst qword [esp + 0x58]
mov edx, eax
mov eax, dword [esp + 0x18]
sar edx, 1
mov dword [eax], edx
add eax, 4
xor esi, esi
cmp dword [esp + 0x34], esi
mov dword [esp + 0x18], eax
jle 0x462000
mov ebx, dword [esp + 0x34]
fstp st(0)
mov edx, ecx
mov dword [esp + 0x24], edx
jmp 0x461f48
fstp st(0)
fld qword [esp + 0x70]
fxch st(1)
lea edi, [edx + 1]
mov dword [esp + 0x38], edi
fild dword [esp + 0x38]
fcom st(6)
fnstsw ax
test ah, 5
jnp 0x461f71
fstp st(2)
fild dword [esp + 0x24]
fcom st(6)
fnstsw ax
test ah, 0x41
jne 0x461f93
fstp st(2)
fld st(5)
fadd st(5)
fsubrp st(2)
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 5
jp 0x461f84
fstp st(0)
fld st(2)
jmp 0x461fbb
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x461fbb
fstp st(0)
fld st(1)
jmp 0x461fbb
fsubr st(6)
fxch st(2)
fsub st(6)
fxch st(2)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x461fa8
fstp st(0)
fld st(4)
fxch st(2)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x461fb7
fstp st(0)
fld st(4)
faddp st(2)
fxch st(1)
test dl, 1
fld st(0)
je 0x461fd7
fld qword [esp + 0x58]
mov eax, dword [esp + 0x10]
fadd st(1), st(0)
add esi, 1
fxch st(1)
fstp qword [eax + esi*8 - 8]
jmp 0x461fdb
fst qword [esp + 0x58]
sub ebx, 1
fxch st(1)
mov edx, edi
faddp st(2)
mov dword [esp + 0x24], edx
jne 0x461f40
fxch st(1)
test cl, 1
je 0x462004
mov ecx, dword [esp + 0x10]
fxch st(1)
fstp qword [ecx + esi*8]
jmp 0x462011
fstp st(2)
jmp 0x461ff0
mov edx, dword [esp + 0x10]
fstp st(1)
fxch st(2)
fst qword [edx + esi*8]
fxch st(2)
fld st(2)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x462020
fstp st(0)
fld st(0)
fdivp st(1)
xor edi, edi
cmp dword [esp + 0x20], edi
fld st(1)
jle 0x462077
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
fld qword [eax + edi*8]
fmul st(2)
fadd st(1)
fld qword [0x48e1d0]
fmul st(1)
fadd qword [0x48b848]
call fcn.00478370
fxch st(1)
fmul qword [0x48e1d0]
mov esi, eax
fadd qword [0x48b848]
call fcn.00478370
sub esi, eax
mov dword [ebx], esi
add edi, 1
add ebx, 4
cmp edi, dword [esp + 0x20]
jl 0x462030
mov dword [esp + 0x18], ebx
sub dword [esp + 0x14], 1
fstp st(0)
fstp st(0)
fxch st(2)
fadd qword [esp + 0x78]
jne 0x461ecb
fstp st(0)
fstp st(1)
jmp 0x4622ae
cmp eax, 4
fstp st(0)
jne 0x4620a6
mov dword [esp + 0x34], 0x461990
jmp 0x4620bb
cmp eax, 3
mov dword [esp + 0x34], 0x461900
je 0x4620bb
mov dword [esp + 0x34], 0x4618e0
mov ecx, ebx
sub ecx, esi
test esi, esi
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
lea edx, [esi + esi]
mov dword [esp + 0x38], edx
fild dword [esp + 0x38]
fdivp st(1)
fstp qword [esp + 0x58]
jle 0x4622b0
fldz
lea eax, [ebx + 1]
fld qword [0x48e1d0]
cdq
fld qword [0x48b848]
sub eax, edx
sar eax, 1
mov dword [esp + 0x28], eax
lea eax, [esi - 1]
shr eax, 1
add eax, 1
mov dword [esp + 0x38], eax
fld qword [esp + 0x58]
fld qword [esp + 0x60]
fadd st(1)
call fcn.00478370
mov ecx, dword [esp + 0x20]
mov ebx, eax
sub ebx, dword [esp + 0x14]
add ebx, 1
mov eax, ebx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x28]
sar edx, 1
add edx, ecx
cmp edx, eax
jle 0x46213b
mov ebx, eax
sub ebx, ecx
add ebx, ebx
test ebx, ebx
jge 0x462141
xor ebx, ebx
mov eax, ebx
fld st(3)
cdq
fst qword [esp + 0x70]
fld qword [esp + 0x40]
sub eax, edx
mov edx, eax
fcom st(2)
mov eax, dword [esp + 0x18]
sar edx, 1
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x18], eax
fnstsw ax
test ah, 5
jp 0x46216e
fld st(0)
jmp 0x462170
fld st(2)
fcomp st(6)
fnstsw ax
test ah, 5
jp 0x462185
fstp st(2)
fstp st(1)
fxch st(3)
fst qword [esp + 0x50]
jmp 0x46219c
fcom st(2)
fnstsw ax
test ah, 5
jp 0x462192
fstp st(2)
jmp 0x462194
fstp st(0)
fxch st(1)
fstp qword [esp + 0x50]
fxch st(3)
lea eax, [ecx + ecx]
fld st(0)
xor esi, esi
fst qword [esp + 0x68]
test eax, eax
jle 0x46221c
fstp st(4)
mov dword [esp + 0x24], ebx
fstp st(3)
mov edi, eax
fstp st(2)
fstp st(0)
sub esp, 8
fstp st(0)
fild dword [esp + 0x2c]
fsub qword [esp + 0x58]
fmul qword [esp + 0x50]
fstp qword [esp]
call dword [esp + 0x3c]
add esp, 8
fld st(0)
test byte [esp + 0x24], 1
je 0x4621f2
fld qword [esp + 0x68]
mov eax, dword [esp + 0x10]
fadd st(1), st(0)
add esi, 1
fxch st(1)
fstp qword [eax + esi*8 - 8]
jmp 0x4621f6
fst qword [esp + 0x68]
add dword [esp + 0x24], 1
fxch st(1)
sub edi, 1
fadd qword [esp + 0x70]
fst qword [esp + 0x70]
jne 0x4621b7
fld qword [0x48b848]
fldz
fld qword [0x48e1d0]
fxch st(3)
fxch st(4)
test bl, 1
je 0x46222a
mov ecx, dword [esp + 0x10]
fstp qword [ecx + esi*8]
jmp 0x462233
mov edx, dword [esp + 0x10]
fstp st(0)
fst qword [edx + esi*8]
fld st(0)
fucomp st(4)
fnstsw ax
test ah, 0x44
jp 0x462244
fstp st(3)
fld1
jmp 0x462246
fxch st(3)
fld1
xor edi, edi
cmp dword [esp + 0x20], edi
fdivrp st(1)
fld st(3)
jle 0x46228f
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
fld qword [eax + edi*8]
fmul st(2)
fadd st(1)
fld st(0)
fmul st(5)
fadd st(4)
call fcn.00478370
fxch st(1)
fmul st(4)
mov esi, eax
fadd st(3)
call fcn.00478370
sub esi, eax
mov dword [ebx], esi
add edi, 1
add ebx, 4
cmp edi, dword [esp + 0x20]
jl 0x462258
mov dword [esp + 0x18], ebx
sub dword [esp + 0x38], 1
fstp st(0)
fstp st(0)
fld qword [esp + 0x58]
fadd qword [esp + 0x78]
fstp qword [esp + 0x58]
jne 0x462106
fstp st(2)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0047841b
mov eax, dword [esp + 0x40]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret