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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x51c5f3
mov eax, dword fs:[0]
push eax
sub esp, 0x94
push ebx
push esi
mov eax, dword [0x5750c8]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
call fcn.0048fe70
fstp qword [esp + 0x14]
call fcn.0048fe70
fmul qword [esp + 0x14]
fstp qword [esp + 0xc]
call fcn.0048fdd0
fstp qword [esp + 0x14]
call fcn.0048fe70
fmul qword [esp + 0x14]
push ecx
fadd qword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.00416580
fmul qword [0x555640]
or dword [edi + 0x34], 0x200
add esp, 4
fstp dword [esp + 0x24]
fld dword [edi + 0x80]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fsub qword [0x554dc8]
fmul qword [0x554fd0]
fldz
fcom st(1)
fnstsw ax
fld1
test ah, 1
jne 0x4a6c7f
fstp st(2)
fld st(0)
jmp 0x4a6c90
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x4a6c8e
fstp st(2)
fld st(1)
jmp 0x4a6c90
fxch st(2)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [esp + 0x24]
fstp dword [edi + 0xa4]
fld dword [edi + 0x80]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fsub qword [0x555770]
fdiv qword [0x555768]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4a6fb6
fstp st(0)
fstp st(1)
test byte [0x5fd298], 1
fstp dword [esp + 0xc]
jne 0x4a6d09
or dword [0x5fd298], 1
mov dword [esp + 0xa8], 0
call fcn.004f4090
push 0x529300
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
fld dword [esp + 0xc]
fld qword [0x555760]
fmul st(1)
fadd qword [0x554e10]
fstp dword [0x5fd004]
mov eax, dword [edi + 0xb4]
mov esi, dword [edi + 0xac]
fmul dword [esp + 0x24]
mov ebx, dword [edi + 0xb0]
mov dword [esp + 0x3c], eax
fstp dword [edi + 0xa8]
call fcn.004fa0d0
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
fld dword [edi + 0xa4]
fmul qword [0x555298]
fstp dword [esp + 0xc]
call fcn.004fa0d0
fld dword [esp + 0xc]
mov ebx, 1
fstp dword [eax]
test byte [0x5fd298], bl
jne 0x4a6da5
or dword [0x5fd298], ebx
mov dword [esp + 0xa8], ebx
call fcn.004f4090
push 0x529300
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
mov ecx, 0x5fcf88
call fcn.004eec00
fmul dword [ebp + 8]
fstp dword [esp + 0x20]
fld dword [0x555758]
fcomp dword [edi + 0x80]
fnstsw ax
test ah, 5
jnp 0x4a7256
test byte [0x5c219c], 1
jne 0x4a6e04
or dword [0x5c219c], ebx
mov dword [esp + 0xa8], 2
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
mov edx, dword [0x5c0b00]
mov ecx, dword [edx]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
cmp eax, ecx
je 0x4a7118
mov esi, dword [eax + 8]
test esi, esi
je 0x4a7118
jmp 0x4a6e30
lea edx, [esi + 0x10]
lea ecx, [edi + 0xac]
lea eax, [esp + 0x28]
call fcn.00403710
lea ecx, [esp + 0x28]
call fcn.00402a70
fstp dword [esp + 0x1c]
cmp byte [esi + 0xb8], 0
jne 0x4a6e6f
fld dword [0x554bd0]
fcomp dword [esi + 0xbc]
fnstsw ax
test ah, 5
jp 0x4a7012
fld dword [esp + 0x1c]
fld dword [edi + 0xa8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4a6fcc
fld dword [esi + 0xbc]
fcomp qword [0x555750]
fnstsw ax
test ah, 0x41
jne 0x4a6ea5
fld dword [0x554f48]
fstp dword [esi + 0xbc]
fld dword [edi + 0x80]
fcomp qword [0x5550d8]
fnstsw ax
test ah, 0x41
jne 0x4a70ba
fld dword [0x554cf8]
lea ecx, [esp + 0x1c]
fstp dword [esp + 0x14]
lea eax, [esp + 0x78]
lea edx, [esp + 0x28]
fsubr dword [edi + 0xa8]
fstp dword [esp + 0x1c]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x84]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0x14]
lea eax, [esp + 0x6c]
call fcn.004037a0
fld dword [eax]
fadd dword [esi + 0x1c]
lea edx, [esi + 0xc8]
lea ecx, [edi + 0xac]
fstp dword [esi + 0x1c]
fld dword [eax + 4]
fadd dword [esi + 0x20]
fstp dword [esi + 0x20]
fld dword [eax + 8]
lea eax, [esp + 0x48]
fadd dword [esi + 0x24]
fstp dword [esi + 0x24]
call fcn.00403710
lea ecx, [esp + 0x48]
call fcn.00402a70
fstp dword [esp + 0x14]
fld dword [0x554cf8]
lea ecx, [esp + 0x14]
fstp dword [esp + 0x1c]
lea eax, [esp + 0x34]
fld dword [edi + 0xa8]
lea edx, [esp + 0x48]
fsub dword [esp + 0x14]
fstp dword [esp + 0x14]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x60]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0x1c]
lea eax, [esp + 0x54]
call fcn.004037a0
fld dword [eax]
fadd dword [esi + 0xd4]
fstp dword [esi + 0xd4]
fld dword [eax + 4]
fadd dword [esi + 0xd8]
fstp dword [esi + 0xd8]
fld dword [eax + 8]
fadd dword [esi + 0xdc]
fstp dword [esi + 0xdc]
jmp 0x4a70bc
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4a6ccb
fstp st(0)
jmp 0x4a6ccd
fstp st(0)
fldz
fcomp dword [esi + 0xbc]
fnstsw ax
test ah, 5
jp 0x4a70bc
cmp esi, dword [edi + 0x7c]
je 0x4a70bc
fld dword [0x55574c]
fcomp dword [edi + 0x80]
fnstsw ax
test ah, 0x41
jne 0x4a70bc
fld dword [0x5768e0]
fstp dword [esi + 0xbc]
jmp 0x4a70bc
fldz
fcomp dword [esi + 0x74]
fnstsw ax
test ah, 1
jne 0x4a70bc
fld dword [esp + 0x1c]
fld dword [edi + 0xa4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4a70bc
fld dword [edi + 0xa4]
fld dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4a70bc
cmp esi, dword [edi + 0x7c]
je 0x4a70bc
fld dword [edi + 0x80]
fcomp qword [0x5550d8]
fnstsw ax
test ah, 5
jp 0x4a70bc
fld dword [esp + 0x28]
lea ecx, [esp + 0x28]
fld qword [0x554b88]
push ecx
fmul st(1), st(0)
push 0
fxch st(1)
push 0
push 0
fstp dword [esp + 0x38]
mov ecx, esi
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x3c]
fmul dword [esp + 0x40]
fstp dword [esp + 0x40]
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
call edx
push 1
push 1
push 0
push 1
call fcn.00492940
fld dword [0x5768e0]
fstp dword [esi + 0xbc]
add esp, 0x10
jmp 0x4a70bc
fstp st(0)
test byte [0x5c219c], 1
jne 0x4a70f4
or dword [0x5c219c], 1
mov dword [esp + 0xa8], 3
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [0x5c0b00]
mov dword [esp + 0xc], eax
cmp eax, dword [ecx]
je 0x4a7113
mov esi, dword [eax + 8]
test esi, esi
jne 0x4a6e30
mov ebx, 1
test byte [0x5c219c], 1
jne 0x4a714f
or dword [0x5c219c], ebx
mov dword [esp + 0xa8], 4
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [0x5c0b00]
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax]
cmp ebx, eax
je 0x4a7256
mov esi, dword [ebx + 8]
test esi, esi
je 0x4a7256
lea ecx, [ecx]
lea edx, [esi + 0x10]
lea ecx, [edi + 0xac]
lea eax, [esp + 0x34]
call fcn.00403710
lea ecx, [esp + 0x34]
call fcn.00402a70
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [edi + 0xa8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x4a7204
fld dword [0x554cf8]
lea ecx, [esp + 0x14]
fstp dword [esp + 0xc]
lea eax, [esp + 0x54]
lea edx, [esp + 0x34]
fsubr dword [edi + 0xa8]
fstp dword [esp + 0x14]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0x20]
lea eax, [esp + 0x60]
call fcn.004037a0
mov edx, eax
lea ecx, [esp + 0xc]
lea eax, [esp + 0x90]
call fcn.004037a0
fld dword [esi + 0x1c]
fadd dword [eax]
fstp dword [esi + 0x1c]
fld dword [eax + 4]
fadd dword [esi + 0x20]
fstp dword [esi + 0x20]
fld dword [eax + 8]
fadd dword [esi + 0x24]
fstp dword [esi + 0x24]
jmp 0x4a7206
fstp st(0)
test byte [0x5c219c], 1
jne 0x4a723e
or dword [0x5c219c], 1
mov dword [esp + 0xa8], 5
call fcn.004e7170
push 0x5293c0
call fcn.0045f177
add esp, 4
mov dword [esp + 0xa8], 0xffffffff
mov ebx, dword [ebx]
mov edx, dword [0x5c0b00]
cmp ebx, dword [edx + 0xc]
je 0x4a7256
mov esi, dword [ebx + 8]
test esi, esi
jne 0x4a7170
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4