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

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffff30
mov ebx, edx
mov esi, eax
fld dword [esi + 0x1c]
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
je 0x4a4e2c
fld dword [esi + 0x18]
fdiv dword [esi + 0x1c]
fstp qword [esp]
wait
jmp 0x4a4e39
fld dword [0x4a596c]
fmul dword [esi + 0x18]
fstp qword [esp]
wait
fld dword [esi + 0x24]
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
je 0x4a4e55
fld dword [esi + 0x20]
fdiv dword [esi + 0x24]
fstp qword [esp + 8]
wait
jmp 0x4a4e63
fld dword [0x4a596c]
fmul dword [esi + 0x20]
fstp qword [esp + 8]
wait
fld qword [esp]
fcomp qword [esp + 8]
wait
fnstsw ax
sahf
jne 0x4a4eea
mov eax, dword [esi + 0x48]
dec eax
test eax, eax
jl 0x4a595d
inc eax
mov dword [esp + 0x80], eax
xor edi, edi
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8], ecx
mov dword [edx + eax*8 + 4], 0xbff00000
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8 + 8], ecx
mov dword [edx + eax*8 + 0xc], 0xbff00000
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8 + 0x10], ecx
mov dword [edx + eax*8 + 0x14], 0xbff00000
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8 + 0x18], ecx
mov dword [edx + eax*8 + 0x1c], 0xbff00000
inc edi
dec dword [esp + 0x80]
jne 0x4a4e86
jmp 0x4a595d
mov edx, dword [esi + 0x5c]
movzx eax, bl
add edx, eax
mov ecx, dword [esi + 0x64]
sub ecx, eax
cmp edx, ecx
jg 0x4a4f09
mov edx, dword [esi + 0x60]
add edx, eax
mov ecx, dword [esi + 0x68]
sub ecx, eax
cmp edx, ecx
jle 0x4a4f5c
mov eax, dword [esi + 0x48]
dec eax
test eax, eax
jl 0x4a595d
inc eax
mov dword [esp + 0x80], eax
xor edi, edi
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8 + 8], ecx
mov dword [edx + eax*8 + 0xc], 0x40c38800
mov edx, dword [esi + 0xac]
xor ecx, ecx
mov dword [edx + eax*8 + 0x10], ecx
mov dword [edx + eax*8 + 0x14], 0xc0c38800
inc edi
dec dword [esp + 0x80]
jne 0x4a4f1f
jmp 0x4a595d
mov edx, dword [esi + 0x5c]
movzx eax, bl
add edx, eax
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x18]
fadd dword [esi + 0x10]
mov edx, dword [esi + 0x60]
add edx, eax
mov dword [esp + 0xcc], edx
fild dword [esp + 0xcc]
fmul dword [esi + 0x20]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x40]
wait
mov edx, dword [esi + 0x5c]
movzx ecx, bl
add edx, ecx
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x1c]
fadd dword [esi + 0x14]
mov edx, dword [esi + 0x60]
movzx ecx, bl
add edx, ecx
mov dword [esp + 0xcc], edx
fild dword [esp + 0xcc]
fmul dword [esi + 0x24]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x44]
wait
mov edx, dword [esi + 0x64]
sub edx, eax
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x18]
fadd dword [esi + 0x10]
mov edx, dword [esi + 0x68]
movzx ecx, bl
sub edx, ecx
mov dword [esp + 0xcc], edx
fild dword [esp + 0xcc]
fmul dword [esi + 0x20]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x48]
wait
mov edx, dword [esi + 0x64]
sub edx, eax
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x1c]
fadd dword [esi + 0x14]
mov edx, dword [esi + 0x68]
movzx ecx, bl
sub edx, ecx
mov dword [esp + 0xcc], edx
fild dword [esp + 0xcc]
fmul dword [esi + 0x24]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x4c]
wait
mov edx, dword [esi + 0x64]
sub edx, eax
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x18]
fadd dword [esi + 0x10]
mov edx, dword [esi + 0x60]
movzx ecx, bl
add edx, ecx
mov dword [esp + 0xcc], edx
fild dword [esp + 0xcc]
fmul dword [esi + 0x20]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x50]
wait
mov edx, dword [esi + 0x64]
sub edx, eax
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul dword [esi + 0x1c]
fadd dword [esi + 0x14]
mov eax, dword [esi + 0x60]
movzx edx, bl
add eax, edx
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fmul dword [esi + 0x24]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x54]
wait
mov eax, dword [esi + 0x68]
movzx edx, bl
sub eax, edx
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fmul dword [esi + 0x20]
fadd dword [esi + 0x10]
mov eax, dword [esi + 0x5c]
movzx edx, bl
add eax, edx
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fmul dword [esi + 0x18]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x58]
wait
mov eax, dword [esi + 0x68]
movzx edx, bl
sub eax, edx
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fmul dword [esi + 0x24]
fadd dword [esi + 0x14]
mov eax, dword [esi + 0x5c]
movzx edx, bl
add eax, edx
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fmul dword [esi + 0x1c]
faddp st(1)
fsub dword [0x4a5970]
fstp dword [esp + 0x5c]
wait
fld qword [esp]
fmul dword [esp + 0x44]
fsubr dword [esp + 0x40]
fstp qword [esp + 0x10]
wait
fld qword [esp + 8]
fmul dword [esp + 0x44]
fsubr dword [esp + 0x40]
fstp qword [esp + 0x18]
wait
fld qword [esp]
fmul dword [esp + 0x4c]
fsubr dword [esp + 0x48]
fstp qword [esp + 0x20]
wait
fld qword [esp + 8]
fmul dword [esp + 0x4c]
fsubr dword [esp + 0x48]
fstp qword [esp + 0x28]
wait
mov eax, dword [esi + 0x48]
dec eax
test eax, eax
jl 0x4a5950
inc eax
mov dword [esp + 0x80], eax
xor edi, edi
mov ecx, 4
lea eax, [esp + 0x90]
mov byte [eax], 0
add eax, 0x10
dec ecx
jne 0x4a51c1
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x54]
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x44]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a5237
mov dword [esp + 0xc8], edi
fild dword [esp + 0xc8]
fmul qword [esp]
fmul dword [0x4a5974]
fadd qword [esp + 0x10]
fstp qword [esp + 0x88]
wait
mov byte [esp + 0x90], 1
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x5c]
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x44]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a52a5
mov dword [esp + 0xc8], edi
fild dword [esp + 0xc8]
fmul qword [esp + 8]
fmul dword [0x4a5974]
fadd qword [esp + 0x18]
fstp qword [esp + 0x98]
wait
mov byte [esp + 0xa0], 1
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x5c]
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x4c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a5312
mov dword [esp + 0xc8], edi
fild dword [esp + 0xc8]
fmul qword [esp]
fmul dword [0x4a5974]
fadd qword [esp + 0x20]
fstp qword [esp + 0xa8]
wait
mov byte [esp + 0xb0], 1
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x54]
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x4c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a5380
mov dword [esp + 0xc8], edi
fild dword [esp + 0xc8]
fmul qword [esp + 8]
fmul dword [0x4a5974]
fadd qword [esp + 0x28]
fstp qword [esp + 0xb8]
wait
mov byte [esp + 0xc0], 1
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x40c38800
mov ecx, 4
lea edx, [esp + 0x90]
cmp byte [edx], 0
je 0x4a53ba
fld qword [esp + 0x60]
fcomp qword [edx - 8]
wait
fnstsw ax
sahf
jbe 0x4a53ba
mov eax, dword [edx - 8]
mov dword [esp + 0x60], eax
mov eax, dword [edx - 4]
mov dword [esp + 0x64], eax
add edx, 0x10
dec ecx
jne 0x4a539a
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0xc0c38800
mov ecx, 4
lea edx, [esp + 0x90]
cmp byte [edx], 0
je 0x4a53fa
fld qword [esp + 0x78]
fcomp qword [edx - 8]
wait
fnstsw ax
sahf
jae 0x4a53fa
mov eax, dword [edx - 8]
mov dword [esp + 0x78], eax
mov eax, dword [edx - 4]
mov dword [esp + 0x7c], eax
add edx, 0x10
dec ecx
jne 0x4a53da
mov ecx, 4
lea edx, [esp + 0x90]
mov byte [edx], 0
add edx, 0x10
dec ecx
jne 0x4a540c
lea edx, [edi + 1]
mov eax, edx
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x54]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x44]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a5486
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul qword [esp]
fmul dword [0x4a5974]
fadd qword [esp + 0x10]
fstp qword [esp + 0x88]
wait
mov byte [esp + 0x90], 1
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x5c]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x44]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a54f6
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul qword [esp + 8]
fmul dword [0x4a5974]
fadd qword [esp + 0x18]
fstp qword [esp + 0x98]
wait
mov byte [esp + 0xa0], 1
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x5c]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x4c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a5565
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul qword [esp]
fmul dword [0x4a5974]
fadd qword [esp + 0x20]
fstp qword [esp + 0xa8]
wait
mov byte [esp + 0xb0], 1
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsub dword [esp + 0x54]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsub dword [esp + 0x4c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
ja 0x4a55d5
mov dword [esp + 0xc8], edx
fild dword [esp + 0xc8]
fmul qword [esp + 8]
fmul dword [0x4a5974]
fadd qword [esp + 0x28]
fstp qword [esp + 0xb8]
wait
mov byte [esp + 0xc0], 1
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x40c38800
mov ecx, 4
lea edx, [esp + 0x90]
cmp byte [edx], 0
je 0x4a560f
fld qword [esp + 0x68]
fcomp qword [edx - 8]
wait
fnstsw ax
sahf
jbe 0x4a560f
mov eax, dword [edx - 8]
mov dword [esp + 0x68], eax
mov eax, dword [edx - 4]
mov dword [esp + 0x6c], eax
add edx, 0x10
dec ecx
jne 0x4a55ef
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0xc0c38800
mov ecx, 4
lea edx, [esp + 0x90]
cmp byte [edx], 0
je 0x4a564f
fld qword [esp + 0x70]
fcomp qword [edx - 8]
wait
fnstsw ax
sahf
jae 0x4a564f
mov eax, dword [edx - 8]
mov dword [esp + 0x70], eax
mov eax, dword [edx - 4]
mov dword [esp + 0x74], eax
add edx, 0x10
dec ecx
jne 0x4a562f
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0042ef30
fstp qword [esp + 0x30]
wait
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x74]
push dword [esp + 0x74]
call fcn.0042f020
fstp qword [esp + 0x38]
wait
mov eax, dword [esp + 0x30]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.0042ef30
fstp qword [esp + 0x30]
wait
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.0042f020
fstp qword [esp + 0x38]
wait
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsubr dword [esp + 0x44]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsubr dword [esp + 0x44]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
jae 0x4a577a
fld dword [esp + 0x40]
fcomp qword [esp + 0x60]
wait
fnstsw ax
sahf
jae 0x4a5763
fld dword [esp + 0x40]
fstp qword [esp + 0x60]
wait
fld dword [esp + 0x40]
fcomp qword [esp + 0x78]
wait
fnstsw ax
sahf
jbe 0x4a577a
fld dword [esp + 0x40]
fstp qword [esp + 0x78]
wait
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsubr dword [esp + 0x4c]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsubr dword [esp + 0x4c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
jae 0x4a57eb
fld dword [esp + 0x48]
fcomp qword [esp + 0x60]
wait
fnstsw ax
sahf
jae 0x4a57d4
fld dword [esp + 0x48]
fstp qword [esp + 0x60]
wait
fld dword [esp + 0x48]
fcomp qword [esp + 0x78]
wait
fnstsw ax
sahf
jbe 0x4a57eb
fld dword [esp + 0x48]
fstp qword [esp + 0x78]
wait
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsubr dword [esp + 0x54]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsubr dword [esp + 0x54]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
jae 0x4a585c
fld dword [esp + 0x50]
fcomp qword [esp + 0x60]
wait
fnstsw ax
sahf
jae 0x4a5845
fld dword [esp + 0x50]
fstp qword [esp + 0x60]
wait
fld dword [esp + 0x50]
fcomp qword [esp + 0x78]
wait
fnstsw ax
sahf
jbe 0x4a585c
fld dword [esp + 0x50]
fstp qword [esp + 0x78]
wait
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
fild dword [esp + 0xc8]
fsubr dword [esp + 0x5c]
lea eax, [edi + 1]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0xcc], eax
fild dword [esp + 0xcc]
fsubr dword [esp + 0x5c]
fmulp st(1)
fcomp dword [0x4a5968]
wait
fnstsw ax
sahf
jae 0x4a58cd
fld dword [esp + 0x58]
fcomp qword [esp + 0x60]
wait
fnstsw ax
sahf
jae 0x4a58b6
fld dword [esp + 0x58]
fstp qword [esp + 0x60]
wait
fld dword [esp + 0x58]
fcomp qword [esp + 0x78]
wait
fnstsw ax
sahf
jbe 0x4a58cd
fld dword [esp + 0x58]
fstp qword [esp + 0x78]
wait
test bl, bl
jne 0x4a590a
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
mov ecx, dword [esp + 0x60]
mov dword [edx + eax*8], ecx
mov ecx, dword [esp + 0x64]
mov dword [edx + eax*8 + 4], ecx
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
mov ecx, dword [esp + 0x78]
mov dword [edx + eax*8 + 0x18], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + eax*8 + 0x1c], ecx
jmp 0x4a5942
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
mov ecx, dword [esp + 0x68]
mov dword [edx + eax*8 + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [edx + eax*8 + 0xc], ecx
mov eax, edi
add eax, eax
add eax, eax
mov edx, dword [esi + 0xac]
mov ecx, dword [esp + 0x70]
mov dword [edx + eax*8 + 0x10], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + eax*8 + 0x14], ecx
inc edi
dec dword [esp + 0x80]
jne 0x4a51b5
test bl, bl
jne 0x4a595d
mov dl, 1
mov eax, esi
call fcn.004a4e04
add esp, 0xd0
pop edi
pop esi
pop ebx
ret