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

Disassembly:
push 0xffffffffffffffff
push 0x4886b6
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49f3b0]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edi, ecx
fld dword [esp + 0x3c]
sub esp, 8
fst dword [0x49f398]
fld dword [esp + 0x48]
fstp dword [0x49f39c]
fld dword [esp + 0x4c]
fstp dword [0x49f3a0]
fld dword [esp + 0x50]
fstp dword [0x49f3a4]
fstp qword [esp]
call fcn.00469f90
mov ecx, edi
call fcn.00467b50
test eax, eax
jne 0x46ec6f
mov ecx, edi
call fcn.004677c0
fstp dword [esp + 0x3c]
lea ecx, [edi + 0x2c]
call fcn.004677c0
fstp dword [esp + 0x40]
mov ecx, dword [edi + 0x74]
mov esi, dword [edi + 0x10]
mov ebx, dword [edi + 0x3c]
test ecx, ecx
jne 0x46e593
push 0x1c
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], 0
test eax, eax
je 0x46e584
push 0x494ad4
push ebx
push esi
mov ecx, eax
call fcn.0046f2b0
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x74], eax
jmp 0x46e5a7
xor eax, eax
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x74], eax
jmp 0x46e5a7
push 0x494ad4
push ebx
push esi
call fcn.0046f470
test eax, eax
jne 0x46ec6f
cmp dword [edi + 0x74], 0
je 0x46ebe6
mov eax, dword [edi + 0x78]
test eax, eax
jne 0x46e5ff
push 0x10
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], 1
test eax, eax
je 0x46e5f0
push 0x4e20
push 0x2710
mov ecx, eax
call fcn.0046f360
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x78], eax
jmp 0x46e605
xor eax, eax
mov dword [esp + 0x34], 0xffffffff
mov dword [edi + 0x78], eax
jmp 0x46e605
mov dword [eax], 0
cmp dword [edi + 0x78], 0
je 0x46ebe6
mov ecx, edi
call fcn.00467b30
test eax, eax
jne 0x46ec6f
mov eax, dword [edi + 0x78]
mov ebp, dword [eax]
cmp ebp, 1
jl 0x46ec6d
mov eax, dword [eax + 0xc]
xor ebx, ebx
test ebp, ebp
jle 0x46ec6d
lea esi, [eax + 8]
lea esp, [esp]
mov eax, dword [esi - 8]
mov ecx, dword [esi - 4]
cmp eax, ecx
jne 0x46e95c
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je 0x46e95c
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.004677e0
fstp dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
push ecx
lea ecx, [edi + 0x2c]
call fcn.004677e0
fstp dword [esp + 0x20]
mov ecx, dword [esi]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x48]
mov ecx, dword [esi + 4]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x44]
mov ecx, dword [esi - 8]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x18]
mov ecx, dword [esi - 4]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x14]
fld dword [esp + 0x1c]
fld st(0)
fsub dword [esp + 0x48]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fabs
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x44]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fabs
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fld st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fabs
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x28]
fld st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fabs
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
fld dword [esp + 0x1c]
fld dword [esp + 0x28]
fld dword [esp + 0x20]
test ah, 5
jp 0x46e7a1
fxch st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x46e7a3
fld dword [esp + 0x3c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x46e7a3
fld dword [esp + 0x3c]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x46e7a3
cmp dword [esp + 0x4c], 0
fstp st(3)
fstp st(4)
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
je 0x46ebe6
jmp 0x46ec61
fstp st(3)
fxch st(3)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x46e80c
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x46e80c
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x46e80c
fstp st(4)
sub esp, 8
fstp st(0)
fstp st(1)
fstp st(0)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046dfd0
fstp dword [esp + 0x50]
add esp, 8
fld dword [esp + 0x48]
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x46ebe4
push ecx
mov ecx, dword [esi]
fstp dword [esp]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fcom st(1)
fnstsw ax
test ah, 1
jne 0x46e876
fxch st(1)
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x46e87a
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x46e87a
fstp st(1)
sub esp, 8
fstp st(3)
fstp st(1)
fstp st(0)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046df80
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x46ebe4
push ecx
mov ecx, dword [esi + 4]
fstp dword [esp]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fstp st(5)
jmp 0x46e87e
fstp st(5)
fxch st(4)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x46e8ea
fxch st(2)
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x46e8e8
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x46e8e8
fstp st(4)
sub esp, 8
fstp st(1)
fstp st(0)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046dfd0
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x46ebe4
push ecx
mov ecx, dword [esi - 8]
fstp dword [esp]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x46ec4b
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x46ec53
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jp 0x46ec4f
sub esp, 8
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046df80
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x46ebe4
push ecx
mov ecx, dword [esi - 8]
fstp dword [esp]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jne 0x46ebe6
cmp eax, ecx
je 0x46ebe6
mov eax, dword [esi + 8]
push eax
mov ecx, edi
call fcn.004677e0
fstp dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
push ecx
lea ecx, [edi + 0x2c]
call fcn.004677e0
fstp dword [esp + 0x28]
mov ecx, dword [esi]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x48]
mov ecx, dword [esi + 4]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x44]
mov ecx, dword [esi - 8]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x14]
mov ecx, dword [esi - 4]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467330
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fld st(0)
fsub dword [esp + 0x14]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x20]
fld st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x48]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x24]
fld st(0)
fsub dword [esp + 0x44]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fld dword [esp + 0x3c]
fcom st(1)
fnstsw ax
fld dword [esp + 0x1c]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
test ah, 5
jp 0x46eab7
fxch st(3)
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x46eab9
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x46eab9
fld dword [esp + 0x40]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x46eab9
cmp dword [esp + 0x4c], 0
fstp st(3)
fstp st(3)
fstp st(3)
fstp st(2)
fstp st(0)
fstp st(0)
je 0x46ebe6
jmp 0x46ec61
fstp st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x46eb22
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x46eb22
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x46eb22
fstp st(3)
sub esp, 8
fstp st(4)
fstp st(0)
fstp st(2)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046dfd0
fstp dword [esp + 0x50]
add esp, 8
fld dword [esp + 0x48]
fld dword [esp + 0x44]
fcomp st(1)
fnstsw ax
test ah, 0x41
jnp 0x46ebe4
push ecx
mov ecx, dword [esi]
fstp dword [esp]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fcom st(2)
fnstsw ax
test ah, 1
jne 0x46eb8a
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x46eb8e
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x46eb8e
fstp st(3)
sub esp, 8
fstp st(4)
fstp st(3)
fstp st(2)
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046df80
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x46ebe4
push ecx
mov ecx, dword [esi + 4]
fstp dword [esp]
push 1
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fstp st(4)
jmp 0x46eb96
fstp st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x46ebee
fcom st(3)
fnstsw ax
test ah, 0x41
jp 0x46ebee
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x46ebee
fstp st(1)
sub esp, 8
fstp st(1)
fstp st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046dfd0
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x46e942
fstp st(0)
or eax, 0xffffffff
jmp 0x46ec6f
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x46ec59
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x46ec5b
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x46ec5d
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0046df80
fstp dword [esp + 0x4c]
add esp, 8
fld dword [esp + 0x44]
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x46ebe4
push ecx
mov ecx, dword [esi - 4]
fstp dword [esp]
push 0
call fcn.00467480
mov ecx, eax
call fcn.00467320
jmp 0x46ec61
fstp st(3)
fstp st(1)
fstp st(0)
jmp 0x46ec5f
fstp st(2)
fstp st(0)
jmp 0x46ec5f
fstp st(0)
fstp st(2)
fstp st(1)
fstp st(0)
inc ebx
add esi, 0x18
cmp ebx, ebp
jl 0x46e640
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x14