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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [eax], 0
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ecx], 0
push esi
mov dword [edx], 0
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push edi
push 0
sub esi, 1
push 0x13
mov dword [esp + 0x78], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x74], edx
call fcn.00447120
mov edi, eax
mov eax, dword [esp + 0x74]
add esp, 8
lea ecx, [esp + 0x30]
push ecx
mov dword [edi + 0x94], 0x20
mov dword [edi + 4], 0
mov dword [edi], 0
fld qword [eax]
sub esp, 8
fst qword [edi + 8]
fstp qword [esp]
push ebx
mov dword [esp + 0x2c], edi
call fcn.00448430
mov eax, dword [ebp + 8]
add esp, 0x10
sub eax, 1
je 0x465072
sub eax, 1
je 0x464fb9
sub eax, 1
jne 0x464ff5
mov ebx, dword [ebp + 0x10]
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x9c]
push eax
push ebx
call fcn.00430cb0
fld qword [esp + 0x3c]
lea ecx, [edi + 0x78]
fstp qword [edi + 0x20]
fld qword [esp + 0x44]
push ecx
lea edx, [edi + 0x68]
fstp qword [edi + 0x28]
fld qword [esp + 0x50]
push edx
lea eax, [edi + 0x50]
fstp qword [edi + 0x30]
push eax
lea ecx, [edi + 0x40]
push ecx
lea edx, [esp + 0x4c]
push edx
push 0
push ebx
call fcn.00461c70
add esp, 0x28
jmp 0x46519e
fld qword [esp + 0x30]
lea eax, [edi + 0x10]
lea ebx, [edi + 0x20]
fstp qword [eax]
fld qword [esp + 0x38]
push ebx
push eax
fstp qword [edi + 0x18]
mov eax, dword [ebp + 0x10]
push eax
call fcn.004326d0
fld qword [ebx]
fstp qword [edi + 0x50]
add esp, 0xc
fld qword [edi + 0x28]
mov dword [edi + 0x90], 1
fstp qword [edi + 0x58]
fld qword [edi + 0x30]
fstp qword [edi + 0x60]
xor eax, eax
cmp esi, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], eax
mov ebx, edi
mov dword [esp + 0x10], eax
jle 0x46570c
mov ecx, dword [esp + 0x6c]
add ecx, 8
mov dword [esp + 0x68], ecx
fld qword [ecx]
fcomp qword [ecx - 8]
fnstsw ax
test ah, 0x44
jnp 0x4656ec
mov dword [esp + 0x14], 1
push 0
push 0x13
call fcn.00447120
mov edi, eax
mov eax, dword [esp + 0x70]
add esp, 8
cmp dword [esp + 0x14], 0
mov dword [ebx], edi
mov dword [edi + 4], ebx
mov dword [edi], 0
je 0x4651c5
mov dword [edi + 0x94], 1
fld qword [eax]
fadd qword [eax - 8]
fmul qword [0x50c4f8]
jmp 0x4651d1
fld qword [esp + 0x30]
mov ecx, dword [ebp + 0x10]
lea eax, [edi + 0x20]
fstp qword [edi + 0x10]
fld qword [esp + 0x38]
push eax
lea ebx, [edi + 0x10]
fstp qword [edi + 0x18]
push ebx
push ecx
call fcn.004326d0
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0xa8]
push eax
push ecx
call fcn.00430cb0
fld qword [esp + 0xb8]
fsub qword [esp + 0xb0]
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0xe8]
push edx
fstp qword [esp + 0xbc]
lea eax, [esp + 0xfc]
fld qword [esp + 0xcc]
push eax
fsub qword [esp + 0xc8]
push ecx
fstp qword [esp + 0xd4]
call fcn.00430cb0
fld qword [esp + 0x10c]
add esp, 0x24
fld qword [esp + 0xe0]
fsub st(1), st(0)
fxch st(1)
fst qword [esp + 0xe8]
fld qword [esp + 0xd8]
fld qword [esp + 0xd0]
fsub st(1), st(0)
fxch st(1)
fst qword [esp + 0xd8]
fld qword [ebx]
fsub qword [esp + 0x98]
fmulp st(3)
fldz
fld st(0)
fld qword [esp + 0xa0]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x465147
fdivp st(4)
jmp 0x465149
fstp st(0)
fxch st(3)
faddp st(4)
fxch st(3)
fstp qword [esp + 0x20]
fld qword [edi + 0x18]
fsub qword [esp + 0xa8]
fmulp st(3)
fld qword [esp + 0xb0]
fucom st(2)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x4651c1
fxch st(2)
fdivrp st(1)
fxch st(1)
push 0
faddp st(1)
push 0
lea edx, [edi + 0x50]
push edx
fstp qword [esp + 0x34]
mov edx, dword [ebp + 0x14]
lea eax, [edi + 0x40]
push eax
lea eax, [edi + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.00461c70
add esp, 0x1c
test eax, eax
mov dword [edi + 0x90], eax
jg 0x464ff5
push 0x13
push edi
call fcn.004471f0
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
jmp 0x465177
mov dword [edi + 0x94], 0x20
fld qword [eax]
mov edx, dword [ebp + 0xc]
fstp qword [edi + 8]
fld qword [edi + 8]
lea ecx, [esp + 0x30]
push ecx
sub esp, 8
fstp qword [esp]
push edx
call fcn.00448430
mov eax, dword [ebp + 8]
add esp, 0x10
sub eax, 1
je 0x465283
sub eax, 1
je 0x46523d
sub eax, 1
jne 0x466085
fld qword [esp + 0x30]
lea eax, [edi + 0x78]
push eax
fstp qword [edi + 0x20]
fld qword [esp + 0x3c]
lea ecx, [edi + 0x68]
push ecx
fstp qword [edi + 0x28]
fld qword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
lea esi, [edi + 0x50]
fstp qword [edi + 0x30]
push esi
lea edx, [edi + 0x40]
push edx
lea eax, [esp + 0x40]
push eax
push 0
push ecx
jmp 0x46532b
fld qword [esp + 0x30]
mov edx, dword [ebp + 0x10]
lea ecx, [edi + 0x20]
fstp qword [edi + 0x10]
fld qword [esp + 0x38]
lea eax, [edi + 0x10]
push ecx
fstp qword [edi + 0x18]
push eax
push edx
call fcn.004326d0
fld qword [edi + 0x20]
fstp qword [edi + 0x50]
lea esi, [edi + 0x50]
fld qword [edi + 0x28]
add esp, 0xc
fstp qword [edi + 0x58]
mov dword [edi + 0x90], 1
fld qword [edi + 0x30]
fstp qword [edi + 0x60]
jmp 0x465341
fld qword [esp + 0x30]
lea eax, [edi + 0x20]
push eax
fstp qword [edi + 0x10]
mov eax, dword [ebp + 0x10]
fld qword [esp + 0x3c]
lea esi, [edi + 0x10]
fstp qword [edi + 0x18]
push esi
push eax
call fcn.004326d0
fld qword [esi]
fsub qword [esp + 0xa4]
add esp, 0xc
fmul qword [esp + 0xe8]
fldz
fld st(0)
fld qword [esp + 0xa0]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4652cf
fdivp st(2)
jmp 0x4652d1
fstp st(0)
fxch st(1)
fadd qword [esp + 0xe0]
fstp qword [esp + 0x20]
fld qword [edi + 0x18]
fsub qword [esp + 0xa8]
fmul qword [esp + 0xd8]
fld qword [esp + 0xb0]
fucom st(2)
fnstsw ax
fstp st(2)
test ah, 0x44
jnp 0x465305
fdivrp st(1)
jmp 0x465307
fstp st(1)
fadd qword [esp + 0xd0]
push 0
push 0
lea esi, [edi + 0x50]
push esi
fstp qword [esp + 0x34]
lea ecx, [edi + 0x40]
push ecx
lea eax, [edi + 0x20]
push eax
mov eax, dword [ebp + 0x14]
lea edx, [esp + 0x34]
push edx
push eax
call fcn.00461c70
add esp, 0x1c
test eax, eax
mov dword [edi + 0x90], eax
jle 0x466085
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x465627
mov edx, dword [ebp + 8]
cmp edx, 1
je 0x46542b
fld qword [esi]
fsub qword [ebx + 0x50]
fst qword [esp + 0xb8]
fld qword [edi + 0x58]
fsub qword [ebx + 0x58]
fst qword [esp + 0xc0]
fld qword [edi + 0x60]
fsub qword [ebx + 0x60]
fst qword [esp + 0xc8]
fld qword [esp + 0x88]
fmul st(2)
fld qword [esp + 0x80]
fmul st(4)
faddp st(1)
fld qword [esp + 0x90]
fmul st(2)
faddp st(1)
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x465446
xor eax, eax
fstp st(0)
cmp dword [esp + 0x14], eax
je 0x465408
cmp edx, 3
jne 0x4653d4
fld qword [esp + 0xf0]
fstp qword [esp + 0x50]
fld qword [esp + 0xf8]
fstp qword [esp + 0x58]
fxch st(2)
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x24]
fstp qword [esp + 0x80]
mov dword [ebx + 0x94], 0x30
add dword [eax], 1
fstp qword [esp + 0x88]
mov dword [esp + 0x64], ebx
fstp qword [esp + 0x90]
jmp 0x465692
fstp st(1)
mov dword [esp + 0x64], eax
mov dword [esp + 0x18], eax
fstp st(0)
mov eax, dword [ebp + 0x24]
fstp st(0)
mov dword [edi + 0x94], 0x30
add dword [eax], 1
jmp 0x465692
fld qword [esp + 0xc8]
fld qword [esp + 0xc0]
fldz
fld qword [esp + 0xb8]
fxch st(3)
fxch st(1)
cmp edx, 2
je 0x465686
fld qword [edi + 0x40]
fsub qword [ebx + 0x40]
fst qword [esp + 0xf0]
fld qword [edi + 0x48]
fsub qword [ebx + 0x48]
fst qword [esp + 0xf8]
fld qword [esp + 0x58]
fmul st(1)
fld qword [esp + 0x50]
fmul st(3)
faddp st(1)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x465516
cmp dword [esp + 0x14], 0
fstp st(2)
je 0x4654f1
cmp edx, 3
fstp qword [esp + 0x50]
fstp qword [esp + 0x58]
jne 0x4654ce
mov eax, dword [ebp + 0x24]
fxch st(2)
fstp qword [esp + 0x80]
mov dword [ebx + 0x94], 0x30
add dword [eax], 1
fstp qword [esp + 0x88]
mov dword [esp + 0x18], 0
fstp qword [esp + 0x90]
jmp 0x46568e
mov eax, dword [ebp + 0x24]
fstp st(1)
fstp st(0)
mov dword [ebx + 0x94], 0x30
add dword [eax], 1
fstp st(0)
mov dword [esp + 0x18], 0
jmp 0x46568e
mov eax, dword [ebp + 0x24]
fstp st(0)
fstp st(0)
xor ebx, ebx
fstp st(1)
mov dword [edi + 0x94], 0x30
add dword [eax], 1
fstp st(0)
fstp st(0)
mov dword [esp + 0x18], ebx
jmp 0x46568e
fstp st(4)
fstp st(2)
fld qword [ebx + 0x40]
fsub qword [ecx + 0x40]
fld st(0)
fld qword [ebx + 0x48]
fsub qword [ecx + 0x48]
fld st(0)
fxch st(2)
fmul st(6)
fxch st(2)
fmul st(5)
fsubp st(2)
fld st(3)
fucomp st(2)
fnstsw ax
test ah, 0x44
jnp 0x465670
fxch st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x465557
mov eax, 1
jmp 0x46555a
or eax, 0xffffffff
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x465571
fstp st(2)
mov dword [esp + 0x18], eax
fstp st(2)
fstp st(0)
jmp 0x46568a
cmp eax, esi
je 0x46567e
cmp dword [esp + 0x14], 0
je 0x4655d5
cmp edx, 3
fstp st(0)
fstp st(0)
fstp qword [esp + 0x50]
fstp qword [esp + 0x58]
jne 0x4655b6
fstp qword [esp + 0x80]
fld qword [esp + 0xc0]
fstp qword [esp + 0x88]
fld qword [esp + 0xc8]
fstp qword [esp + 0x90]
jmp 0x4655b8
fstp st(0)
mov eax, dword [ebp + 0x24]
mov dword [ebx + 0x94], 0x30
add dword [eax], 1
mov dword [esp + 0x18], 0
jmp 0x46568e
cmp edx, 3
fstp st(2)
fstp st(2)
fstp st(2)
fxch st(1)
fstp qword [esp + 0x50]
fstp qword [esp + 0x58]
jne 0x465611
fld qword [ebx + 0x50]
fsub qword [ecx + 0x50]
fstp qword [esp + 0x80]
fld qword [ebx + 0x58]
fsub qword [ecx + 0x58]
fstp qword [esp + 0x88]
fld qword [ebx + 0x60]
fsub qword [ecx + 0x60]
fstp qword [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x24]
mov dword [ecx + 0x94], 0x30
add dword [eax], 1
jmp 0x46568e
mov eax, dword [ebp + 8]
cmp eax, 1
je 0x465655
fld qword [esi]
fsub qword [ebx + 0x50]
fstp qword [esp + 0x80]
fld qword [edi + 0x58]
fsub qword [ebx + 0x58]
fstp qword [esp + 0x88]
fld qword [edi + 0x60]
fsub qword [ebx + 0x60]
fstp qword [esp + 0x90]
cmp eax, 2
je 0x46568e
fld qword [edi + 0x40]
fsub qword [ebx + 0x40]
fstp qword [esp + 0x50]
fld qword [edi + 0x48]
fsub qword [ebx + 0x48]
fstp qword [esp + 0x58]
jmp 0x46568e
fstp st(4)
fstp st(4)
fstp st(1)
fstp st(0)
fstp st(0)
fstp st(1)
jmp 0x46568c
fstp st(2)
fstp st(2)
fstp st(0)
jmp 0x46568a
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(0)
mov dword [esp + 0x64], ebx
sub dword [esp + 0x14], 1
mov ebx, edi
jns 0x465030
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x70]
lea eax, [ecx + edx - 1]
cmp eax, dword [esp + 0x4c]
jg 0x4656e8
mov ecx, dword [esp + 0x68]
fld qword [ecx]
mov edx, dword [esp + 0x6c]
fcomp qword [edx + eax*8]
fnstsw ax
test ah, 0x44
jp 0x4656e8
test byte [edi + 0x94], 0x10
jne 0x4656e8
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x24]
mov dword [edi + 0x94], 0x30
add dword [eax], 1
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
add eax, 1
add ecx, 8
cmp eax, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x68], ecx
jl 0x465018
xor eax, eax
cmp dword [ebp + 8], 3
mov dword [esp + 0x14], eax
jne 0x4660ad
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
je 0x4660ad
mov dword [esp + 0x10], 0
mov esi, eax
mov eax, dword [esi + 0x90]
test eax, 0x60000
je 0x465979
mov eax, dword [esi]
test eax, eax
je 0x4657ad
mov ebx, dword [ebp + 0x24]
mov ecx, dword [eax + 0x90]
and ecx, dword [esi + 0x90]
test ecx, 0x60000
je 0x4657ad
mov ecx, dword [eax]
test ecx, ecx
mov dword [esi], ecx
je 0x46576e
mov edx, dword [eax]
mov dword [edx + 4], esi
jmp 0x465770
mov edi, esi
cmp esi, dword [esp + 0x1c]
je 0x465790
test byte [esi + 0x94], 0x10
je 0x465782
add dword [ebx], 0xffffffff
mov ecx, dword [eax + 0x94]
mov dword [esi + 0x94], ecx
jmp 0x46579c
test byte [eax + 0x94], 0x10
je 0x46579c
add dword [ebx], 0xffffffff
push 0x13
push eax
call fcn.004471f0
mov eax, dword [esi]
add esp, 8
test eax, eax
jne 0x46574b
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x4657e4
mov ebx, dword [esi]
test ebx, ebx
je 0x4659a1
mov eax, dword [esi + 0x90]
test eax, 0x20000
je 0x4657d3
or dword [esp + 0x14], 0x200
test eax, 0x40000
je 0x46580d
or dword [esp + 0x14], 0x2000
jmp 0x46580d
cmp dword [esi], 0
jne 0x46580d
mov eax, dword [esi + 0x90]
test eax, 0x20000
je 0x4657fe
or dword [esp + 0x14], 0x400
test eax, 0x40000
je 0x46580d
or dword [esp + 0x14], 0x4000
fld qword [ebx + 8]
mov eax, dword [ebp + 0xc]
fsub qword [esi + 8]
lea edx, [esp + 0xb8]
push edx
sub esp, 8
fmul qword [0x50c4f8]
fadd qword [esi + 8]
fstp qword [esp]
push eax
call fcn.00448430
fld qword [ebx + 0x68]
fstp qword [esp + 0x30]
add esp, 0x10
fld qword [ebx + 0x70]
fstp qword [esp + 0x28]
mov eax, dword [esi + 0x90]
test eax, 0x40000
fld qword [ebx + 0x40]
jne 0x465860
fsub qword [esi + 0x40]
fmul qword [0x50c4f8]
fadd qword [esi + 0x40]
test eax, 0x20000
fstp qword [esp + 0x50]
fld qword [ebx + 0x48]
jne 0x46587a
fsub qword [esi + 0x48]
fmul qword [0x50c4f8]
fadd qword [esi + 0x48]
push 0
fstp qword [esp + 0x5c]
push 0
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x2c]
push edx
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x64]
push ecx
push edx
call fcn.00461c70
add esp, 0x1c
test eax, eax
mov dword [esp + 0x4c], eax
jle 0x466085
mov edx, dword [esi + 0x90]
test edx, 0x40000
je 0x465911
test eax, 0x40000
je 0x4658cb
fld qword [ebx + 0x40]
jmp 0x4658d4
fld qword [esp + 0x20]
fadd st(0), st(0)
fsub qword [ebx + 0x40]
mov ecx, dword [ebp + 0x10]
test dword [ecx + 0x34], 0x300
jne 0x465900
fcom qword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x4658f1
fstp st(0)
fld qword [ecx + 8]
jmp 0x465900
fcom qword [ecx + 0x10]
fnstsw ax
test ah, 0x41
jne 0x465900
fstp st(0)
fld qword [ecx + 0x10]
test dl, 2
fst qword [esi + 0x40]
mov eax, dword [esp + 0x4c]
je 0x465916
fstp qword [esi + 0x68]
jmp 0x465918
mov ecx, dword [ebp + 0x10]
jmp 0x465918
fstp st(0)
test edx, 0x20000
je 0x465972
test eax, 0x20000
je 0x46592c
fld qword [ebx + 0x48]
jmp 0x465935
fld qword [esp + 0x28]
fadd st(0), st(0)
fsub qword [ebx + 0x48]
test dword [ecx + 0x34], 0x3000
jne 0x46595e
fcom qword [ecx + 0x18]
fnstsw ax
test ah, 5
jp 0x46594f
fstp st(0)
fld qword [ecx + 0x18]
jmp 0x46595e
fcom qword [ecx + 0x20]
fnstsw ax
test ah, 0x41
jne 0x46595e
fstp st(0)
fld qword [ecx + 0x20]
test dl, 2
fst qword [esi + 0x48]
je 0x465970
or dword [esp + 0x10], 8
fstp qword [esi + 0x70]
jmp 0x465997
fstp st(0)
or dword [esp + 0x10], 8
jmp 0x465997
test eax, 0x1000
je 0x465987
or dword [esp + 0x10], 4
jmp 0x465997
test al, 2
je 0x465992
or dword [esp + 0x10], 2
jmp 0x465997
or dword [esp + 0x10], 1
mov esi, dword [esi]
test esi, esi
jne 0x465731
mov cl, byte [esp + 0x10]
test cl, 0xe
je 0x466065
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x34]
test eax, 0x200
je 0x4659bf
xor edx, edx
jmp 0x4659db
test eax, 0x2000
je 0x4659cd
mov edx, 1
jmp 0x4659db
and eax, 0xc00
neg eax
sbb eax, eax
add eax, 1
mov edx, eax
fld qword [esp + 0xa0]
mov esi, dword [esp + 0x1c]
fld qword [esp + 0x98]
xor ebx, ebx
test cl, 1
fsub st(1), st(0)
fld st(1)
fabs
fst qword [esp + 0x50]
fld qword [esp + 0xb0]
fld qword [esp + 0xa8]
fsub st(1), st(0)
fld st(1)
fabs
fst qword [esp + 0x58]
fld qword [0x50c4f8]
fmul st(6), st(0)
fxch st(6)
faddp st(5)
fxch st(4)
fstp qword [esp + 0x70]
fxch st(1)
fmulp st(4)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x78]
fld qword [esp + edx*8 + 0x50]
fmul qword [0x510ff0]
je 0x465a7d
mov ecx, esi
mov eax, dword [ecx + 0x90]
and eax, 0x610ff
cmp eax, 1
jne 0x465a6b
fld qword [ecx + edx*8 + 0x40]
fsub qword [esp + edx*8 + 0x70]
fabs
fcom st(1)
fnstsw ax
test ah, 5
jp 0x465a69
fstp st(1)
mov ebx, ecx
jmp 0x465a6b
fstp st(0)
mov ecx, dword [ecx]
test ecx, ecx
jne 0x465a40
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x465b29
test byte [esp + 0x10], 2
je 0x465ac0
mov ecx, esi
mov esi, 0x61000
test dword [ecx + 0x90], esi
jne 0x465aae
fld qword [ecx + edx*8 + 0x40]
fsub qword [esp + edx*8 + 0x70]
fabs
fcom st(1)
fnstsw ax
test ah, 5
jp 0x465aac
fstp st(1)
mov ebx, ecx
jmp 0x465aae
fstp st(0)
mov ecx, dword [ecx]
test ecx, ecx
jne 0x465a8b
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x465b29
mov esi, dword [esp + 0x1c]
mov ecx, esi
test byte [ecx + 0x90], 2
jne 0x465ae6
fld qword [ecx + edx*8 + 0x40]
fsub qword [esp + edx*8 + 0x70]
fabs
fcom st(1)
fnstsw ax
test ah, 5
jp 0x465ae4
fstp st(1)
mov ebx, ecx
jmp 0x465ae6
fstp st(0)
mov ecx, dword [ecx]
test ecx, ecx
jne 0x465ac2
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x465b29
mov ecx, esi
fld qword [ecx + edx*8 + 0x40]
fsub qword [esp + edx*8 + 0x70]
fabs
fcom st(1)
fnstsw ax
test ah, 5
jp 0x465b0f
fstp st(1)
mov ebx, ecx
jmp 0x465b11
fstp st(0)
mov ecx, dword [ecx]
test ecx, ecx
jne 0x465af6
test ebx, ebx
fstp st(0)
mov dword [esp + 0x18], ebx
jne 0x465b2b
mov ebx, esi
mov dword [esp + 0x18], ebx
jmp 0x465b2b
fstp st(0)
fld qword [0x511100]
mov eax, dword [ebx + 0x90]
mov esi, dword [ebx]
fmul st(2), st(0)
fxch st(2)
shr eax, 1
not eax
fstp qword [esp + 0x50]
and eax, 1
test esi, esi
fmulp st(1)
mov dword [esp + 0x10], eax
fstp qword [esp + 0x58]
je 0x465d8a
fld qword [esi + 0x40]
fsub qword [ebx + 0x40]
fst qword [esp + 0x20]
fld qword [esi + 0x48]
fsub qword [ebx + 0x48]
fst qword [esp + 0x28]
test byte [esi + 0x90], 2
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fst qword [esp + 0x70]
je 0x465c56
fld qword [esi + 0x68]
fsub qword [ebx + 0x40]
fld qword [esi + 0x70]
fsub qword [ebx + 0x48]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x465c54
fstp st(3)
fstp st(1)
fld qword [esi + 0x78]
fsub qword [esi + 0x20]
fstp qword [esp + 0x30]
fld qword [esi + 0x80]
fsub qword [esi + 0x28]
fstp qword [esp + 0x38]
fld qword [esi + 0x88]
fsub qword [esi + 0x30]
fstp qword [esp + 0x40]
fld qword [esi + 0x40]
fstp qword [esp + 0x20]
fld qword [esi + 0x48]
fstp qword [esp + 0x28]
fld qword [esi + 0x68]
fstp qword [esi + 0x40]
fld qword [esi + 0x70]
fstp qword [esi + 0x48]
fld qword [esp + 0x20]
fstp qword [esi + 0x68]
fld qword [esp + 0x28]
fstp qword [esi + 0x70]
fld qword [esi + 0x50]
fstp qword [esp + 0x30]
fld qword [esi + 0x58]
fstp qword [esp + 0x38]
fld qword [esi + 0x60]
fstp qword [esp + 0x40]
fld qword [esi + 0x78]
fstp qword [esi + 0x50]
fld qword [esi + 0x80]
fstp qword [esi + 0x58]
fld qword [esi + 0x88]
fstp qword [esi + 0x60]
fld qword [esp + 0x30]
fstp qword [esi + 0x78]
fld qword [esp + 0x38]
fstp qword [esi + 0x80]
fld qword [esp + 0x40]
fstp qword [esi + 0x88]
fxch st(1)
fst qword [esp + 0x20]
fxch st(1)
fst qword [esp + 0x28]
jmp 0x465c58
fstp st(0)
fstp st(0)
test dword [esi + 0x90], 0x1000
jne 0x465ca4
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x34]
test ecx, 0x200
je 0x465c83
fxch st(1)
fabs
fcomp qword [esp + 0x50]
fnstsw ax
test ah, 0x41
je 0x465ca6
jmp 0x465c85
fstp st(1)
test ecx, 0x2000
je 0x465d6b
fabs
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
jne 0x465d6d
jmp 0x465ca8
fstp st(1)
fstp st(0)
test dword [ebx + 0x90], 0x60000
jne 0x465d6d
push 0
push 0
lea edx, [esp + 0x38]
push edx
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x20]
push ecx
lea eax, [ebx + 0x40]
push eax
push edx
call fcn.00461c70
mov ecx, eax
add esp, 0x1c
test ecx, ecx
jle 0x465d6d
test ecx, 0x1000
je 0x465cf8
test dword [esi + 0x90], 0x1000
je 0x465d6d
fld qword [esp + 0x20]
fsub qword [ebx + 0x40]
fld qword [esp + 0x28]
fsub qword [ebx + 0x48]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 5
jp 0x465d6d
fld qword [esi + 0x40]
or ecx, 3
fstp qword [esi + 0x68]
fld qword [esi + 0x48]
fstp qword [esi + 0x70]
fld qword [esi + 0x50]
fstp qword [esi + 0x78]
fld qword [esi + 0x58]
fstp qword [esi + 0x80]
fld qword [esi + 0x60]
fstp qword [esi + 0x88]
fld qword [esp + 0x20]
fstp qword [esi + 0x40]
fld qword [esp + 0x28]
fstp qword [esi + 0x48]
fld qword [esp + 0x30]
fstp qword [esi + 0x50]
fld qword [esp + 0x38]
fstp qword [esi + 0x58]
fld qword [esp + 0x40]
or dword [esi + 0x90], ecx
fstp qword [esi + 0x60]
jmp 0x465d6d
fstp st(0)
mov eax, dword [esi + 0x90]
shr eax, 1
not eax
and eax, 1
or dword [esp + 0x10], eax
mov ebx, esi
mov esi, dword [esi]
test esi, esi
jne 0x465b5a
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 4]
test esi, esi
je 0x465fca
fld qword [esi + 0x40]
fsub qword [ebx + 0x40]
fst qword [esp + 0x20]
fld qword [esi + 0x48]
fsub qword [ebx + 0x48]
fst qword [esp + 0x28]
test byte [esi + 0x90], 2
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fst qword [esp + 0x70]
je 0x465e95
fld qword [esi + 0x68]
fsub qword [ebx + 0x40]
fld qword [esi + 0x70]
fsub qword [ebx + 0x48]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x465e93
fstp st(3)
fstp st(1)
fld qword [esi + 0x78]
fsub qword [esi + 0x20]
fstp qword [esp + 0x30]
fld qword [esi + 0x80]
fsub qword [esi + 0x28]
fstp qword [esp + 0x38]
fld qword [esi + 0x88]
fsub qword [esi + 0x30]
fstp qword [esp + 0x40]
fld qword [esi + 0x40]
fstp qword [esp + 0x20]
fld qword [esi + 0x48]
fstp qword [esp + 0x28]
fld qword [esi + 0x68]
fstp qword [esi + 0x40]
fld qword [esi + 0x70]
fstp qword [esi + 0x48]
fld qword [esp + 0x20]
fstp qword [esi + 0x68]
fld qword [esp + 0x28]
fstp qword [esi + 0x70]
fld qword [esi + 0x50]
fstp qword [esp + 0x30]
fld qword [esi + 0x58]
fstp qword [esp + 0x38]
fld qword [esi + 0x60]
fstp qword [esp + 0x40]
fld qword [esi + 0x78]
fstp qword [esi + 0x50]
fld qword [esi + 0x80]
fstp qword [esi + 0x58]
fld qword [esi + 0x88]
fstp qword [esi + 0x60]
fld qword [esp + 0x30]
fstp qword [esi + 0x78]
fld qword [esp + 0x38]
fstp qword [esi + 0x80]
fld qword [esp + 0x40]
fstp qword [esi + 0x88]
fxch st(1)
fst qword [esp + 0x20]
fxch st(1)
fst qword [esp + 0x28]
jmp 0x465e97
fstp st(0)
fstp st(0)
test dword [esi + 0x90], 0x1000
jne 0x465ee3
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x34]
test ecx, 0x200
je 0x465ec2
fxch st(1)
fabs
fcomp qword [esp + 0x50]
fnstsw ax
test ah, 0x41
je 0x465ee5
jmp 0x465ec4
fstp st(1)
test ecx, 0x2000
je 0x465faa
fabs
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x41
jne 0x465fac
jmp 0x465ee7
fstp st(1)
fstp st(0)
test dword [ebx + 0x90], 0x60000
jne 0x465fac
push 0
push 0
lea edx, [esp + 0x38]
push edx
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x20]
push ecx
lea eax, [ebx + 0x40]
push eax
push edx
call fcn.00461c70
mov ecx, eax
add esp, 0x1c
test ecx, ecx
jle 0x465fac
test ecx, 0x1000
je 0x465f37
test dword [esi + 0x90], 0x1000
je 0x465fac
fld qword [esp + 0x20]
fsub qword [ebx + 0x40]
fld qword [esp + 0x28]
fsub qword [ebx + 0x48]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 5
jp 0x465fac
fld qword [esi + 0x40]
or ecx, 3
fstp qword [esi + 0x68]
fld qword [esi + 0x48]
fstp qword [esi + 0x70]
fld qword [esi + 0x50]
fstp qword [esi + 0x78]
fld qword [esi + 0x58]
fstp qword [esi + 0x80]
fld qword [esi + 0x60]
fstp qword [esi + 0x88]
fld qword [esp + 0x20]
fstp qword [esi + 0x40]
fld qword [esp + 0x28]
fstp qword [esi + 0x48]
fld qword [esp + 0x30]
fstp qword [esi + 0x50]
fld qword [esp + 0x38]
fstp qword [esi + 0x58]
fld qword [esp + 0x40]
mov dword [esi + 0x90], ecx
fstp qword [esi + 0x60]
jmp 0x465fac
fstp st(0)
mov eax, dword [esi + 0x90]
shr eax, 1
not eax
and eax, 1
or dword [esp + 0x10], eax
mov ebx, esi
mov esi, dword [esi + 4]
test esi, esi
jne 0x465d99
cmp dword [ebp + 0x18], 0
je 0x466056
mov eax, dword [esp + 0x1c]
jmp 0x465fe0
fld qword [eax + 0x40]
fstp qword [esp + 0x20]
fld qword [eax + 0x48]
fstp qword [esp + 0x28]
fld qword [eax + 0x68]
fstp qword [eax + 0x40]
fld qword [eax + 0x70]
fstp qword [eax + 0x48]
fld qword [esp + 0x20]
fstp qword [eax + 0x68]
fld qword [esp + 0x28]
fstp qword [eax + 0x70]
fld qword [eax + 0x50]
fstp qword [esp + 0x30]
fld qword [eax + 0x58]
fstp qword [esp + 0x38]
fld qword [eax + 0x60]
fstp qword [esp + 0x40]
fld qword [eax + 0x78]
fstp qword [eax + 0x50]
fld qword [eax + 0x80]
fstp qword [eax + 0x58]
fld qword [eax + 0x88]
fstp qword [eax + 0x60]
fld qword [esp + 0x30]
fstp qword [eax + 0x78]
fld qword [esp + 0x38]
fstp qword [eax + 0x80]
fld qword [esp + 0x40]
fstp qword [eax + 0x88]
mov eax, dword [eax]
test eax, eax
jne 0x465fe0
cmp dword [esp + 0x10], 0
jne 0x466065
or dword [esp + 0x14], 0x80
mov ecx, dword [ebp + 0x10]
test dword [ecx + 0x34], 0x2200
je 0x4660ad
mov ebx, dword [esp + 0x1c]
push 0
mov esi, ecx
call fcn.00460a70
add esp, 4
test eax, eax
jge 0x4660ad
mov esi, dword [esp + 0x1c]
mov eax, esi
jmp 0x466090
mov esi, dword [esi]
push 0x13
push eax
call fcn.004471f0
add esp, 8
test esi, esi
mov eax, esi
jne 0x466090
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [edi + 0x94], 0x10
jne 0x4660c6
mov eax, dword [ebp + 0x24]
mov dword [edi + 0x94], 0x30
add dword [eax], 1
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov dword [edx], eax
mov eax, dword [esp + 0x14]
mov dword [ecx], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret