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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5ef103
mov eax, dword fs:[0]
push eax
sub esp, 0x628
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x638]
mov dword fs:[0], eax
mov dword [esp + 0x20], ecx
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x28], eax
or dword [ecx + 8], 0x8000001
mov esi, dword [ebx + 0x3dc]
mov edx, dword [ebx + 0x41c]
mov ecx, esi
shl ecx, 4
sub ecx, esi
cmp esi, eax
mov edi, dword [edx + ecx*4]
jl 0x45efe4
lea eax, [esi + esi + 1]
lea ecx, [esp + 0x5bc]
mov dword [esp + 0x188], eax
call fcn.004e3630
xorps xmm0, xmm0
push 0xffffffffffffffff
lea ecx, [esp + 0x460]
push ecx
lea edx, [esp + 0x5c4]
push edx
mov ecx, ebx
movsd qword [esp + 0x478], xmm0
movsd qword [esp + 0x470], xmm0
movsd qword [esp + 0x468], xmm0
call fcn.005331d0
cmp edi, eax
je 0x45f0cc
cmp byte [ebx + 0x383], 0
jne 0x45f09d
test esi, esi
jge 0x45f047
xor esi, esi
jmp 0x45f04b
lea esi, [esi + esi + 1]
push str.Invalid_File_Parameter_Data___
lea ecx, [ebx + 0x2e8]
call fcn.0042f6f0
mov edi, eax
cmp byte [edi + 0x9c], 0
je 0x45f070
push esi
lea ecx, [edi + 0x10]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
push 0x5fcfd8
mov ecx, edi
call fcn.0042f6f0
cmp byte [eax + 0x9c], 0
je 0x45f09d
lea ecx, [eax + 8]
test ecx, ecx
je 0x45f091
add eax, 0x10
jmp 0x45f093
xor eax, eax
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 4
lea edx, [esp + 0x45c]
push edx
lea eax, [esp + 0x5c0]
push eax
mov ecx, ebx
call fcn.00532f60
mov ecx, dword [esp + 0x638]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor esi, esi
push 5
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x1ec], esi
mov dword [esp + 0x1f0], 5
call fcn.004587b0
push 5
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x644], esi
mov dword [esp + 0x1e8], esi
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], 5
call fcn.004587b0
mov eax, 1
mov byte [esp + 0x640], al
cmp edi, 0x8e
jne 0x45f1d6
lea ecx, [esp + 0x378]
push ecx
mov ecx, dword [ebx + 0x144]
mov dword [esp + 0x19c], eax
mov esi, eax
call fcn.00532920
mov ecx, dword [ebx + 0x144]
lea edx, [esp + 0x21c]
push edx
call fcn.00532920
cmp dword [esp + 0x21c], 0
je 0x465177
mov ecx, dword [ebx + 0x144]
lea eax, [esp + 0x220]
push eax
call fcn.00532920
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x1e8]
lea eax, [esp + 0x1f4]
mov dword [edx], ecx
mov ecx, dword [ebx + 0x144]
push eax
call fcn.00532920
mov ecx, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1dc]
lea eax, [esp + 0x374]
mov dword [edx], ecx
mov ecx, dword [ebx + 0x144]
push eax
call fcn.00532920
jmp 0x45f377
cmp edi, 0x8d
jne 0x45f353
lea ecx, [esp + 0x378]
push ecx
mov ecx, dword [ebx + 0x144]
call fcn.00532920
mov ecx, dword [ebx + 0x144]
lea edx, [esp + 0x374]
push edx
call fcn.00532920
mov ecx, dword [ebx + 0x144]
lea eax, [esp + 0x21c]
push eax
call fcn.00532920
cmp dword [esp + 0x21c], esi
je 0x4605e3
lea ecx, [esp + 0x198]
push ecx
mov ecx, dword [ebx + 0x144]
call fcn.00532920
mov edx, dword [esp + 0x198]
push edx
lea ecx, [esp + 0x1ec]
call fcn.004587b0
mov eax, dword [esp + 0x198]
push eax
lea ecx, [esp + 0x1e0]
call fcn.004587b0
cmp dword [esp + 0x198], 0
mov dword [esp + 0x78], 0
jle 0x45f377
lea esp, [esp]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, dword [edi + 0x144]
call fcn.00532920
mov ecx, dword [edi + 0x144]
lea edx, [esp + 0x150]
push edx
call fcn.00532920
cmp dword [esp + 0x150], 2
mov eax, dword [esp + 0x1f4]
jne 0x45f2c3
neg eax
mov dword [esp + 0x1f4], eax
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x78]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 0x144]
lea eax, [esp + 0xd0]
push eax
call fcn.00532920
xor edi, edi
cmp dword [esp + 0xd0], edi
jle 0x45f33b
nop
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x220]
push ecx
mov ecx, dword [edx + 0x144]
call fcn.00532920
cmp esi, dword [esp + 0x1f0]
mov ebx, dword [esp + 0x220]
jl 0x45f326
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x1ec]
call fcn.004587b0
mov ecx, dword [esp + 0x1e8]
mov dword [ecx + esi*4], ebx
inc edi
inc esi
cmp edi, dword [esp + 0xd0]
jl 0x45f2f0
mov eax, dword [esp + 0x78]
inc eax
cmp eax, dword [esp + 0x198]
mov dword [esp + 0x78], eax
jl 0x45f280
jmp 0x45f377
push eax
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x19c], eax
call fcn.004587b0
mov edx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x188]
mov dword [edx], eax
lea ecx, [esp + 0x45c]
push ecx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x5c0]
push edx
call fcn.00532f60
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0x1c]
mov ecx, ebx
mov dword [esp + 0x78], ebx
call fcn.00425000
mov edx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x20]
mov edi, eax
mov eax, dword [esp + 0x78]
cmp edx, dword [eax + 0x24]
mov eax, dword [eax + 8]
mov ecx, dword [edi + 0x30]
sete byte [esp + 0x36]
cmp dword [0x6189c0], 0
mov dword [esp + 0x50], edi
setne byte [esp + 0x1d]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x5c], 0
mov byte [esp + 0x27], 0
test eax, 0x400
je 0x45f3f2
mov byte [esp + 0x1d], 0
jmp 0x45f3fe
test eax, 0x800
je 0x45f403
mov byte [esp + 0x1d], 1
mov byte [esp + 0x27], 1
mov ecx, dword [ebp + 8]
push esi
lea eax, [esp + 0x1ec]
push eax
push ecx
mov ecx, edx
mov byte [esp + 0x3a], 0
call fcn.0045cd10
cmp dword [0x6189c0], 2
mov dword [esp + 0x58], eax
jne 0x45f435
mov byte [esp + 0xd0], 1
test eax, eax
jg 0x45f43d
mov byte [esp + 0xd0], 0
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x198]
push edx
mov edx, dword [ebp + 8]
push edi
push eax
lea ecx, [esp + 0x1e8]
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.0045de10
cmp dword [0x6189c0], 3
mov dword [esp + 0xe0], eax
jne 0x45f47f
test eax, eax
jle 0x45f47f
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x150]
test eax, eax
je 0x45f48f
mov esi, dword [eax + 0x5c]
jmp 0x45f492
mov esi, dword [edi + 0x2c]
cmp dword [esp + 0xe0], 0
mov eax, dword [edi + 0x30]
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x3c], eax
jle 0x45f4dc
movsd xmm0, qword [ebx + 0x80]
movsd xmm1, qword [0x5fc860]
andpd xmm0, xmm1
comisd xmm0, xmmword [0x5ff758]
jbe 0x45f4dc
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
cmp ecx, dword [edx + 0x24]
jne 0x45f4dc
push eax
push esi
call fcn.0045a6d0
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x24]
push esi
call fcn.0045a970
fstp qword [esp + 0x16c]
mov edi, dword [esp + 0x58]
movsd xmm1, qword [esp + 0x16c]
test edi, edi
jle 0x45f527
mov ecx, dword [esp + 0x20]
call fcn.00435b70
fstp qword [esp + 0x174]
movsd xmm0, qword [esp + 0x174]
movsd xmm1, qword [esp + 0x16c]
jmp 0x45f53c
movapd xmm0, xmm1
addsd xmm0, qword [0x5fa8b8]
movsd qword [esp + 0x174], xmm0
cmp dword [esp + 0xe0], 0
jle 0x45f550
movsd xmm2, qword [0x5fc880]
jmp 0x45f558
movsd xmm2, qword [0x5fcaf8]
comisd xmm2, xmm0
mov byte [esp + 0x1f], 1
ja 0x45f568
mov byte [esp + 0x1f], 0
mov eax, dword [ebx + 0xc]
cmp eax, 0x3b
jne 0x45f8aa
cmp byte [esp + 0x36], 0
je 0x45f8aa
cmp byte [esp + 0x1f], 0
je 0x45f8aa
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x33c]
push edx
call fcn.00435160
movsd xmm0, qword [esp + 0x34c]
subsd xmm0, qword [esp + 0x33c]
movsd qword [esp + 0x164], xmm0
movsd xmm0, qword [esp + 0x354]
subsd xmm0, qword [esp + 0x344]
mov ecx, ebx
movsd qword [esp + 0xac], xmm0
call fcn.004284a0
fstp qword [esp + 0xe4]
mov ecx, ebx
call fcn.00428460
fsubr qword [esp + 0xe4]
mov ecx, ebx
fstp qword [esp + 0x1ac]
call fcn.00428560
mov ecx, ebx
fstp qword [esp + 0xe4]
call fcn.00428520
fsubr qword [esp + 0xe4]
movsd xmm2, qword [esp + 0x1ac]
movsd xmm1, qword [0x5fcc50]
movsd xmm0, qword [esp + 0x164]
fstp qword [esp + 0x1bc]
movapd xmm3, xmm2
divsd xmm3, xmm1
comisd xmm3, xmm0
ja 0x45f67b
movsd xmm4, qword [esp + 0x1bc]
movsd xmm3, qword [esp + 0xac]
divsd xmm4, xmm1
comisd xmm4, xmm3
ja 0x45f67b
movapd xmm4, xmm3
mulsd xmm4, xmm1
comisd xmm0, xmm4
ja 0x45f67b
movapd xmm4, xmm0
mulsd xmm4, xmm1
comisd xmm3, xmm4
jbe 0x45f898
divsd xmm2, qword [0x5fa8b8]
comisd xmm2, xmm0
jbe 0x45f691
mulsd xmm0, qword [0x5fd068]
movsd xmm1, qword [esp + 0x34c]
addsd xmm1, qword [esp + 0x33c]
mulsd xmm1, qword [0x5fb9c8]
mulsd xmm0, qword [0x5fd4c0]
movsd qword [esp + 0x264], xmm1
subsd xmm1, xmm0
mov ecx, ebx
movsd qword [esp + 0x164], xmm0
movsd qword [esp + 0x1ac], xmm1
call fcn.00428460
fstp qword [esp + 0xe4]
movsd xmm0, qword [esp + 0xe4]
movsd xmm1, qword [esp + 0x1ac]
comisd xmm1, xmm0
jbe 0x45f703
movsd qword [esp + 0x15c], xmm1
jmp 0x45f70c
movsd qword [esp + 0x15c], xmm0
movsd xmm0, qword [esp + 0x264]
addsd xmm0, qword [esp + 0x164]
mov ecx, ebx
movsd qword [esp + 0x1ac], xmm0
call fcn.004284a0
fstp qword [esp + 0xe4]
movsd xmm0, qword [esp + 0xe4]
movsd xmm1, qword [esp + 0x1ac]
comisd xmm0, xmm1
jbe 0x45f758
movsd qword [esp + 0x144], xmm1
jmp 0x45f761
movsd qword [esp + 0x144], xmm0
movsd xmm0, qword [esp + 0x1bc]
divsd xmm0, qword [0x5fa8b8]
movsd xmm1, qword [esp + 0xac]
comisd xmm0, xmm1
jbe 0x45f789
mulsd xmm1, qword [0x5fd068]
movsd xmm0, qword [esp + 0x344]
addsd xmm0, qword [esp + 0x354]
mulsd xmm0, qword [0x5fb9c8]
mulsd xmm1, qword [0x5fd4c0]
movsd qword [esp + 0x264], xmm0
subsd xmm0, xmm1
mov ecx, ebx
movsd qword [esp + 0xac], xmm1
movsd qword [esp + 0x1ac], xmm0
call fcn.00428520
fstp qword [esp + 0xe4]
movsd xmm0, qword [esp + 0xe4]
movsd xmm1, qword [esp + 0x1ac]
comisd xmm1, xmm0
jbe 0x45f7fb
movsd qword [esp + 0x154], xmm1
jmp 0x45f804
movsd qword [esp + 0x154], xmm0
movsd xmm0, qword [esp + 0x264]
addsd xmm0, qword [esp + 0xac]
mov ecx, ebx
movsd qword [esp + 0x1ac], xmm0
call fcn.00428560
fstp qword [esp + 0xe4]
movsd xmm0, qword [esp + 0xe4]
movsd xmm1, qword [esp + 0x1ac]
comisd xmm0, xmm1
jbe 0x45f849
movapd xmm0, xmm1
movsd xmm1, qword [esp + 0x144]
comisd xmm1, xmmword [esp + 0x15c]
movsd qword [esp + 0x1bc], xmm0
jbe 0x45f898
comisd xmm0, xmmword [esp + 0x154]
jbe 0x45f898
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x158]
push ecx
lea edx, [esp + 0x14c]
push edx
lea eax, [esp + 0x168]
push eax
mov ecx, ebx
call fcn.00498940
movsd xmm1, qword [esp + 0x16c]
movsd xmm0, qword [esp + 0x174]
movsd xmm2, qword [0x5fc898]
comisd xmm2, xmm1
jbe 0x45f8bc
mov al, 1
jmp 0x45f8be
xor al, al
cmp byte [esp + 0x1f], 0
mov cl, byte [esp + 0x1d]
mov byte [esp + 0x2f], al
je 0x45f8fe
test cl, cl
je 0x45f8fe
movsd xmm4, qword [0x5fc860]
movapd xmm3, xmm0
subsd xmm3, xmm1
andpd xmm3, xmm4
movsd xmm4, qword [0x5fb9d0]
comisd xmm4, xmm3
jbe 0x45f8fe
comisd xmm0, xmm2
jbe 0x45f8fe
mov byte [esp + 0x1f], 0
movsd xmm3, qword [0x5fc878]
movapd xmm4, xmm1
divsd xmm4, xmm3
comisd xmm4, xmm0
jbe 0x45f920
comisd xmm1, xmm2
jbe 0x45f920
xor cl, cl
mov byte [esp + 0x1d], cl
cmp byte [esp + 0x27], 0
mov byte [esp + 0x1e], 0
je 0x45f934
test edi, edi
jne 0x45fa50
cmp dword [esp + 0xe0], 0
jle 0x45fa50
test cl, cl
je 0x45fa50
test al, al
je 0x45fa50
mov edx, dword [ebx]
mov eax, dword [edx + 0x28]
mov ecx, ebx
call eax
mov esi, eax
mov eax, dword [ebx + 0xc]
add eax, 0xffffffc9
cmp eax, 4
ja case.0x45f968.58
jmp dword [eax*4 + 0x4651b8]
push 1
mov ecx, ebx
call fcn.004e5d10
mov byte [esp + 0x1e], al
jmp case.0x45f968.58
mov ecx, ebx
call fcn.00572450
mov byte [esp + 0x1e], al
jmp case.0x45f968.58
mov ecx, ebx
call fcn.00572450
mov byte [esp + 0x1e], al
jmp case.0x45f968.58
fld qword [0x5fa918]
sub esp, 8
fstp qword [esp]
push 1
mov ecx, ebx
call fcn.0048f1e0
fld qword [0x5fa918]
sub esp, 8
fstp qword [esp]
push 0
mov ecx, ebx
mov byte [esp + 0x2a], al
call fcn.0048f1e0
or byte [esp + 0x1e], al
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1b4]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.0045a2a0
fld qword [0x5fb9c8]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x45fa14
mov eax, dword [esp + 0x20]
mov edx, dword [ebx]
mov edi, dword [eax + 0x1c]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
push esi
mov ecx, edi
call fcn.00425010
mov ebx, esi
mov dword [esp + 0x38], esi
mov byte [esp + 0x1e], 0
jmp 0x45fa22
test esi, esi
je 0x45fa22
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
movsd xmm0, qword [esp + 0x174]
movsd xmm1, qword [esp + 0x16c]
movsd xmm3, qword [0x5fc878]
mov cl, byte [esp + 0x1d]
mov esi, dword [esp + 0x1b4]
mov edi, dword [esp + 0x58]
mov byte [esp + 0x2e], 1
mov edx, dword [esp + 0x78]
test dword [edx + 8], 0x800
mov eax, 0x38
jne 0x45faaf
cmp byte [esp + 0x1e], 0
jne 0x45faaf
mov edx, dword [esp + 0xe0]
movsd xmm2, qword [0x5fc898]
test edx, edx
je 0x45fa94
comisd xmm1, xmm2
ja 0x45fa94
test cl, cl
je 0x45fa94
movsd xmm4, qword [0x5fb9d0]
comisd xmm4, xmm0
jbe 0x45fabe
cmp dword [ebx + 0xc], eax
jne 0x45faa9
test edx, edx
je 0x45faa9
test cl, cl
je 0x45faa9
comisd xmm2, xmm1
jbe 0x45faa9
xor edi, edi
mov dword [esp + 0x5c], edi
jmp 0x45fac2
movsd xmm2, qword [0x5fc898]
mov edx, dword [esp + 0xe0]
mov edi, dword [esp + 0x5c]
test edx, edx
jne 0x45fada
test edi, edi
jne 0x45fada
mov eax, dword [esp + 0x20]
or dword [eax + 8], 0x8000
jmp 0x465177
cmp byte [esp + 0x27], 0
jne 0x45fc47
test edx, edx
je 0x45fc21
test edi, edi
jne 0x45fb94
cmp byte [esp + 0x2e], 0
mov byte [esp + 0x1d], 1
jne 0x45fc26
mov eax, dword [ebx + 0xc]
add eax, 0xffffffc9
cmp eax, 4
ja case.0x45fb10.58
jmp dword [eax*4 + 0x4651cc]
push 1
mov ecx, ebx
call fcn.004e5d10
mov byte [esp + 0x1e], al
mov byte [esp + 0x2e], 1
jmp 0x45fc26
mov ecx, ebx
call fcn.00572450
mov byte [esp + 0x1e], al
mov byte [esp + 0x2e], 1
jmp 0x45fc26
mov ecx, ebx
call fcn.00572450
mov byte [esp + 0x1e], al
mov byte [esp + 0x2e], 1
jmp 0x45fc26
fld qword [0x5fa918]
sub esp, 8
fstp qword [esp]
push 1
mov ecx, ebx
call fcn.0048f1e0
fld qword [0x5fa918]
or byte [esp + 0x1e], al
sub esp, 8
fstp qword [esp]
push 0
mov ecx, ebx
call fcn.0048f1e0
or byte [esp + 0x1e], al
mov byte [esp + 0x2e], 1
jmp 0x45fc26
cmp dword [ebx + 0xc], eax
je 0x45fba1
movsd xmm2, qword [0x5fcad8]
comisd xmm1, xmm2
jbe 0x45fbcc
comisd xmm0, xmm2
jbe 0x45fc21
movapd xmm2, xmm0
mulsd xmm2, xmm3
comisd xmm1, xmm2
ja 0x45fc21
mulsd xmm1, xmm3
comisd xmm0, xmm1
jbe 0x45fc26
mov byte [esp + 0x1d], 1
jmp 0x45fc26
comisd xmm0, xmm2
jbe 0x45fbfd
cmp dword [0x6189c0], 0
jne 0x45fbc5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
push eax
push esi
call fcn.0045a2a0
fld qword [0x5fb9c8]
fcompi st(1)
fstp st(0)
jbe 0x45fc21
mov byte [esp + 0x1d], 1
jmp 0x45fc26
cmp byte [esp + 0x1d], 0
je 0x45fc26
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x24]
push esi
call fcn.0045a2a0
fld qword [0x5fb9c8]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x45fc26
mov byte [esp + 0x1d], 0
cmp byte [esp + 0x1e], 0
jne 0x45fc5c
cmp byte [esp + 0x1d], 0
jne 0x45fc3f
mov eax, dword [esp + 0x78]
or dword [eax + 8], 0x400
movsd xmm2, qword [0x5fc898]
mov al, byte [ebx + 0x1a]
mov byte [esp + 0x36], 0
test al, al
jne 0x45fc70
cmp byte [ebx + 0x18], al
jne 0x45fc70
xor dl, dl
jmp 0x45fc72
cmp byte [esp + 0x1d], 0
je 0x45fc34
mov eax, dword [esp + 0x78]
or dword [eax + 8], 0x800
jmp 0x45fc3f
mov dl, 1
mov byte [esp + 0x1e], dl
test al, al
je 0x45fc81
movsd xmm0, qword [ebx + 0x70]
jmp 0x45fc86
movsd xmm0, qword [ebx + 0x38]
mov al, byte [ebx + 0x1b]
movapd xmm1, xmm0
movsd qword [esp + 0x18c], xmm1
test al, al
jne 0x45fca3
cmp byte [ebx + 0x19], al
jne 0x45fca3
xor cl, cl
jmp 0x45fca5
mov cl, 1
mov byte [esp + 0x26], cl
test al, al
je 0x45fcb4
movsd xmm0, qword [ebx + 0x78]
jmp 0x45fcb9
movsd xmm0, qword [ebx + 0x48]
movsd qword [esp + 0x17c], xmm0
test dl, dl
je 0x45fcd5
mulsd xmm1, xmm2
movsd qword [esp + 0x164], xmm1
jmp 0x45fcde
movsd qword [esp + 0x164], xmm2
test cl, cl
je 0x45fcf1
mulsd xmm0, xmm2
movsd qword [esp + 0x154], xmm0
jmp 0x45fcfa
movsd qword [esp + 0x154], xmm2
cmp dword [esp + 0xe0], 1
jne 0x45fd26
cmp edi, 1
jne 0x45fd26
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x45fd26
mov ecx, dword [eax + 0x20]
call fcn.004d9b60
test al, al
jne 0x45fd26
xor edi, edi
mov dword [esp + 0x5c], edi
xor eax, eax
cmp edi, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], eax
jle 0x460585
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x78], edi
mov dword [esp + 0x8c], eax
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x44]
fld qword [esi + 0x10]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 8
lea eax, [esp + 0x2cc]
fstp qword [esp]
mov dword [esp + 0x200], ecx
push eax
mov ecx, esi
call edx
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x28c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
fld qword [0x5fa920]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.00436e80
sub esp, 8
test al, al
je 0x45fe6a
fldz
lea eax, [esp + 0x2cc]
fstp qword [esp]
lea ecx, [esp + 0x1cc]
push eax
push ecx
mov ecx, ebx
call fcn.0046a050
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 2
test eax, eax
je 0x45fdfe
lea edx, [esp + 0x1c4]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x45fe00
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
call fcn.0042f080
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 3
test eax, eax
je 0x45fe3e
push 0
push esi
push esi
mov ecx, eax
call fcn.00445ee0
mov esi, eax
jmp 0x45fe40
xor esi, esi
mov ecx, dword [esp + 0x50]
or dword [esi + 8], 3
inc dword [esi + 4]
push esi
mov byte [esp + 0x644], 1
call fcn.0042eff0
push esi
mov ecx, edi
call fcn.00437290
inc dword [esp + 0x60]
jmp 0x460519
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax + 0x218]
mulsd xmm0, qword [0x5fb9c8]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x1bc]
movsd qword [esp], xmm0
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ebx
push esi
call fcn.0045a1e0
mov edi, eax
test edi, edi
jne 0x4600a6
cmp byte [esp + 0x1d], al
je 0x45feee
cmp byte [esp + 0x1f], al
je 0x45fece
movsd xmm0, qword [esp + 0x16c]
comisd xmm0, xmmword [0x5fc898]
jbe 0x45fece
comisd xmm0, xmmword [esp + 0x174]
ja 0x45feee
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx]
mov edx, dword [eax]
mov esi, 1
push esi
call edx
add dword [esp + 0x90], esi
sub dword [esp + 0x5c], esi
jmp 0x460519
fld qword [0x5fdfa8]
mov eax, dword [ebx]
mov edx, dword [eax + 0x98]
sub esp, 8
fstp qword [esp]
push esi
mov ecx, ebx
call edx
fldz
sub esp, 8
fstp qword [esp]
mov dword [esp + 0x158], eax
lea eax, [esp + 0x2cc]
push eax
lea ecx, [esp + 0x120]
push ecx
mov ecx, ebx
call fcn.0046a050
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 4
test eax, eax
je 0x45ff5d
lea edx, [esp + 0x114]
push edx
mov ecx, eax
call fcn.0043cf90
mov edi, eax
jmp 0x45ff5f
xor edi, edi
mov ecx, dword [esp + 0x50]
push edi
mov byte [esp + 0x644], 1
call fcn.0042f080
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x28c]
push eax
lea ecx, [esp + 0x138]
push ecx
mov ecx, ebx
mov esi, edi
call fcn.0046a050
movsd xmm0, qword [esp + 0x114]
subsd xmm0, qword [esp + 0x12c]
movsd qword [esp + 0x2e4], xmm0
movsd xmm0, qword [esp + 0x11c]
subsd xmm0, qword [esp + 0x134]
movsd qword [esp + 0x2ec], xmm0
movsd xmm0, qword [esp + 0x124]
subsd xmm0, qword [esp + 0x13c]
lea ecx, [esp + 0x2e4]
movsd qword [esp + 0x2f4], xmm0
call fcn.004a88b0
mov edx, dword [ebp + 8]
fld qword [edx + 0x218]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x460044
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 5
test eax, eax
je 0x46002e
lea ecx, [esp + 0x12c]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x460030
xor eax, eax
mov ecx, dword [esp + 0x50]
push eax
mov byte [esp + 0x644], 1
mov esi, eax
call fcn.0042f080
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 6
test eax, eax
je 0x460070
push 0
push esi
push edi
mov ecx, eax
call fcn.00445ee0
mov esi, eax
jmp 0x460072
xor esi, esi
mov edx, dword [esp + 0x150]
or dword [esi + 8], 3
push edx
mov ecx, esi
mov byte [esp + 0x644], 1
call fcn.004440c0
mov ecx, dword [esp + 0x50]
push esi
call fcn.0042eff0
mov ecx, dword [esp + 0x78]
push esi
call fcn.00437290
jmp 0x460519
mov ebx, dword [edi + 0x24]
fld qword [ebx + 0x10]
mov eax, dword [ebx]
sub esp, 8
cmp byte [ebx + 0x38], 0
fstp qword [esp]
je 0x46024b
movsd xmm0, qword [esi + 0x10]
mov edx, dword [eax + 0x6c]
lea ecx, [esp + 0x134]
movsd qword [esp + 0xec], xmm0
xorps xmm0, xmm0
push ecx
mov ecx, ebx
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x128], xmm0
movsd qword [esp + 0x120], xmm0
call edx
lea ecx, [esp + 0x12c]
call fcn.004a8b50
fstp st(0)
xorps xmm0, xmm0
mov eax, dword [esi]
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0x2a8]
push edx
mov edx, dword [eax + 0x5c]
lea ecx, [esp + 0x274]
push ecx
mov ecx, esi
movsd qword [esp + 0x2b8], xmm0
movsd qword [esp + 0x2b0], xmm0
movsd qword [esp + 0x280], xmm0
movsd qword [esp + 0x278], xmm0
call edx
lea ecx, [esp + 0x2a4]
call fcn.004a7bc0
fstp st(0)
lea eax, [esp + 0x26c]
push eax
lea ecx, [esp + 0x2a8]
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x11c]
push edx
call fcn.0046a4e0
movsd xmm0, qword [esp + 0x134]
mulsd xmm0, qword [esp + 0x11c]
movsd xmm1, qword [esp + 0x12c]
mulsd xmm1, qword [esp + 0x114]
addsd xmm0, xmm1
movsd xmm1, qword [esp + 0x13c]
mulsd xmm1, qword [esp + 0x124]
addsd xmm0, xmm1
comisd xmm0, xmmword [0x5fa830]
mov byte [esp + 0x27], 1
ja 0x4601d0
mov byte [esp + 0x27], 0
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x2cc]
push eax
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0046a050
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 7
test eax, eax
je 0x460221
lea edx, [esp + 0x1c4]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x460223
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
mov dword [esp + 0x1bc], esi
mov dword [esp + 0xd4], esi
call fcn.0042f080
mov dword [edi + 0x20], esi
jmp 0x4604de
xorps xmm0, xmm0
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, ebx
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x128], xmm0
movsd qword [esp + 0x120], xmm0
movsd qword [esp + 0x148], xmm0
movsd qword [esp + 0x140], xmm0
movsd qword [esp + 0x138], xmm0
call edx
fld qword [ebx + 0x18]
movq xmm0, qword [eax]
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0x124], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
mov eax, dword [ebx]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, ebx
movq qword [esp + 0x130], xmm0
call edx
fldz
movq xmm0, qword [eax]
movq qword [esp + 0x12c], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0x13c], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0x2cc]
push eax
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x48]
movq qword [esp + 0x14c], xmm0
call fcn.0046a050
movq xmm0, qword [eax]
movsd xmm3, qword [esp + 0x114]
movq xmm1, qword [eax + 8]
movq xmm2, qword [eax + 0x10]
subsd xmm3, xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x11c]
subsd xmm0, xmm1
movsd qword [esp + 0x2ec], xmm0
movsd xmm0, qword [esp + 0x124]
subsd xmm0, xmm2
lea ecx, [esp + 0x2e4]
movsd qword [esp + 0xfc], xmm1
movsd qword [esp + 0x104], xmm2
movsd qword [esp + 0x2e4], xmm3
movsd qword [esp + 0x2f4], xmm0
call fcn.004a88b0
fstp qword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, qword [esp + 0xf4]
movsd qword [esp + 0x2e4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, qword [esp + 0xfc]
movsd qword [esp + 0x2ec], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, qword [esp + 0x104]
lea ecx, [esp + 0x2e4]
movsd qword [esp + 0x2f4], xmm0
call fcn.004a88b0
fld qword [esp + 0x1ac]
fxch st(1)
mov byte [esp + 0x27], 1
fcompi st(1)
fstp st(0)
ja 0x460414
mov byte [esp + 0x27], 0
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 8
test eax, eax
je 0x460444
lea edx, [esp + 0x114]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x460446
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
mov dword [esp + 0x1bc], esi
call fcn.0042f080
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x28c]
push eax
lea ecx, [esp + 0x548]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0046a050
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0xd4], eax
mov byte [esp + 0x640], 9
test eax, eax
je 0x4604b2
lea edx, [esp + 0x12c]
push edx
mov ecx, eax
call fcn.0043cf90
mov dword [esp + 0x58], eax
jmp 0x4604ba
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
push eax
mov byte [esp + 0x644], 1
mov dword [esp + 0xd4], eax
call fcn.0042f080
mov eax, dword [esp + 0x58]
mov dword [edi + 0x20], eax
cmp byte [esp + 0x27], 0
mov dword [edi + 0x1c], esi
jne 0x460505
mov edx, dword [ebx]
mov eax, dword [edx + 0x50]
mov ecx, ebx
call eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x1b8]
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x20], edx
mov esi, dword [esp + 0x78]
push edi
mov ecx, esi
call fcn.00437290
or dword [esi + 8], 1
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x1f8]
cmp eax, dword [esp + 0x8c]
je 0x460534
mov dword [esp + 0x78], eax
mov edi, eax
jmp 0x45fd53
cmp dword [esp + 0x90], 0
jle 0x460613
cmp byte [esp + 0x1d], 0
je 0x460613
cmp byte [esp + 0x2f], 0
je 0x460613
cmp byte [esp + 0x1f], 0
je 0x460585
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.00435b70
fld qword [0x5fc880]
fcompi st(1)
fstp st(0)
jbe 0x460580
mov byte [esp + 0x1f], 1
jmp 0x460622
mov byte [esp + 0x1f], 0
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0xe0], esi
mov edi, dword [esp + 0x20]
jg 0x460679
cmp byte [esp + 0x1d], 0
je 0x4605b3
cmp byte [esp + 0x2f], 0
je 0x4605b3
cmp byte [esp + 0x1f], 0
je 0x460679
test esi, esi
je 0x4605be
and dword [edi + 8], 0xf7ffffff
cmp byte [esp + 0x1f], 0
jne 0x464464
cmp byte [esp + 0x1e], 0
jne 0x4605db
cmp byte [esp + 0x26], 0
je 0x464464
mov eax, dword [esp + 0x20]
or dword [eax + 8], 8
lea ecx, [esp + 0x1dc]
call fcn.00428180
lea ecx, [esp + 0x1e8]
call fcn.00428180
mov ecx, dword [esp + 0x638]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esp + 0x1f], 0
je 0x460585
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0xe0], esi
jle 0x46059a
mov eax, esi
sub eax, dword [esp + 0x60]
test eax, eax
jle 0x460585
mov ecx, edi
call fcn.00435b70
fstp qword [esp + 0xe4]
cmp byte [esp + 0x1d], 0
je 0x46066d
movsd xmm0, qword [0x5fc880]
comisd xmm0, xmmword [esp + 0xe4]
jbe 0x460585
mov dword [esp + 0xe0], esi
jmp 0x46059a
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4606a3
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x24]
mov edi, dword [eax + 0x44]
lea ebx, [ebx]
mov eax, dword [ecx]
mov edx, dword [eax]
mov esi, dword [ecx + 0x44]
push 1
call edx
cmp esi, edi
je 0x4606a3
mov ecx, esi
jmp 0x460690
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x1b4]
mov esi, dword [eax + 0x5c]
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xdc], edi
mov dword [esp + 0x60], esi
cmp byte [esp + 0x2e], cl
jne case.0x4606d9.58
cmp byte [esp + 0x1d], cl
je case.0x4606d9.58
mov eax, dword [ebx + 0xc]
add eax, 0xffffffc9
cmp eax, 4
ja case.0x4606d9.58
jmp dword [eax*4 + 0x4651e0]
push 1
mov ecx, ebx
call fcn.004e5d10
jmp 0x460727
mov ecx, ebx
call fcn.00572450
jmp 0x460727
mov ecx, ebx
call fcn.00572450
jmp 0x460727
fld qword [0x5fa918]
sub esp, 8
fstp qword [esp]
push 1
mov ecx, ebx
call fcn.0048f1e0
fld qword [0x5fa918]
sub esp, 8
fstp qword [esp]
push 0
mov ecx, ebx
call fcn.0048f1e0
xor ecx, ecx
xorps xmm0, xmm0
mov dword [esp + 0x5c], ecx
movsd qword [esp + 0x9c], xmm0
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x84], xmm0
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0x64], xmm0
movsd qword [esp + 0xbc], xmm0
movsd qword [esp + 0xb4], xmm0
mov byte [esp + 0x36], 1
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x1f8], ecx
cmp edi, esi
je 0x463fb9
mov ecx, dword [esp + 0xdc]
mov edi, dword [ecx + 0x24]
push 0
mov byte [esp + 0xaf], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x90], edi
call fcn.00444ae0
xorps xmm0, xmm0
mov dword [esp + 0x1b8], eax
movsd qword [esp + 0x1bc], xmm0
test eax, eax
je 0x4607e0
mov esi, dword [eax + 0x20]
mov dword [esp + 0x90], esi
jmp 0x460849
xor esi, esi
mov dword [esp + 0x90], esi
test edi, edi
je 0x460841
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
fst qword [esp + 0x1bc]
fld qword [0x5fa920]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x460841
fld qword [0x5fc898]
mov edx, dword [ebx]
mov eax, dword [edx + 0x94]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, ebx
fld qword [0x5fdfa8]
fstp qword [esp]
push edi
call eax
mov esi, eax
mov dword [esp + 0x90], eax
mov byte [esp + 0xab], 1
test esi, esi
je 0x463d5d
mov eax, dword [esp + 0xdc]
fld qword [esi + 0x10]
mov ecx, dword [eax + 0x20]
mov ebx, dword [eax + 0x1c]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 8
lea eax, [esp + 0x5b4]
fstp qword [esp]
mov dword [esp + 0xf8], ecx
push eax
mov ecx, esi
mov dword [esp + 0x64], ebx
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x64], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x6c], xmm0
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x58c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
movq qword [esp + 0xb4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0xbc], xmm0
xorps xmm0, xmm0
mov byte [esp + 0x1d], 1
movsd qword [esp + 0x13c], xmm0
movsd qword [esp + 0x134], xmm0
movsd qword [esp + 0x12c], xmm0
movsd qword [esp + 0x124], xmm0
movsd qword [esp + 0x11c], xmm0
movsd qword [esp + 0x114], xmm0
test edi, edi
je 0x46099b
fld qword [edi + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
sub esp, 8
lea ecx, [esp + 0xfc]
fstp qword [esp]
push ecx
mov ecx, edi
call edx
fld qword [edi + 0x18]
movq xmm0, qword [eax]
movq qword [esp + 0x12c], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0x13c], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0xfc]
push ecx
mov ecx, edi
movq qword [esp + 0x148], xmm0
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x11c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x124], xmm0
jmp 0x460a09
test ebx, ebx
je 0x4609a7
mov eax, dword [ebx + 0x1c]
add eax, 0x10
jmp 0x4609c5
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x100]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0046a050
movq xmm0, qword [eax]
movsd qword [esp + 0x114], xmm0
movq xmm1, qword [eax + 8]
movsd qword [esp + 0x11c], xmm1
movq xmm2, qword [eax + 0x10]
movq qword [esp + 0x13c], xmm2
movq qword [esp + 0x134], xmm1
movq qword [esp + 0x12c], xmm0
movsd qword [esp + 0x124], xmm2
movsd xmm1, qword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
mov edx, dword [esi]
mov edx, dword [edx + 0x4c]
sub esp, 8
addsd xmm0, xmm1
mulsd xmm0, qword [0x5fb9c8]
lea eax, [esp + 0x4b4]
movsd qword [esp], xmm0
push eax
mov ecx, esi
call edx
movsd xmm5, qword [esp + 0x64]
movsd xmm2, qword [0x5fc860]
movsd xmm6, qword [esp + 0x164]
movapd xmm0, xmm5
subsd xmm0, qword [esp + 0xb4]
andpd xmm0, xmm2
comisd xmm6, xmm0
jbe 0x460a77
movsd xmm0, qword [esp + 0x4ac]
subsd xmm0, xmm5
andpd xmm0, xmm2
movsd xmm4, qword [esp + 0x6c]
movsd xmm3, qword [esp + 0x154]
movapd xmm1, xmm4
subsd xmm1, qword [esp + 0xbc]
andpd xmm1, xmm2
comisd xmm3, xmm1
jbe 0x460aae
movsd xmm1, qword [esp + 0x4b4]
subsd xmm1, xmm4
andpd xmm1, xmm2
xor cl, cl
xor al, al
comisd xmm6, xmm0
mov byte [esp + 0x2f], cl
mov byte [esp + 0x2e], al
jbe 0x460ad4
comisd xmm3, xmm1
jbe 0x460acc
comisd xmm1, xmm0
jbe 0x460ada
mov cl, 1
mov byte [esp + 0x2f], cl
jmp 0x460ae0
comisd xmm3, xmm1
jbe 0x460ae0
mov al, 1
mov byte [esp + 0x2e], al
cmp dword [esp + 0x30], 0
jne 0x460c75
mov dword [esp + 0x1f8], esi
mov dword [esp + 0xd4], edi
mov byte [esp + 0x196], cl
mov byte [esp + 0x197], al
movq qword [esp + 0x94], xmm5
movq qword [esp + 0x9c], xmm4
test ebx, ebx
jne 0x460b65
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0xa
test eax, eax
je 0x460b4b
lea ecx, [esp + 0x12c]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x460b4d
xor eax, eax
mov ecx, dword [esp + 0x50]
mov ebx, eax
push eax
mov byte [esp + 0x644], 1
mov dword [esp + 0x5c], ebx
call fcn.0042f080
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, qword [esp + 0x114]
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, qword [esp + 0x11c]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, qword [esp + 0x124]
lea ecx, [esp + 0xf4]
mov dword [esp + 0x3c], ebx
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
mov edx, dword [ebp + 8]
fld qword [edx + 0x218]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x460c2f
mov esi, dword [esp + 0xf0]
test esi, esi
jne 0x460c38
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0xb
test eax, eax
je 0x460c10
lea ecx, [esp + 0x114]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x460c12
xor eax, eax
mov ecx, dword [esp + 0x50]
mov esi, eax
push eax
mov byte [esp + 0x644], 1
mov dword [esp + 0xf4], esi
call fcn.0042f080
jmp 0x460c38
mov esi, ebx
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0xdc]
fld qword [0x5fc898]
mov ecx, dword [esp + 0x38]
sub esp, 8
lea edx, [esp + 0x9c]
fstp qword [esp]
push edx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], esi
call fcn.00472e00
test eax, eax
setne byte [esp + 0x1f]
inc dword [esp + 0xd0]
jmp 0x463c2a
fld qword [0x5fc898]
mov edi, dword [esp + 0x38]
sub esp, 8
lea eax, [esp + 0x6c]
fstp qword [esp]
push eax
mov ecx, edi
call fcn.00472e00
fld qword [0x5fc898]
test eax, eax
setne bl
sub esp, 8
lea ecx, [esp + 0xbc]
fstp qword [esp]
push ecx
mov ecx, edi
mov byte [esp + 0xb6], bl
call fcn.00472e00
test eax, eax
setne al
mov byte [esp + 0xda], al
test bl, bl
jne 0x460ccc
test al, al
je 0x460ce3
cmp byte [esp + 0x37], 0
jne 0x460cee
mov edi, dword [esp + 0x30]
cmp edi, 1
jne 0x460ce7
cmp byte [esp + 0x1f], 0
jne 0x460cee
mov edi, dword [esp + 0x30]
mov byte [esp + 0x27], 0
jmp 0x460cf7
mov edi, dword [esp + 0x30]
mov byte [esp + 0x27], 1
mov al, byte [esp + 0x1e]
mov bl, byte [esp + 0x26]
test al, al
jne 0x460d0b
test bl, bl
je 0x461a56
xorps xmm0, xmm0
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x19c], xmm0
movsd qword [esp + 0x15c], xmm0
movsd qword [esp + 0x144], xmm0
test al, al
je 0x460e7c
fld qword [esp + 0x64]
movsd xmm0, qword [esp + 0xb4]
fsub qword [esp + 0x7c]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0xc4], xmm0
fst qword [esp + 0x1a4]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fstp qword [esp + 0x15c]
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0x164]
movsd xmm1, qword [esp + 0x15c]
movsd xmm2, qword [0x5fc860]
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x174], xmm0
jbe 0x460db6
xorps xmm0, xmm0
movsd qword [esp + 0x15c], xmm0
fld qword [esp + 0xc4]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x174]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x460de3
xorps xmm3, xmm3
jmp 0x460de9
movsd xmm3, qword [esp + 0x44]
movsd xmm2, qword [0x5fc860]
movsd xmm0, qword [esp + 0x15c]
movsd xmm4, qword [esp + 0x164]
andpd xmm0, xmm2
movapd xmm1, xmm3
movapd xmm5, xmm0
andpd xmm1, xmm2
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x460e3a
movsd xmm0, qword [esp + 0xc4]
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x15c], xmm3
jmp 0x460e84
addsd xmm0, xmm4
comisd xmm0, xmm1
jbe 0x460e84
movsd xmm0, qword [esp + 0xc4]
movsd xmm4, qword [esp + 0x1a4]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm4, xmm2
comisd xmm4, xmm1
jbe 0x460e71
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x15c], xmm3
jmp 0x460e84
movsd xmm2, qword [0x5fc860]
test bl, bl
je 0x460fc0
fld qword [esp + 0x6c]
movsd xmm0, qword [esp + 0xbc]
fsub qword [esp + 0x84]
subsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0xc4], xmm0
fst qword [esp + 0x19c]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fstp qword [esp + 0x144]
movsd xmm0, qword [esp + 0x17c]
subsd xmm0, qword [esp + 0x154]
movsd xmm1, qword [esp + 0x144]
movsd xmm2, qword [0x5fc860]
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x16c], xmm0
jbe 0x460f0e
xorps xmm0, xmm0
movsd qword [esp + 0x144], xmm0
fld qword [esp + 0xc4]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x16c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x460f3b
xorps xmm3, xmm3
jmp 0x460f41
movsd xmm3, qword [esp + 0x44]
movsd xmm2, qword [0x5fc860]
movsd xmm0, qword [esp + 0x144]
movsd xmm4, qword [esp + 0x154]
andpd xmm0, xmm2
movapd xmm1, xmm3
movapd xmm5, xmm0
andpd xmm1, xmm2
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x460f80
movsd xmm0, qword [esp + 0xc4]
jmp 0x460fae
addsd xmm0, xmm4
comisd xmm0, xmm1
jbe 0x460fc0
movsd xmm0, qword [esp + 0xc4]
movsd xmm4, qword [esp + 0x19c]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm4, xmm2
comisd xmm4, xmm1
jbe 0x460fb7
movsd qword [esp + 0x19c], xmm0
movsd qword [esp + 0x144], xmm3
cmp edi, 1
jne 0x461346
cmp byte [esp + 0x1e], 0
je 0x461189
cmp byte [esp + 0x2f], 0
je 0x461004
movsd xmm0, qword [esp + 0x1a4]
movsd xmm1, qword [esp + 0x18c]
subsd xmm1, qword [esp + 0x164]
andpd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x461189
fld qword [esp + 0x64]
fsub qword [esp + 0x94]
fst qword [esp + 0xc4]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fstp qword [esp + 0x44]
movsd xmm3, qword [esp + 0x44]
movsd xmm0, qword [esp + 0x18c]
movsd xmm4, qword [esp + 0x164]
movsd xmm2, qword [0x5fc860]
subsd xmm0, xmm4
movapd xmm1, xmm3
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x174], xmm0
jbe 0x461064
xorps xmm3, xmm3
movsd xmm0, qword [esp + 0x15c]
andpd xmm0, xmm2
movapd xmm1, xmm3
movapd xmm5, xmm0
andpd xmm1, xmm2
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x461092
movsd xmm0, qword [esp + 0xc4]
jmp 0x4610c0
addsd xmm0, xmm4
comisd xmm0, xmm1
jbe 0x4610d2
movsd xmm0, qword [esp + 0xc4]
movsd xmm4, qword [esp + 0x1a4]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm4, xmm2
comisd xmm4, xmm1
jbe 0x4610c9
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x15c], xmm3
fld qword [esp + 0xb4]
fsub qword [esp + 0x94]
fst qword [esp + 0xc4]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x174]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x46110d
xorps xmm0, xmm0
jmp 0x461113
movsd xmm0, qword [esp + 0x44]
movsd xmm2, qword [0x5fc860]
movsd xmm3, qword [esp + 0x164]
andpd xmm0, xmm2
movapd xmm1, xmm0
movsd xmm0, qword [esp + 0x15c]
andpd xmm0, xmm2
movapd xmm4, xmm0
subsd xmm4, xmm3
comisd xmm4, xmm1
jbe 0x461152
movsd xmm0, qword [esp + 0xc4]
jmp 0x461180
addsd xmm0, xmm3
comisd xmm0, xmm1
jbe 0x461189
movsd xmm0, qword [esp + 0xc4]
movsd xmm3, qword [esp + 0x1a4]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm3, xmm2
comisd xmm3, xmm1
jbe 0x461189
movsd qword [esp + 0x1a4], xmm0
test bl, bl
je 0x461346
cmp byte [esp + 0x2e], 0
je 0x4611c1
movsd xmm0, qword [esp + 0x19c]
movsd xmm1, qword [esp + 0x17c]
subsd xmm1, qword [esp + 0x154]
andpd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x461346
fld qword [esp + 0x6c]
fsub qword [esp + 0x9c]
fst qword [esp + 0xc4]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fstp qword [esp + 0x44]
movsd xmm3, qword [esp + 0x44]
movsd xmm0, qword [esp + 0x17c]
movsd xmm4, qword [esp + 0x154]
movsd xmm2, qword [0x5fc860]
subsd xmm0, xmm4
movapd xmm1, xmm3
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x16c], xmm0
jbe 0x461221
xorps xmm3, xmm3
movsd xmm0, qword [esp + 0x144]
andpd xmm0, xmm2
movapd xmm1, xmm3
movapd xmm5, xmm0
andpd xmm1, xmm2
subsd xmm5, xmm4
comisd xmm5, xmm1
jbe 0x46124f
movsd xmm0, qword [esp + 0xc4]
jmp 0x46127d
addsd xmm0, xmm4
comisd xmm0, xmm1
jbe 0x46128f
movsd xmm0, qword [esp + 0xc4]
movsd xmm4, qword [esp + 0x19c]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm4, xmm2
comisd xmm4, xmm1
jbe 0x461286
movsd qword [esp + 0x19c], xmm0
movsd qword [esp + 0x144], xmm3
fld qword [esp + 0xbc]
fsub qword [esp + 0x9c]
fst qword [esp + 0xc4]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x16c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4612ca
xorps xmm0, xmm0
jmp 0x4612d0
movsd xmm0, qword [esp + 0x44]
movsd xmm2, qword [0x5fc860]
movsd xmm3, qword [esp + 0x154]
andpd xmm0, xmm2
movapd xmm1, xmm0
movsd xmm0, qword [esp + 0x144]
andpd xmm0, xmm2
movapd xmm4, xmm0
subsd xmm4, xmm3
comisd xmm4, xmm1
jbe 0x46130f
movsd xmm0, qword [esp + 0xc4]
jmp 0x46133d
addsd xmm0, xmm3
comisd xmm0, xmm1
jbe 0x461346
movsd xmm0, qword [esp + 0xc4]
movsd xmm3, qword [esp + 0x19c]
movapd xmm1, xmm0
andpd xmm1, xmm2
andpd xmm3, xmm2
comisd xmm3, xmm1
jbe 0x461346
movsd qword [esp + 0x19c], xmm0
cmp byte [esp + 0x27], 0
jne 0x461a73
cmp byte [esp + 0x1e], 0
je 0x4616d4
movsd xmm1, qword [esp + 0x1a4]
movsd xmm0, qword [esp + 0x18c]
subsd xmm0, qword [esp + 0x164]
movapd xmm3, xmm1
andpd xmm3, xmm2
comisd xmm3, xmm0
movsd qword [esp + 0x174], xmm0
jbe 0x4616d4
cmp byte [esp + 0x2f], 0
je 0x46142e
mov edx, dword [esi]
xorpd xmm1, xmmword [0x5fc740]
xorps xmm0, xmm0
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x40c]
push eax
mov ecx, esi
movsd qword [esp + 0x410], xmm1
movsd qword [esp + 0x418], xmm0
call edx
movsd xmm2, qword [esp + 0x40c]
movsd xmm3, qword [esp + 0x414]
movapd xmm1, xmm2
addsd xmm2, qword [esp + 0xb4]
addsd xmm1, qword [esp + 0x64]
movapd xmm0, xmm3
addsd xmm0, qword [esp + 0x6c]
addsd xmm3, qword [esp + 0xbc]
movsd qword [esp + 0xb4], xmm2
movsd xmm2, qword [0x5fc860]
movsd qword [esp + 0x64], xmm1
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0xbc], xmm3
jmp 0x4616e0
cmp edi, 1
jne 0x4614e3
cmp byte [esp + 0x196], 0
je 0x4614e3
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.00424e70
mov eax, dword [eax + 0x20]
movsd xmm0, qword [esp + 0x1a4]
movsd qword [esp + 0x3ec], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x3f4], xmm0
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x3ec]
push ecx
mov ecx, eax
call edx
movsd xmm0, qword [esp + 0x3ec]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x94]
addsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x94], xmm1
movsd xmm1, qword [esp + 0x3f4]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x9c]
addsd xmm1, qword [esp + 0x84]
movsd qword [esp + 0x9c], xmm2
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0x84], xmm1
jmp 0x461670
fld qword [esp + 0x64]
movsd xmm0, qword [esp + 0xb4]
fsub qword [esp + 0x94]
subsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0xc4], xmm0
fst qword [esp + 0xac]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x15c]
fabs
fld qword [esp + 0x174]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x461540
xorps xmm0, xmm0
movsd qword [esp + 0x15c], xmm0
fld qword [esp + 0xc4]
fld qword [esp + 0x18c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x174]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x46156d
xorps xmm0, xmm0
jmp 0x461573
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fc860]
movsd xmm3, qword [esp + 0x164]
andpd xmm0, xmm1
movapd xmm2, xmm0
movsd xmm0, qword [esp + 0x15c]
andpd xmm0, xmm1
movapd xmm4, xmm0
subsd xmm4, xmm3
comisd xmm4, xmm2
jbe 0x4615b2
movsd xmm0, qword [esp + 0xc4]
jmp 0x4615e8
addsd xmm0, xmm3
comisd xmm0, xmm2
movsd xmm0, qword [esp + 0xac]
jbe 0x4615e8
movsd xmm2, qword [esp + 0xc4]
movapd xmm4, xmm2
movapd xmm5, xmm0
andpd xmm4, xmm1
andpd xmm5, xmm1
comisd xmm5, xmm4
jbe 0x4615e8
movapd xmm0, xmm2
andpd xmm0, xmm1
comisd xmm3, xmm0
jbe 0x461686
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.00424e70
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00434f60
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00427360
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov cl, byte [esp + 0x3f]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x27]
add esp, 8
cmp byte [esp + 0xaa], 0
mov dword [esp + 0x3c], edx
mov byte [esp + 0x1f], cl
mov byte [esp + 0x37], al
jne 0x461655
cmp byte [esp + 0xda], 0
je 0x461664
test al, al
jne 0x46166b
cmp edi, 1
jne 0x461664
cmp byte [esp + 0x1f], al
jne 0x46166b
mov byte [esp + 0x27], 0
jmp 0x461670
mov byte [esp + 0x27], 1
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x64]
movsd xmm2, qword [0x5fc860]
jmp 0x4616e4
movsd xmm0, qword [esp + 0x1a4]
xorpd xmm0, xmmword [0x5fc740]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x3fc]
movsd qword [esp + 0x3fc], xmm0
xorps xmm0, xmm0
push eax
mov ecx, esi
movsd qword [esp + 0x408], xmm0
call edx
movsd xmm2, qword [esp + 0x3fc]
movsd xmm3, qword [esp + 0x404]
jmp 0x4613dd
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x64]
mov ebx, dword [esp + 0x20]
cmp byte [esp + 0x26], 0
je 0x461a66
movsd xmm4, qword [esp + 0x19c]
movsd xmm3, qword [esp + 0x17c]
subsd xmm3, qword [esp + 0x154]
movapd xmm5, xmm4
andpd xmm5, xmm2
comisd xmm5, xmm3
movsd qword [esp + 0x16c], xmm3
jbe 0x461a66
cmp byte [esp + 0x2e], 0
je 0x4617b9
mov eax, dword [esi]
xorps xmm0, xmm0
xorpd xmm4, xmmword [0x5fc740]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x3dc]
push ecx
mov ecx, esi
movsd qword [esp + 0x3e0], xmm0
movsd qword [esp + 0x3e8], xmm4
call edx
movsd xmm2, qword [esp + 0x3dc]
movsd xmm3, qword [esp + 0x3e4]
movapd xmm1, xmm2
addsd xmm1, qword [esp + 0x64]
addsd xmm2, qword [esp + 0xb4]
movapd xmm0, xmm3
addsd xmm0, qword [esp + 0x6c]
addsd xmm3, qword [esp + 0xbc]
movsd qword [esp + 0x64], xmm1
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0xb4], xmm2
movsd qword [esp + 0xbc], xmm3
jmp 0x461a66
cmp edi, 1
jne 0x46186a
cmp byte [esp + 0x197], 0
je 0x46186a
mov ecx, ebx
call fcn.00424e70
mov eax, dword [eax + 0x20]
xorps xmm0, xmm0
movsd qword [esp + 0x3cc], xmm0
movsd xmm0, qword [esp + 0x19c]
movsd qword [esp + 0x3d4], xmm0
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x3cc]
push ecx
mov ecx, eax
call edx
movsd xmm0, qword [esp + 0x3cc]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x94]
addsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x94], xmm1
movsd xmm1, qword [esp + 0x3d4]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x9c]
addsd xmm1, qword [esp + 0x84]
movsd qword [esp + 0x9c], xmm2
movsd qword [esp + 0x7c], xmm0
movsd qword [esp + 0x84], xmm1
jmp 0x461a5a
fld qword [esp + 0x6c]
movsd xmm0, qword [esp + 0xbc]
fsub qword [esp + 0x9c]
subsd xmm0, qword [esp + 0x9c]
movsd qword [esp + 0xc4], xmm0
fst qword [esp + 0xac]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x144]
fabs
fld qword [esp + 0x16c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4618c7
xorps xmm0, xmm0
movsd qword [esp + 0x144], xmm0
fld qword [esp + 0xc4]
fld qword [esp + 0x17c]
call sub.MSVCR90.dll__CIfmod
fst qword [esp + 0x44]
fabs
fld qword [esp + 0x16c]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4618f4
xorps xmm0, xmm0
jmp 0x4618fa
movsd xmm0, qword [esp + 0x44]
movsd xmm1, qword [0x5fc860]
movsd xmm3, qword [esp + 0x154]
andpd xmm0, xmm1
movapd xmm2, xmm0
movsd xmm0, qword [esp + 0x144]
andpd xmm0, xmm1
movapd xmm4, xmm0
subsd xmm4, xmm3
comisd xmm4, xmm2
jbe 0x461939
movsd xmm0, qword [esp + 0xc4]
jmp 0x46196f
addsd xmm0, xmm3
comisd xmm0, xmm2
movsd xmm0, qword [esp + 0xac]
jbe 0x46196f
movsd xmm2, qword [esp + 0xc4]
movapd xmm4, xmm2
movapd xmm5, xmm0
andpd xmm4, xmm1
andpd xmm5, xmm1
comisd xmm5, xmm4
jbe 0x46196f
movapd xmm0, xmm2
andpd xmm0, xmm1
comisd xmm3, xmm0
jbe 0x461a08
mov ecx, ebx
call fcn.00424e70
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00434f60
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00427360
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov cl, byte [esp + 0x3f]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x27]
add esp, 8
cmp byte [esp + 0xaa], 0
mov dword [esp + 0x3c], edx
mov byte [esp + 0x1f], cl
mov byte [esp + 0x37], al
jne 0x4619dc
cmp byte [esp + 0xda], 0
je 0x462193
test al, al
jne 0x461a77
cmp edi, 1
jne 0x462193
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x64]
cmp byte [esp + 0x1f], al
jne 0x461a8f
jmp 0x46219f
xorps xmm0, xmm0
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
movsd qword [esp + 0x41c], xmm0
movsd xmm0, qword [esp + 0x19c]
xorpd xmm0, xmmword [0x5fc740]
lea eax, [esp + 0x41c]
push eax
mov ecx, esi
movsd qword [esp + 0x428], xmm0
call edx
movsd xmm2, qword [esp + 0x41c]
movsd xmm3, qword [esp + 0x424]
jmp 0x461770
mov ebx, dword [esp + 0x20]
movsd xmm1, qword [esp + 0x64]
movsd xmm0, qword [esp + 0x6c]
cmp byte [esp + 0x27], 0
je 0x46219f
jmp 0x461a83
mov ebx, dword [esp + 0x20]
movsd xmm1, qword [esp + 0x64]
movsd xmm0, qword [esp + 0x6c]
cmp edi, 1
jne 0x461ad7
cmp byte [esp + 0x1f], 0
je 0x461ad7
cmp byte [esp + 0x37], 0
jne 0x461ad7
mov ecx, ebx
call fcn.00424e70
xor dword [eax + 8], 1
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00427360
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
movsd xmm0, qword [esp + 0x74]
movsd xmm1, qword [esp + 0x6c]
add esp, 8
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov byte [esp + 0x1f], 0
cmp byte [esp + 0xaa], 0
jne 0x461bfd
subsd xmm1, qword [esp + 0x7c]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x51c]
movsd qword [esp + 0x51c], xmm1
movsd qword [esp + 0x524], xmm0
call fcn.004a7500
fld qword [0x5fc880]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x461bfd
mov byte [esp + 0x1d], 0
lea eax, [esp + 0xb4]
movq xmm0, qword [eax]
movq xmm1, qword [eax + 8]
movsd qword [esp + 0x254], xmm0
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x25c], xmm1
subsd xmm1, qword [esp + 0x84]
lea ecx, [esp + 0x4bc]
movsd qword [esp + 0x4bc], xmm0
movsd qword [esp + 0x4c4], xmm1
call fcn.004a7500
fld qword [0x5fc880]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x461cb2
push 0x88
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x8c], edi
mov byte [esp + 0x640], 0xc
test edi, edi
je 0x461c06
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x320]
call fcn.004ae170
mov esi, eax
or dword [esp + 0x28], 1
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0xf8]
mov byte [esp + 0x644], 0xd
call fcn.004ae170
or dword [esp + 0x28], 2
push esi
push eax
mov ecx, edi
mov dword [esp + 0x648], 0xe
call fcn.004ac780
mov esi, eax
jmp 0x461c08
lea eax, [esp + 0x64]
jmp 0x461b30
xor esi, esi
mov eax, dword [esp + 0x28]
test al, 2
je 0x461c22
and eax, 0xfffffffd
mov dword [esp + 0x28], eax
mov dword [esp + 0xf4], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test al, 1
je 0x461c43
and eax, 0xfffffffe
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x11
test eax, eax
je 0x461c6b
mov ecx, eax
call fcn.004372c0
mov edi, eax
jmp 0x461c6d
xor edi, edi
or dword [edi + 8], 0x13
push esi
mov ecx, edi
mov byte [esp + 0x644], 1
call fcn.00425010
mov edx, dword [esp + 0x54]
push 1
push edi
push edx
mov ecx, ebx
call fcn.00434af0
push 0x60
mov dword [esp + 0x58], edi
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x12
jmp 0x462122
cmp byte [esp + 0x1e], 0
je 0x461eeb
cmp byte [esp + 0xd9], 0
je 0x461eeb
cmp byte [esp + 0x2f], 0
je 0x461eeb
movsd xmm1, qword [0x5fc860]
movsd xmm0, qword [esp + 0x7c]
movsd xmm2, qword [esp + 0x18c]
andpd xmm0, xmm1
movsd xmm1, qword [esp + 0x164]
comisd xmm1, xmm0
ja 0x461d12
movapd xmm3, xmm2
subsd xmm3, xmm1
comisd xmm0, xmm3
jbe 0x461eeb
comisd xmm1, xmm0
movapd xmm0, xmm2
ja 0x461d24
xorpd xmm0, xmmword [0x5fc740]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x284]
movsd qword [esp + 0x284], xmm0
xorps xmm0, xmm0
push ecx
mov ecx, esi
movsd qword [esp + 0x290], xmm0
call edx
movsd xmm0, qword [esp + 0x284]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x64]
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [esp + 0x28c]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x6c]
movsd qword [esp + 0x6c], xmm2
movapd xmm2, xmm0
addsd xmm2, qword [esp + 0xb4]
addsd xmm0, qword [esp + 0x254]
movsd qword [esp + 0xb4], xmm2
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0xbc]
addsd xmm1, qword [esp + 0x25c]
push 0x88
movsd qword [esp + 0xc0], xmm2
movsd qword [esp + 0x258], xmm0
movsd qword [esp + 0x260], xmm1
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x8c], esi
mov byte [esp + 0x640], 0x13
test esi, esi
je 0x461e3f
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0xf8]
call fcn.004ae170
mov edi, eax
or dword [esp + 0x28], 4
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x320]
mov byte [esp + 0x644], 0x14
call fcn.004ae170
or dword [esp + 0x28], 8
push edi
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x15
call fcn.004ac780
mov esi, eax
jmp 0x461e41
xor esi, esi
mov eax, dword [esp + 0x28]
test al, 8
je 0x461e5b
and eax, 0xfffffff7
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test al, 4
je 0x461e7c
and eax, 0xfffffffb
mov dword [esp + 0x28], eax
mov dword [esp + 0xf4], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x18
test eax, eax
je 0x461ea4
mov ecx, eax
call fcn.004372c0
mov edi, eax
jmp 0x461ea6
xor edi, edi
or dword [edi + 8], 0x13
push esi
mov ecx, edi
mov byte [esp + 0x644], 1
call fcn.00425010
mov edx, dword [esp + 0x54]
push 1
push edi
push edx
mov ecx, ebx
call fcn.00434af0
push 0x60
mov dword [esp + 0x58], edi
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x19
jmp 0x462122
cmp byte [esp + 0x26], 0
je 0x462176
cmp byte [esp + 0xdb], 0
je 0x462176
cmp byte [esp + 0x2e], 0
je 0x462176
movsd xmm1, qword [0x5fc860]
movsd xmm0, qword [esp + 0x84]
movsd xmm2, qword [esp + 0x17c]
andpd xmm0, xmm1
movsd xmm1, qword [esp + 0x154]
comisd xmm1, xmm0
ja 0x461f4e
movapd xmm3, xmm2
subsd xmm3, xmm1
comisd xmm0, xmm3
jbe 0x462176
comisd xmm1, xmm0
movapd xmm0, xmm2
ja 0x461f60
xorpd xmm0, xmmword [0x5fc740]
mov eax, dword [esi]
xorps xmm1, xmm1
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x26c]
push ecx
mov ecx, esi
movsd qword [esp + 0x270], xmm1
movsd qword [esp + 0x278], xmm0
call edx
movsd xmm0, qword [esp + 0x26c]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x64]
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [esp + 0x274]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x6c]
movsd qword [esp + 0x6c], xmm2
movapd xmm2, xmm0
addsd xmm2, qword [esp + 0xb4]
addsd xmm0, qword [esp + 0x254]
movsd qword [esp + 0xb4], xmm2
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0xbc]
addsd xmm1, qword [esp + 0x25c]
push 0x88
movsd qword [esp + 0xc0], xmm2
movsd qword [esp + 0x258], xmm0
movsd qword [esp + 0x260], xmm1
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x8c], esi
mov byte [esp + 0x640], 0x1a
test esi, esi
je 0x46207b
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0xf8]
call fcn.004ae170
mov edi, eax
or dword [esp + 0x28], 0x10
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x320]
mov byte [esp + 0x644], 0x1b
call fcn.004ae170
or dword [esp + 0x28], 0x20
push edi
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x1c
call fcn.004ac780
mov esi, eax
jmp 0x46207d
xor esi, esi
mov eax, dword [esp + 0x28]
test al, 0x20
je 0x462097
and eax, 0xffffffdf
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test al, 0x10
je 0x4620b8
and eax, 0xffffffef
mov dword [esp + 0x28], eax
mov dword [esp + 0xf4], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x1f
test eax, eax
je 0x4620e0
mov ecx, eax
call fcn.004372c0
mov edi, eax
jmp 0x4620e2
xor edi, edi
or dword [edi + 8], 0x13
push esi
mov ecx, edi
mov byte [esp + 0x644], 1
call fcn.00425010
mov edx, dword [esp + 0x54]
push 1
push edi
push edx
mov ecx, ebx
call fcn.00434af0
push 0x60
mov dword [esp + 0x58], edi
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x8c], eax
mov byte [esp + 0x640], 0x20
test eax, eax
je 0x462131
mov ecx, eax
call fcn.00445e40
mov esi, eax
jmp 0x462133
xor esi, esi
mov ecx, dword [esp + 0x50]
or dword [esi + 8], 7
push esi
mov byte [esp + 0x644], 1
call fcn.0042eff0
cmp dword [esp + 0x60], 0
jne 0x462154
mov dword [esp + 0x60], esi
push esi
mov ecx, edi
call fcn.00437290
mov eax, 1
add dword [esp + 0x5c], eax
add dword [esp + 0x30], eax
add dword [esi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], eax
movq xmm0, qword [esp + 0x254]
movq qword [esp + 0x7c], xmm0
movq xmm0, qword [esp + 0x25c]
jmp 0x463b0a
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x64]
subsd xmm1, qword [esp + 0x7c]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x4fc]
movsd qword [esp + 0x4fc], xmm1
movsd qword [esp + 0x504], xmm0
call fcn.004a7500
fstp qword [esp + 0x44]
movsd xmm0, qword [esp + 0xb4]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x4dc], xmm0
movsd xmm0, qword [esp + 0xbc]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x4dc]
movsd qword [esp + 0x4e4], xmm0
call fcn.004a7500
fst qword [esp + 0xac]
fld qword [esp + 0x44]
fsub qword [0x5ff780]
fcompi st(1)
fstp st(0)
jbe 0x46236b
xorps xmm0, xmm0
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, qword [eax + 0x10]
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fstp qword [esp + 0x3ac]
xorps xmm0, xmm0
mov eax, dword [esi + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x114]
subsd xmm0, qword [eax + 0x10]
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x11c]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x124]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fst qword [esp + 0x27c]
fld qword [esp + 0x3ac]
fsub qword [0x5fc898]
fcompi st(1)
fstp st(0)
ja 0x462357
movsd xmm0, qword [0x5fc870]
comisd xmm0, xmmword [esp + 0x27c]
jbe 0x46236b
comisd xmm0, xmmword [esp + 0x3ac]
jbe 0x46236b
movsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0x44], xmm0
mov byte [esp + 0x1d], 0
cmp edi, 1
jne 0x462799
movsd xmm0, qword [esp + 0x44]
comisd xmm0, xmmword [0x5fb9d0]
jbe 0x462799
cmp byte [esp + 0x1e], 0
jne 0x46266e
cmp byte [esp + 0x26], 0
jne 0x46266e
cmp dword [esp + 0xe0], 3
jle 0x46266e
xorps xmm0, xmm0
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, qword [eax + 0x10]
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fld qword [0x5fc898]
fcompi st(1)
fstp st(0)
jbe 0x46266e
movsd xmm0, qword [esp + 0x7c]
subsd xmm0, qword [esp + 0x64]
mov esi, dword [esp + 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
movsd qword [esp + 0x20c], xmm0
movsd xmm0, qword [esp + 0x84]
subsd xmm0, qword [esp + 0x6c]
lea eax, [esp + 0x20c]
push eax
mov ecx, esi
movsd qword [esp + 0x218], xmm0
call edx
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x38]
push 3
push eax
push edi
push esi
call fcn.0051e920
fstp qword [esp + 0x28c]
movsd xmm0, qword [esp + 0x1cc]
add esp, 0x10
comisd xmm0, xmmword [0x5fcc40]
ja 0x4624c4
movsd xmm1, qword [0x5ff758]
comisd xmm1, xmm0
ja 0x4624c4
mulsd xmm0, qword [0x5fb9c8]
jmp 0x4624cc
movsd xmm0, qword [0x5fb9c8]
comisd xmm0, xmmword [esp + 0x27c]
jbe 0x462540
movsd xmm2, qword [esp + 0x20c]
movsd xmm3, qword [esp + 0x214]
movapd xmm0, xmm2
addsd xmm2, qword [esp + 0xb4]
addsd xmm0, qword [esp + 0x64]
movapd xmm1, xmm3
addsd xmm1, qword [esp + 0x6c]
addsd xmm3, qword [esp + 0xbc]
movsd qword [esp + 0xb4], xmm2
xorps xmm2, xmm2
movsd qword [esp + 0x64], xmm0
movsd qword [esp + 0x6c], xmm1
movsd qword [esp + 0xbc], xmm3
mov byte [esp + 0x1d], 1
movsd qword [esp + 0x44], xmm2
jmp 0x46267a
movsd xmm1, qword [esp + 0x20c]
movsd xmm0, qword [0x5fc740]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
xorpd xmm1, xmm0
movsd qword [esp + 0x20c], xmm1
movsd xmm1, qword [esp + 0x214]
lea eax, [esp + 0x20c]
xorpd xmm1, xmm0
push eax
mov ecx, esi
movsd qword [esp + 0x218], xmm1
call edx
mov esi, dword [esp + 0x1f8]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x20c]
push ecx
mov ecx, esi
call edx
mov eax, dword [esp + 0xd4]
push 3
push eax
push edi
push esi
call fcn.0051e920
fld qword [0x5fb9c8]
add esp, 0x10
fcompi st(1)
fstp st(0)
jbe 0x462629
movsd xmm0, qword [esp + 0x20c]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x7c]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x7c], xmm1
movsd xmm1, qword [esp + 0x214]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x84]
addsd xmm1, qword [esp + 0x9c]
movsd qword [esp + 0x94], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x9c], xmm1
mov byte [esp + 0x1d], 1
movsd qword [esp + 0x44], xmm0
jmp 0x46266e
movsd xmm1, qword [esp + 0x20c]
movsd xmm0, qword [0x5fc740]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
xorpd xmm1, xmm0
movsd qword [esp + 0x20c], xmm1
movsd xmm1, qword [esp + 0x214]
lea eax, [esp + 0x20c]
xorpd xmm1, xmm0
push eax
mov ecx, esi
movsd qword [esp + 0x218], xmm1
call edx
movsd xmm1, qword [esp + 0x6c]
movsd xmm0, qword [esp + 0x64]
movsd xmm2, qword [esp + 0x44]
comisd xmm2, xmmword [0x5ff780]
jbe 0x4627a5
subsd xmm0, qword [esp + 0x94]
subsd xmm1, qword [esp + 0x9c]
lea ecx, [esp + 0x49c]
mov bl, 1
movsd qword [esp + 0x49c], xmm0
movsd qword [esp + 0x4a4], xmm1
call fcn.004a7500
fst qword [esp + 0xac]
fld qword [esp + 0x44]
fsub qword [0x5ff780]
fcompi st(1)
fstp st(0)
jbe 0x4626ec
movsd xmm0, qword [esp + 0xac]
mov byte [esp + 0x1d], bl
movsd qword [esp + 0x44], xmm0
xor bl, bl
movsd xmm0, qword [esp + 0xb4]
subsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x48c], xmm0
movsd xmm0, qword [esp + 0xbc]
subsd xmm0, qword [esp + 0x9c]
lea ecx, [esp + 0x48c]
movsd qword [esp + 0x494], xmm0
call fcn.004a7500
fst qword [esp + 0xac]
fld qword [esp + 0x44]
fsub qword [0x5ff780]
fcompi st(1)
fstp st(0)
jbe 0x46275b
movsd xmm0, qword [esp + 0xac]
movsd qword [esp + 0x44], xmm0
mov byte [esp + 0x1d], 0
jmp 0x46275f
test bl, bl
jne 0x462799
mov ecx, dword [esp + 0x20]
call fcn.00424e70
xor dword [eax + 8], 1
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00427360
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x3f]
add esp, 8
mov dword [esp + 0x3c], edx
mov byte [esp + 0x1f], al
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [esp + 0x6c]
movsd xmm2, qword [esp + 0x44]
comisd xmm2, xmmword [0x5fc870]
jbe 0x463360
cmp byte [esp + 0x1e], 0
je 0x462d86
cmp byte [esp + 0xd9], 0
je 0x462d86
movsd xmm5, qword [esp + 0x7c]
movsd xmm2, qword [0x5fc860]
movsd xmm4, qword [esp + 0x164]
movapd xmm3, xmm5
andpd xmm3, xmm2
comisd xmm4, xmm3
ja 0x46280e
movsd xmm6, qword [esp + 0x18c]
subsd xmm6, xmm4
comisd xmm3, xmm6
jbe 0x462d8e
subsd xmm0, xmm5
movapd xmm1, xmm0
movsd qword [esp + 0x3a4], xmm0
movsd xmm0, qword [esp + 0x18c]
andpd xmm1, xmm2
subsd xmm0, xmm4
comisd xmm1, xmm0
movsd qword [esp + 0x3b4], xmm1
movsd qword [esp + 0x174], xmm0
jbe 0x46284f
mov byte [esp + 0x1d], 1
jmp 0x46287d
movsd xmm1, qword [esp + 0xb4]
subsd xmm1, xmm5
movsd qword [esp + 0x3a4], xmm1
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x3b4], xmm1
jbe 0x46287d
mov byte [esp + 0x1d], 0
mov ecx, dword [esp + 0x20]
call fcn.00424e80
movsd xmm0, qword [esp + 0x3b4]
comisd xmm0, xmmword [esp + 0x174]
mov edi, eax
jbe 0x463360
movsd xmm0, qword [esp + 0x3a4]
mov esi, dword [edi + 0x20]
movsd qword [esp + 0x234], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x23c], xmm0
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x234]
push eax
mov ecx, esi
call edx
movsd xmm0, qword [esp + 0x234]
addsd xmm0, qword [esp + 0x7c]
mov ebx, dword [esp + 0x20]
movsd qword [esp + 0x7c], xmm0
movsd xmm0, qword [esp + 0x23c]
addsd xmm0, qword [esp + 0x84]
mov ecx, ebx
movsd qword [esp + 0x84], xmm0
call fcn.00424e70
cmp edi, eax
jne 0x462947
movsd xmm0, qword [esp + 0x234]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x94], xmm0
movsd xmm0, qword [esp + 0x23c]
addsd xmm0, qword [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
test byte [edi + 8], 1
je 0x462961
fld qword [esi + 0x10]
lea ecx, [esp + 0x44c]
jmp 0x46296b
fld qword [esi + 0x18]
lea ecx, [esp + 0x47c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
movsd qword [esp + 0x3bc], xmm0
movq xmm0, qword [eax + 8]
mov ecx, ebx
movq qword [esp + 0x3c4], xmm0
call fcn.00424e70
cmp edi, eax
je 0x462d07
lea ecx, [ecx]
mov edi, dword [edi + 0x40]
mov esi, dword [edi + 0x20]
fld qword [esi + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x304]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x314]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movsd xmm1, qword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
addsd xmm0, xmm1
mulsd xmm0, qword [0x5fb9c8]
lea ecx, [esp + 0x57c]
movsd qword [esp], xmm0
push ecx
mov ecx, esi
call edx
movsd xmm1, qword [esp + 0x2fc]
movsd xmm4, qword [esp + 0x30c]
movsd xmm3, qword [0x5fc860]
movsd xmm2, qword [esp + 0x164]
movapd xmm0, xmm1
subsd xmm0, xmm4
andpd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x462af6
movsd xmm0, qword [esp + 0x574]
subsd xmm0, xmm1
andpd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x462af6
movapd xmm0, xmm1
andpd xmm0, xmm3
comisd xmm2, xmm0
ja 0x462a7a
comisd xmm0, xmmword [esp + 0x174]
jbe 0x462af6
test byte [edi + 8], 1
movsd xmm0, qword [esp + 0x3bc]
je 0x462a8f
subsd xmm0, xmm4
jmp 0x462a93
subsd xmm0, xmm1
movsd qword [esp + 0x234], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x234]
push ecx
mov ecx, esi
call edx
mov ecx, dword [esp + 0x20]
call fcn.00424e70
cmp edi, eax
jne 0x462b45
movsd xmm0, qword [esp + 0x234]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x94], xmm0
movsd xmm0, qword [esp + 0x23c]
addsd xmm0, qword [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
jmp 0x462b45
mov eax, dword [edi + 0x1c]
cmp dword [eax + 0x24], 0
je 0x462ba2
xor dword [edi + 8], 1
mov ecx, dword [esp + 0x20]
mov ebx, dword [edi + 8]
call fcn.00424e70
cmp edi, eax
jne 0x462b45
lea eax, [esp + 0x2fc]
test bl, 1
jne 0x462b2a
lea eax, [esp + 0x30c]
movq xmm0, qword [eax]
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
test byte [edi + 8], 1
je 0x462b5f
fld qword [esi + 0x10]
lea ecx, [esp + 0x434]
jmp 0x462b69
fld qword [esi + 0x18]
lea ecx, [esp + 0x394]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x20]
movsd qword [esp + 0x3bc], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x3c4], xmm0
call fcn.00424e70
cmp edi, eax
jne 0x4629a0
jmp 0x462d07
test byte [edi + 8], 1
je 0x462bd7
movsd xmm0, qword [esp + 0x314]
addsd xmm4, qword [esp + 0x234]
addsd xmm0, qword [esp + 0x23c]
movsd qword [esp + 0x30c], xmm4
movsd qword [esp + 0x314], xmm0
jmp 0x462c04
movsd xmm0, qword [esp + 0x304]
addsd xmm1, qword [esp + 0x234]
addsd xmm0, qword [esp + 0x23c]
movsd qword [esp + 0x2fc], xmm1
movsd qword [esp + 0x304], xmm0
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
push 0x88
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
mov byte [esp + 0x640], 0x21
test esi, esi
je 0x462c82
lea eax, [esp + 0x30c]
push eax
lea ecx, [esp + 0xf8]
call fcn.004ae170
mov ebx, eax
or dword [esp + 0x28], 0x40
lea ecx, [esp + 0x2fc]
push ecx
lea ecx, [esp + 0x320]
mov byte [esp + 0x644], 0x22
call fcn.004ae170
or dword [esp + 0x28], 0x80
push ebx
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x23
call fcn.004ac780
jmp 0x462c84
xor eax, eax
mov ecx, dword [esp + 0x28]
test cl, cl
jns 0x462ca1
and ecx, 0xffffff7f
mov dword [esp + 0x28], ecx
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test cl, 0x40
je 0x462cc3
and ecx, 0xffffffbf
mov dword [esp + 0x28], ecx
mov dword [esp + 0xf4], vtable.CGeom2d_Abs.0
push eax
mov ecx, edi
call fcn.00425010
mov ecx, dword [esp + 0x20]
call fcn.00424e70
cmp edi, eax
jne 0x462d07
test byte [edi + 8], 1
lea eax, [esp + 0x2fc]
jne 0x462cec
lea eax, [esp + 0x30c]
movq xmm0, qword [eax]
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
cmp byte [esp + 0x1d], 0
je 0x462d47
movsd xmm0, qword [esp + 0x64]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x4cc], xmm0
movsd xmm0, qword [esp + 0x6c]
subsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x4d4], xmm0
lea ecx, [esp + 0x4cc]
jmp 0x463357
movsd xmm0, qword [esp + 0xb4]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x4ec], xmm0
movsd xmm0, qword [esp + 0xbc]
subsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x4f4], xmm0
lea ecx, [esp + 0x4ec]
jmp 0x463357
movsd xmm2, qword [0x5fc860]
cmp byte [esp + 0x26], 0
je 0x463360
cmp byte [esp + 0xdb], 0
je 0x463360
movsd xmm4, qword [esp + 0x84]
movsd xmm3, qword [esp + 0x154]
movapd xmm0, xmm4
andpd xmm0, xmm2
comisd xmm3, xmm0
ja 0x462dde
movsd xmm5, qword [esp + 0x17c]
subsd xmm5, xmm3
comisd xmm0, xmm5
jbe 0x463360
movsd xmm0, qword [esp + 0x17c]
subsd xmm1, xmm4
movsd qword [esp + 0x1ac], xmm1
andpd xmm1, xmm2
subsd xmm0, xmm3
comisd xmm1, xmm0
movsd qword [esp + 0x264], xmm1
movsd qword [esp + 0x16c], xmm0
jbe 0x462e1b
mov byte [esp + 0x1d], 1
jmp 0x462e49
movsd xmm1, qword [esp + 0xbc]
subsd xmm1, xmm4
movsd qword [esp + 0x1ac], xmm1
andpd xmm1, xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x264], xmm1
jbe 0x462e49
mov byte [esp + 0x1d], 0
mov ecx, dword [esp + 0x20]
call fcn.00424e80
movsd xmm0, qword [esp + 0x264]
comisd xmm0, xmmword [esp + 0x16c]
mov edi, eax
jbe 0x463360
xorps xmm0, xmm0
mov esi, dword [edi + 0x20]
movsd qword [esp + 0x244], xmm0
movsd xmm0, qword [esp + 0x1ac]
movsd qword [esp + 0x24c], xmm0
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x244]
push eax
mov ecx, esi
call edx
movsd xmm0, qword [esp + 0x244]
addsd xmm0, qword [esp + 0x7c]
mov ebx, dword [esp + 0x20]
movsd qword [esp + 0x7c], xmm0
movsd xmm0, qword [esp + 0x24c]
addsd xmm0, qword [esp + 0x84]
mov ecx, ebx
movsd qword [esp + 0x84], xmm0
call fcn.00424e70
cmp edi, eax
jne 0x462f13
movsd xmm0, qword [esp + 0x244]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x94], xmm0
movsd xmm0, qword [esp + 0x24c]
addsd xmm0, qword [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
test byte [edi + 8], 1
je 0x462f2d
fld qword [esi + 0x10]
lea ecx, [esp + 0x55c]
jmp 0x462f37
fld qword [esi + 0x18]
lea ecx, [esp + 0x56c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x2c4], xmm0
movq xmm0, qword [eax + 8]
mov ecx, ebx
movsd qword [esp + 0x2cc], xmm0
call fcn.00424e70
cmp edi, eax
je 0x4632e0
lea esp, [esp]
mov edi, dword [edi + 0x40]
mov esi, dword [edi + 0x20]
fld qword [esi + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x36c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x22c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movsd xmm1, qword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
addsd xmm0, xmm1
mulsd xmm0, qword [0x5fb9c8]
lea ecx, [esp + 0x5a4]
movsd qword [esp], xmm0
push ecx
mov ecx, esi
call edx
movsd xmm1, qword [esp + 0x36c]
movsd xmm4, qword [esp + 0x22c]
movsd xmm3, qword [0x5fc860]
movsd xmm2, qword [esp + 0x154]
movapd xmm0, xmm1
subsd xmm0, xmm4
andpd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x4630c2
movsd xmm0, qword [esp + 0x5a4]
subsd xmm0, xmm1
andpd xmm0, xmm3
comisd xmm2, xmm0
jbe 0x4630c2
movapd xmm0, xmm1
andpd xmm0, xmm3
comisd xmm2, xmm0
ja 0x463046
comisd xmm0, xmmword [esp + 0x16c]
jbe 0x4630c2
test byte [edi + 8], 1
movsd xmm0, qword [esp + 0x2cc]
je 0x46305b
subsd xmm0, xmm4
jmp 0x46305f
subsd xmm0, xmm1
movsd qword [esp + 0x24c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x244]
push ecx
mov ecx, esi
call edx
mov ecx, dword [esp + 0x20]
call fcn.00424e70
cmp edi, eax
jne 0x463111
movsd xmm0, qword [esp + 0x244]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x94], xmm0
movsd xmm0, qword [esp + 0x24c]
addsd xmm0, qword [esp + 0x9c]
movsd qword [esp + 0x9c], xmm0
jmp 0x463111
mov eax, dword [edi + 0x1c]
cmp dword [eax + 0x24], 0
je 0x46316e
xor dword [edi + 8], 1
mov ecx, dword [esp + 0x20]
mov ebx, dword [edi + 8]
call fcn.00424e70
cmp edi, eax
jne 0x463111
lea eax, [esp + 0x364]
test bl, 1
jne 0x4630f6
lea eax, [esp + 0x224]
movq xmm0, qword [eax]
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
test byte [edi + 8], 1
je 0x46312b
fld qword [esi + 0x10]
lea ecx, [esp + 0x544]
jmp 0x463135
fld qword [esi + 0x18]
lea ecx, [esp + 0x2ec]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
mov ecx, dword [esp + 0x20]
movq qword [esp + 0x2c4], xmm0
movq xmm0, qword [eax + 8]
movsd qword [esp + 0x2cc], xmm0
call fcn.00424e70
cmp edi, eax
jne 0x462f70
jmp 0x4632e0
test byte [edi + 8], 1
je 0x4631a3
movsd xmm0, qword [esp + 0x224]
addsd xmm0, qword [esp + 0x244]
addsd xmm4, qword [esp + 0x24c]
movsd qword [esp + 0x224], xmm0
movsd qword [esp + 0x22c], xmm4
jmp 0x4631d0
movsd xmm0, qword [esp + 0x364]
addsd xmm0, qword [esp + 0x244]
addsd xmm1, qword [esp + 0x24c]
movsd qword [esp + 0x364], xmm0
movsd qword [esp + 0x36c], xmm1
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
push 0x88
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
mov byte [esp + 0x640], 0x26
test esi, esi
je 0x463251
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0xf8]
call fcn.004ae170
mov ebx, eax
or dword [esp + 0x28], 0x100
lea ecx, [esp + 0x364]
push ecx
lea ecx, [esp + 0x320]
mov byte [esp + 0x644], 0x27
call fcn.004ae170
or dword [esp + 0x28], 0x200
push ebx
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x28
call fcn.004ac780
jmp 0x463253
xor eax, eax
mov ecx, dword [esp + 0x28]
test ecx, 0x200
je 0x463274
and ecx, 0xfffffdff
mov dword [esp + 0x28], ecx
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test ecx, 0x100
je 0x46329c
and ecx, 0xfffffeff
mov dword [esp + 0x28], ecx
mov dword [esp + 0xf4], vtable.CGeom2d_Abs.0
push eax
mov ecx, edi
call fcn.00425010
mov ecx, dword [esp + 0x20]
call fcn.00424e70
cmp edi, eax
jne 0x4632e0
test byte [edi + 8], 1
lea eax, [esp + 0x364]
jne 0x4632c5
lea eax, [esp + 0x224]
movq xmm0, qword [eax]
movq qword [esp + 0x94], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x9c], xmm0
cmp byte [esp + 0x1d], 0
je 0x46331d
movsd xmm0, qword [esp + 0x64]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x50c], xmm0
movsd xmm0, qword [esp + 0x6c]
subsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x514], xmm0
lea ecx, [esp + 0x50c]
jmp 0x463357
movsd xmm0, qword [esp + 0xb4]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x52c], xmm0
movsd xmm0, qword [esp + 0xbc]
subsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x534], xmm0
lea ecx, [esp + 0x52c]
call fcn.004a7500
fstp qword [esp + 0x44]
cmp byte [esp + 0x1e], 0
jne 0x4636ef
cmp byte [esp + 0x26], 0
jne 0x4636ef
mov edx, dword [esp + 0x40]
xorps xmm0, xmm0
mov eax, dword [edx + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, qword [eax + 0x10]
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fld qword [0x5fc898]
fcompi st(1)
fstp st(0)
jbe 0x4636ef
movsd xmm0, qword [esp + 0x44]
comisd xmm0, xmmword [0x5fc870]
jbe 0x4636a3
movsd xmm0, qword [esp + 0x7c]
subsd xmm0, qword [esp + 0x64]
mov esi, dword [esp + 0x90]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
movsd qword [esp + 0x1fc], xmm0
movsd xmm0, qword [esp + 0x84]
subsd xmm0, qword [esp + 0x6c]
lea ecx, [esp + 0x1fc]
push ecx
mov ecx, esi
movsd qword [esp + 0x208], xmm0
call edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
push 3
push eax
push ecx
push esi
call fcn.0051e920
fstp qword [esp + 0xbc]
movsd xmm0, qword [esp + 0x1cc]
add esp, 0x10
comisd xmm0, xmmword [0x5fcc40]
ja 0x4634a2
movsd xmm1, qword [0x5ff758]
comisd xmm1, xmm0
ja 0x4634a2
mulsd xmm0, qword [0x5fb9c8]
jmp 0x4634aa
movsd xmm0, qword [0x5fb270]
comisd xmm0, xmmword [esp + 0xac]
movsd qword [esp + 0xe4], xmm0
jbe 0x46351e
movsd xmm0, qword [esp + 0x1fc]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x64]
addsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x64], xmm1
movsd xmm1, qword [esp + 0x204]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x6c]
addsd xmm1, qword [esp + 0xbc]
movsd qword [esp + 0x6c], xmm2
movsd qword [esp + 0xb4], xmm0
movsd qword [esp + 0xbc], xmm1
mov byte [esp + 0x1d], 1
jmp 0x463b1e
movsd xmm1, qword [esp + 0x1fc]
movsd xmm0, qword [0x5fc740]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
xorpd xmm1, xmm0
movsd qword [esp + 0x1fc], xmm1
movsd xmm1, qword [esp + 0x204]
lea eax, [esp + 0x1fc]
xorpd xmm1, xmm0
push eax
mov ecx, esi
movsd qword [esp + 0x208], xmm1
call edx
cmp dword [esp + 0x30], 1
jne 0x4636ef
mov ecx, dword [esp + 0x20]
call fcn.00424e80
mov esi, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x463586
mov edi, dword [eax + 0x24]
jmp 0x463588
xor edi, edi
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [esp + 0x6c]
subsd xmm0, qword [esp + 0x7c]
subsd xmm1, qword [esp + 0x84]
movq qword [esp + 0x1fc], xmm0
movq qword [esp + 0x204], xmm1
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x1fc]
push ecx
mov ecx, esi
call edx
test edi, edi
je 0x4635e2
mov eax, dword [esp + 0x38]
push 3
push edi
push eax
push esi
call fcn.0051e920
fstp qword [esp + 0xbc]
add esp, 0x10
movsd xmm0, qword [esp + 0xe4]
comisd xmm0, xmmword [esp + 0xac]
jbe 0x46365c
movsd xmm0, qword [esp + 0x1fc]
movapd xmm1, xmm0
addsd xmm1, qword [esp + 0x7c]
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x7c], xmm1
movsd xmm1, qword [esp + 0x204]
movapd xmm2, xmm1
addsd xmm2, qword [esp + 0x84]
addsd xmm1, qword [esp + 0x9c]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x94], xmm0
movsd qword [esp + 0x9c], xmm1
mov byte [esp + 0x1d], 1
jmp 0x463b1e
movsd xmm1, qword [esp + 0x1fc]
movsd xmm0, qword [0x5fc740]
xorpd xmm1, xmm0
movsd qword [esp + 0x1fc], xmm1
movsd xmm1, qword [esp + 0x204]
xorpd xmm1, xmm0
movsd qword [esp + 0x204], xmm1
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x1fc]
push eax
mov ecx, esi
call edx
jmp 0x4636ef
comisd xmm0, xmmword [0x5fc898]
jbe 0x4636ef
cmp byte [esp + 0xab], 0
je 0x4636ef
cmp byte [esp + 0x1d], 0
mov ecx, dword [esp + 0x90]
je 0x4636de
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
lea edx, [esp + 0xb4]
push edx
lea edx, [esp + 0x80]
push edx
call eax
jmp 0x4636ef
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x68]
push eax
call edx
movsd xmm0, qword [esp + 0x44]
comisd xmm0, xmmword [0x5fc870]
jbe 0x463b13
cmp byte [esp + 0x1d], 0
lea eax, [esp + 0x64]
jne 0x463715
lea eax, [esp + 0xb4]
movq xmm0, qword [eax]
movq qword [esp + 0x2a4], xmm0
movq xmm0, qword [eax + 8]
push 0x88
movq qword [esp + 0x2b0], xmm0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
mov byte [esp + 0x640], 0x2b
test esi, esi
je 0x4637ab
lea eax, [esp + 0x2a4]
push eax
lea ecx, [esp + 0x340]
call fcn.004ae170
mov edi, eax
or dword [esp + 0x28], 0x400
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x320]
mov byte [esp + 0x644], 0x2c
call fcn.004ae170
or dword [esp + 0x28], 0x800
push edi
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x2d
call fcn.004ac780
mov dword [esp + 0x8c], eax
jmp 0x4637b6
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x28]
test eax, 0x800
je 0x4637d5
and eax, 0xfffff7ff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test eax, 0x400
je 0x4637fb
and eax, 0xfffffbff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x30
test eax, eax
je 0x463820
mov ecx, eax
call fcn.004372c0
mov ebx, eax
jmp 0x463822
xor ebx, ebx
mov edx, dword [esp + 0x8c]
or dword [ebx + 8], 0x13
push edx
mov ecx, ebx
mov byte [esp + 0x644], 1
call fcn.00425010
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
push 1
push ebx
push eax
call fcn.00434af0
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x31
test eax, eax
je 0x463873
mov ecx, eax
call fcn.00445e40
mov esi, eax
jmp 0x463875
xor esi, esi
mov ecx, dword [esp + 0x50]
or dword [esi + 8], 7
push esi
mov byte [esp + 0x644], 1
call fcn.0042eff0
cmp dword [esp + 0x60], 0
jne 0x463896
mov dword [esp + 0x60], esi
push esi
mov ecx, ebx
call fcn.00437290
cmp byte [esp + 0x1d], 0
lea eax, [esp + 0x12c]
jne 0x4638b3
lea eax, [esp + 0x114]
movq xmm1, qword [eax]
movq xmm2, qword [eax + 8]
movq xmm3, qword [eax + 0x10]
mov edi, dword [esp + 0x40]
xorps xmm0, xmm0
movsd qword [esp + 0x1c4], xmm1
movsd qword [esp + 0x1cc], xmm2
movsd qword [esp + 0x1d4], xmm3
mov eax, dword [edi + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [eax + 0x10]
add eax, 0x10
subsd xmm0, xmm1
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [eax + 8]
subsd xmm0, xmm2
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [eax + 0x10]
subsd xmm0, xmm3
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fstp qword [esp + 0xac]
fld qword [0x5fc898]
sub esp, 8
lea ecx, [esp + 0x84]
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x44]
call fcn.00472e00
test eax, eax
jne 0x46398f
fld qword [0x5fc898]
mov ecx, dword [esp + 0x38]
sub esp, 8
lea edx, [esp + 0x2ac]
fstp qword [esp]
push edx
call fcn.00472e00
test eax, eax
je 0x4639b0
movsd xmm0, qword [0x5fc898]
comisd xmm0, xmmword [esp + 0xac]
jbe 0x4639b0
inc dword [esi + 4]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
jmp 0x463aa1
cmp byte [esp + 0x1d], 0
mov edi, dword [esp + 0x58]
jne 0x4639c2
mov edi, dword [esp + 0xf0]
test edi, edi
jne 0x463a07
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x32
test eax, eax
je 0x4639f1
lea ecx, [esp + 0x1c4]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x4639f3
xor eax, eax
mov ecx, dword [esp + 0x50]
push eax
mov byte [esp + 0x644], 1
mov edi, eax
call fcn.0042f080
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x8c]
mov dword [esi + 0x20], edi
fld qword [0x5fdfa8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
sub esp, 8
fstp qword [esp]
push edx
mov dword [esp + 0x4c], edi
call eax
mov edi, eax
test edi, edi
je 0x463a68
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
fld qword [0x5fa918]
fcompi st(1)
fstp st(0)
jbe 0x463a68
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
xor edi, edi
push edi
mov ecx, esi
call fcn.004440c0
test edi, edi
je 0x463aa1
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
fst qword [esp + 0xac]
mov ecx, dword [ebp + 8]
fld qword [ecx + 0x218]
fcompi st(1)
fstp st(0)
jbe 0x463aa1
inc dword [esp + 0x78]
movsd xmm0, qword [esp + 0xac]
comisd xmm0, xmmword [0x5fcaf8]
jbe 0x463acc
cmp byte [esp + 0x1e], 0
jne 0x463ac2
cmp byte [esp + 0x26], 0
je 0x463acc
mov eax, dword [esp + 0x20]
or dword [eax + 8], 8
jmp 0x463ad0
mov eax, dword [esp + 0x20]
comisd xmm0, xmmword [0x616410]
jbe 0x463ae1
or dword [eax + 8], 0x80
movq xmm0, qword [esp + 0x2a4]
mov eax, 1
add dword [esp + 0x5c], eax
add dword [esp + 0x30], eax
movq qword [esp + 0x7c], xmm0
movq xmm0, qword [esp + 0x2ac]
mov dword [esp + 0x54], ebx
movq qword [esp + 0x84], xmm0
cmp byte [esp + 0x1d], 0
je 0x463ba8
cmp dword [esp + 0xf0], 0
jne 0x463b7a
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x33
test eax, eax
je 0x463b55
lea edx, [esp + 0x114]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x463b57
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
mov dword [esp + 0xf4], esi
call fcn.0042f080
mov eax, dword [esp + 0xdc]
mov dword [eax + 0x20], esi
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x463b91
mov edx, dword [esp + 0x40]
push edx
call fcn.0043ce60
jmp 0x463c2a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x58], eax
mov dword [ecx + 0x1c], eax
jmp 0x463c2a
cmp dword [esp + 0x58], 0
jne 0x463bfe
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x34
test eax, eax
je 0x463bdc
lea edx, [esp + 0x12c]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x463bde
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
mov dword [esp + 0x5c], esi
call fcn.0042f080
mov eax, dword [esp + 0xdc]
mov dword [eax + 0x1c], esi
mov ecx, dword [esp + 0xf0]
test ecx, ecx
je 0x463c15
mov edx, dword [esp + 0x40]
push edx
call fcn.0043ce60
jmp 0x463c2a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xf0], eax
mov dword [ecx + 0x20], eax
cmp byte [esp + 0xab], 0
je 0x463cb1
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x35
test eax, eax
je 0x463c59
mov ecx, eax
call fcn.004372c0
mov esi, eax
jmp 0x463c5b
xor esi, esi
mov edi, dword [esp + 0x90]
or dword [esi + 8], 0x12
push edi
mov ecx, esi
mov byte [esp + 0x644], 1
mov dword [esp + 0x1bc], esi
call fcn.00425010
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
push 1
push esi
push edx
call fcn.00434af0
mov eax, dword [esp + 0xdc]
push eax
mov ecx, esi
call fcn.00437290
mov bl, byte [esp + 0x1d]
mov dword [esp + 0x150], edi
mov byte [esp + 0x195], bl
jmp 0x463cb5
mov bl, byte [esp + 0x1d]
mov eax, dword [esp + 0x1b8]
mov esi, 1
test bl, bl
je 0x463cca
or dword [eax + 8], esi
jmp 0x463cce
and dword [eax + 8], 0xfffffffe
mov dword [esp + 0x54], eax
lea eax, [esp + 0xb4]
test bl, bl
jne 0x463ce1
lea eax, [esp + 0x64]
movq xmm0, qword [eax]
fld qword [0x5fc898]
sub esp, 8
lea ecx, [esp + 0x84]
fstp qword [esp]
movq qword [esp + 0x84], xmm0
movq xmm0, qword [eax + 8]
push ecx
mov ecx, dword [esp + 0x44]
movq qword [esp + 0x90], xmm0
call fcn.00472e00
test eax, eax
setne byte [esp + 0x37]
test bl, bl
je 0x463d31
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x40], edx
jmp 0x463d39
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov cl, byte [esp + 0x2f]
mov dl, byte [esp + 0x2e]
add dword [esp + 0x5c], esi
add dword [esp + 0x30], esi
mov ebx, dword [esp + 0x38]
mov byte [esp + 0xd9], cl
mov byte [esp + 0xdb], dl
jmp 0x463d8a
test edi, edi
je 0x463d8a
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
fld qword [0x5fc898]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x463d8a
mov eax, dword [esp + 0x20]
or dword [eax + 8], 8
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0xdc], eax
cmp eax, dword [esp + 0x60]
je 0x463e96
cmp dword [esp + 0x30], 1
jle 0x460792
movsd xmm0, qword [esp + 0x94]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x294], xmm0
movsd xmm0, qword [esp + 0x9c]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x294]
movsd qword [esp + 0x29c], xmm0
call fcn.004a7500
fld qword [0x5fb9d0]
fcompi st(1)
fstp st(0)
jbe 0x460792
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x1c]
mov edx, dword [esp + 0x3c]
xorps xmm0, xmm0
mov ecx, dword [edx + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
add ecx, 0x10
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [ecx + 8]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
mov eax, dword [ebp + 8]
fld qword [eax + 0x218]
fcompi st(1)
fstp st(0)
jbe 0x460792
mov dword [esp + 0x30], 0
jmp 0x460792
cmp dword [esp + 0x5c], 0
je 0x463fb9
movsd xmm0, qword [esp + 0x94]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x294], xmm0
movsd xmm0, qword [esp + 0x9c]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x294]
movsd qword [esp + 0x29c], xmm0
call fcn.004a7500
fld qword [0x5fc870]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x463fc9
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x44]
call fcn.0043ce60
mov esi, dword [esp + 0x150]
test esi, esi
je 0x4642e5
cmp byte [esp + 0x1e], 0
jne 0x4642e5
cmp byte [esp + 0x26], 0
jne 0x4642e5
movsd xmm0, qword [esp + 0x94]
subsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 0x294], xmm0
movsd xmm0, qword [esp + 0x9c]
subsd xmm0, qword [esp + 0x84]
lea ecx, [esp + 0x294]
movsd qword [esp + 0x29c], xmm0
call fcn.004a7500
fld qword [0x5fc898]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4642e5
cmp byte [esp + 0x195], 0
je 0x463f9b
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call edx
jmp 0x4642e5
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
lea ecx, [esp + 0xb4]
push ecx
lea edx, [esp + 0x98]
push edx
mov ecx, esi
call eax
jmp 0x4642e5
mov eax, dword [esp + 0x20]
or dword [eax + 8], 0x80
jmp 0x4642e5
push 0x88
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
mov byte [esp + 0x640], 0x36
test esi, esi
je 0x46403f
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x320]
call fcn.004ae170
mov edi, eax
or dword [esp + 0x28], 0x1000
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x340]
mov byte [esp + 0x644], 0x37
call fcn.004ae170
or dword [esp + 0x28], 0x2000
push edi
push eax
mov ecx, esi
mov dword [esp + 0x648], 0x38
call fcn.004ac780
mov ebx, eax
jmp 0x464041
xor ebx, ebx
mov eax, dword [esp + 0x28]
test eax, 0x2000
je 0x464060
and eax, 0xffffdfff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test eax, 0x1000
je 0x464086
and eax, 0xffffefff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x3b
test eax, eax
je 0x4640ab
mov ecx, eax
call fcn.004372c0
mov edi, eax
jmp 0x4640ad
xor edi, edi
or dword [edi + 8], 0x13
push ebx
mov ecx, edi
mov byte [esp + 0x644], 1
call fcn.00425010
mov ecx, dword [esp + 0x20]
push 1
push edi
push 0
call fcn.00434af0
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x3c
test eax, eax
je 0x4640f4
mov ecx, eax
call fcn.00445e40
mov esi, eax
jmp 0x4640f6
xor esi, esi
mov ecx, dword [esp + 0x50]
or dword [esi + 8], 7
push esi
mov byte [esp + 0x644], 1
call fcn.0042eff0
push esi
mov ecx, edi
call fcn.00437290
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x1c]
xorps xmm0, xmm0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
add ecx, 0x10
add eax, 0x10
movsd qword [esp + 0xf4], xmm0
movsd xmm0, qword [ecx + 8]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0xf4]
movsd qword [esp + 0x104], xmm0
call fcn.004a88b0
fstp qword [esp + 0xac]
fld qword [0x5fc898]
mov ecx, dword [esp + 0x38]
sub esp, 8
lea edx, [esp + 0x84]
fstp qword [esp]
push edx
call fcn.00472e00
test eax, eax
jne 0x4641d4
fld qword [0x5fc898]
mov ecx, dword [esp + 0x38]
sub esp, 8
lea eax, [esp + 0x9c]
fstp qword [esp]
push eax
call fcn.00472e00
test eax, eax
je 0x464203
mov ecx, dword [ebp + 8]
movsd xmm0, qword [ecx + 0x218]
comisd xmm0, xmmword [esp + 0xac]
jbe 0x464203
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
inc dword [esi + 4]
push edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
call fcn.0043ce60
jmp 0x464279
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x1c], eax
fld qword [0x5fdfa8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x98]
sub esp, 8
fstp qword [esp]
push ebx
call eax
mov edi, eax
test edi, edi
je 0x464276
fld qword [0x5ff790]
sub esp, 8
mov ecx, edi
fstp qword [esp]
call fcn.004f0b50
fst qword [esp + 0xac]
fld qword [0x5ff758]
fmul qword [0x5fcc50]
fcompi st(1)
fstp st(0)
jbe 0x4642a4
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x44]
call fcn.0043ce60
inc dword [esi + 4]
movsd xmm0, qword [esp + 0xac]
comisd xmm0, xmmword [0x5fcaf8]
jbe 0x4642c8
cmp byte [esp + 0x1e], 0
jne 0x46429a
cmp byte [esp + 0x26], 0
je 0x4642c8
mov eax, dword [esp + 0x20]
or dword [eax + 8], 8
jmp 0x4642cc
mov edx, dword [ebp + 8]
movsd xmm0, qword [edx + 0x218]
comisd xmm0, xmmword [esp + 0xac]
jbe 0x4642be
inc dword [esp + 0x78]
push edi
mov ecx, esi
call fcn.004440c0
jmp 0x464279
mov eax, dword [esp + 0x20]
comisd xmm0, xmmword [0x616410]
jbe 0x4642dd
or dword [eax + 8], 0x80
inc dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
cmp dword [esp + 0x5c], 0
mov eax, dword [esp + 0x20]
je 0x4642f7
and dword [eax + 8], 0xf7ffffff
or dword [eax + 8], 0x10
cmp dword [ebx + 0xc], 0x3b
jne 0x464429
cmp byte [esp + 0x1e], 0
jne 0x464317
cmp byte [esp + 0x26], 0
je 0x464429
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x20], 0
je 0x464429
lea ecx, [esp + 0x33c]
push ecx
mov ecx, eax
call fcn.00435160
xorps xmm0, xmm0
movsd xmm1, qword [0x5fa918]
xor al, al
movsd qword [esp + 0x22c], xmm0
movsd qword [esp + 0x224], xmm0
cmp byte [esp + 0x1e], al
je 0x4643a6
movsd xmm0, qword [esp + 0x18c]
movsd xmm3, qword [esp + 0x33c]
movapd xmm2, xmm0
subsd xmm2, xmm1
comisd xmm3, xmm2
jbe 0x464390
movapd xmm2, xmm0
xorpd xmm2, xmmword [0x5fc740]
mov al, 1
movsd qword [esp + 0x224], xmm2
comisd xmm1, xmmword [esp + 0x34c]
jbe 0x4643a6
mov al, 1
movsd qword [esp + 0x224], xmm0
cmp byte [esp + 0x26], 0
je 0x4643fa
movsd xmm0, qword [esp + 0x17c]
movsd xmm3, qword [esp + 0x344]
movapd xmm2, xmm0
subsd xmm2, xmm1
comisd xmm3, xmm2
jbe 0x4643e4
movapd xmm2, xmm0
xorpd xmm2, xmmword [0x5fc740]
mov al, 1
movsd qword [esp + 0x22c], xmm2
comisd xmm1, xmmword [esp + 0x354]
jbe 0x4643fa
movsd qword [esp + 0x22c], xmm0
jmp 0x4643fe
test al, al
je 0x464429
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov edi, dword [eax + 0x44]
cmp esi, edi
je 0x464429
nop
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x224]
push eax
call edx
mov esi, dword [esi + 0x44]
cmp esi, edi
jne 0x464410
cmp dword [esp + 0xd0], 1
jg 0x46515f
cmp dword [esp + 0x78], 0
jle 0x464456
cmp byte [esp + 0x1e], 0
jne 0x46444c
cmp byte [esp + 0x26], 0
je 0x464456
mov eax, dword [esp + 0x20]
or dword [eax + 8], 8
jmp 0x46445a
mov eax, dword [esp + 0x20]
test byte [eax + 8], 8
jne 0x4605e3
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x30]
movsd xmm0, qword [esp + 0x154]
movsd xmm1, qword [esp + 0x164]
comisd xmm0, xmm1
mov dword [esp + 0x3c], ecx
jbe 0x46448b
movapd xmm0, xmm1
movsd xmm1, qword [0x5fcad8]
comisd xmm0, xmm1
movsd qword [esp + 0x1bc], xmm0
jbe 0x4644ab
movsd qword [esp + 0x1bc], xmm1
fld qword [0x5fa920]
mov edx, dword [esp + 0x188]
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x20]
sub esp, 0x10
fstp qword [esp + 8]
mov ecx, esi
fld qword [esp + 0x1cc]
fstp qword [esp]
push edx
push eax
call fcn.0045afc0
cmp byte [esp + 0x36], 0
je 0x4644ee
mov ecx, esi
call fcn.00435530
fstp st(0)
jmp 0x4605e3
test byte [esi + 8], 1
je 0x4644f9
mov eax, dword [esi + 0x20]
jmp 0x4644fc
mov eax, dword [esi + 0x24]
mov dword [esp + 0x30], eax
test eax, eax
je 0x4605e3
mov ecx, esi
call fcn.00424e80
xorps xmm0, xmm0
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x188], eax
movsd qword [esp + 0x2bc], xmm0
movsd qword [esp + 0x2b4], xmm0
movsd qword [esp + 0x2dc], xmm0
movsd qword [esp + 0x2d4], xmm0
movsd qword [esp + 0x384], xmm0
movsd qword [esp + 0x37c], xmm0
mov dword [esp + 0x58], 0
jmp 0x464560
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x20]
fld qword [esi + 0x10]
mov edx, dword [esi]
mov edi, dword [eax + 0x1c]
mov edx, dword [edx + 0x4c]
sub esp, 8
test byte [eax + 8], 1
fstp qword [esp]
mov ecx, esi
je 0x4645e6
lea eax, [esp + 0x2ec]
push eax
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x2b4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x2bc], xmm0
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x544]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x2d4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x2dc], xmm0
test edi, edi
je 0x464652
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi + 0x20]
jmp 0x46464a
lea eax, [esp + 0x56c]
push eax
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x2d4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x2dc], xmm0
fld qword [esi + 0x18]
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
sub esp, 8
lea ecx, [esp + 0x55c]
fstp qword [esp]
push ecx
mov ecx, esi
call edx
movq xmm0, qword [eax]
movq qword [esp + 0x2b4], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x2bc], xmm0
test edi, edi
je 0x464652
mov ebx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x46467e
movq xmm0, qword [esp + 0x2b4]
movq qword [esp + 0x37c], xmm0
movq xmm0, qword [esp + 0x2bc]
movq qword [esp + 0x384], xmm0
test edi, edi
je 0x464697
test eax, eax
jne 0x465114
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x58], ecx
jmp 0x465114
mov edi, dword [ebp + 8]
fld qword [edi + 0x218]
mov ecx, dword [esp + 0x30]
sub esp, 8
fstp qword [esp]
call fcn.00436e80
test al, al
je 0x464792
mov edi, dword [esp + 0x58]
test edi, edi
jne 0x464723
fldz
mov ecx, dword [esp + 0x38]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x2bc]
push edx
lea eax, [esp + 0x590]
push eax
call fcn.0046a050
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x3d
test eax, eax
je 0x46470b
lea ecx, [esp + 0x584]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x46470d
xor eax, eax
mov ecx, dword [esp + 0x50]
push eax
mov byte [esp + 0x644], 1
mov ebx, eax
call fcn.0042f080
jmp 0x464727
mov ebx, dword [esp + 0x54]
push 0x60
mov dword [esp + 0x64], ebx
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x3e
test eax, eax
je 0x464754
push 0
push ebx
push ebx
mov ecx, eax
call fcn.00445ee0
mov esi, eax
jmp 0x464756
xor esi, esi
or dword [esi + 8], 3
mov byte [esp + 0x640], 1
mov dword [esp + 0x90], esi
test edi, edi
jne 0x464771
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x50]
inc dword [esi + 4]
push esi
call fcn.0042eff0
cmp dword [esp + 0x3c], 0
jne 0x465103
mov dword [esp + 0x3c], esi
jmp 0x465103
movsd xmm0, qword [edi + 0x218]
mulsd xmm0, qword [0x5fb9c8]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x38]
sub esp, 8
movsd qword [esp], xmm0
push edx
push eax
push ecx
mov ecx, dword [esp + 0x34]
push esi
mov byte [esp + 0x4e], 0
call fcn.0045a1e0
mov dword [esp + 0x90], eax
test eax, eax
jne 0x464848
mov ecx, dword [esp + 0x38]
fld qword [0x5fdfa8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x98]
sub esp, 8
fstp qword [esp]
push esi
mov byte [esp + 0x42], 1
call eax
push 0x60
mov ebx, eax
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x3f
test eax, eax
je 0x46481d
mov ecx, eax
call fcn.00445e40
mov edi, eax
jmp 0x46481f
xor edi, edi
or dword [edi + 8], 3
push ebx
mov ecx, edi
mov byte [esp + 0x644], 1
mov dword [esp + 0x94], edi
call fcn.004440c0
mov ecx, dword [esp + 0x50]
push edi
call fcn.0042eff0
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x90]
mov edi, dword [ecx + 0x24]
mov dword [esp + 0xd4], edi
test edi, edi
jne 0x46488b
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
or dword [edi + 8], 0x80
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
cmp esi, dword [esp + 0x188]
je 0x465143
push esi
mov ecx, edi
jmp 0x46512e
fld qword [edi + 0x10]
sub esp, 8
cmp byte [edi + 0x38], 0
fstp qword [esp]
je 0x46497b
movsd xmm0, qword [esi + 0x10]
mov edx, dword [edi]
mov edx, dword [edx + 0x6c]
lea eax, [esp + 0x1cc]
movsd qword [esp + 0x284], xmm0
xorps xmm0, xmm0
push eax
mov ecx, edi
movsd qword [esp + 0x490], xmm0
movsd qword [esp + 0x488], xmm0
movsd qword [esp + 0x480], xmm0
call edx
lea ecx, [esp + 0x1c4]
call fcn.004a8b50
fstp st(0)
xorps xmm0, xmm0
mov eax, dword [esi]
lea ecx, [esp + 0x27c]
push ecx
lea edx, [esp + 0x270]
push edx
mov edx, dword [eax + 0x5c]
lea ecx, [esp + 0x28c]
push ecx
mov ecx, esi
movsd qword [esp + 0x280], xmm0
movsd qword [esp + 0x278], xmm0
movsd qword [esp + 0x298], xmm0
movsd qword [esp + 0x290], xmm0
call edx
lea ecx, [esp + 0x26c]
call fcn.004a7bc0
fstp st(0)
lea eax, [esp + 0x284]
push eax
lea ecx, [esp + 0x270]
push ecx
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x47c]
push edx
call fcn.0046a4e0
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x478]
call fcn.00424b60
fldz
jmp 0x464b84
mov ecx, dword [esp + 0x38]
test byte [ecx + 8], 1
je 0x464a04
mov edx, dword [edi]
mov edx, dword [edx + 0x68]
lea eax, [esp + 0x1cc]
push eax
mov ecx, edi
call edx
fld qword [edi + 0x18]
movq xmm0, qword [eax]
movsd qword [esp + 0x12c], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movsd qword [esp + 0x13c], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, edi
movsd qword [esp + 0x148], xmm0
call edx
movq xmm0, qword [eax]
movsd qword [esp + 0x38c], xmm0
movq xmm0, qword [eax + 8]
movsd qword [esp + 0x394], xmm0
movq xmm0, qword [eax + 0x10]
movsd qword [esp + 0x39c], xmm0
jmp 0x464a81
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, edi
call edx
fld qword [edi + 0x18]
movq xmm0, qword [eax]
movsd qword [esp + 0x38c], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movsd qword [esp + 0x39c], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
mov eax, dword [edi]
mov edx, dword [eax + 0x68]
lea ecx, [esp + 0x1cc]
push ecx
mov ecx, edi
movsd qword [esp + 0x3a8], xmm0
call edx
movq xmm0, qword [eax]
movsd qword [esp + 0x12c], xmm0
movq xmm0, qword [eax + 8]
movsd qword [esp + 0x134], xmm0
movq xmm0, qword [eax + 0x10]
movsd qword [esp + 0x13c], xmm0
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x2bc]
push eax
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0046a050
movq xmm1, qword [eax]
movq xmm2, qword [eax + 8]
movq xmm3, qword [eax + 0x10]
movsd xmm0, qword [esp + 0x12c]
subsd xmm0, xmm1
movsd qword [esp + 0x1c4], xmm0
movsd xmm0, qword [esp + 0x134]
subsd xmm0, xmm2
movsd qword [esp + 0x1cc], xmm0
movsd xmm0, qword [esp + 0x13c]
subsd xmm0, xmm3
lea ecx, [esp + 0x1c4]
movsd qword [esp + 0x42c], xmm1
movsd qword [esp + 0x434], xmm2
movsd qword [esp + 0x43c], xmm3
movsd qword [esp + 0x1d4], xmm0
call fcn.004a88b0
fstp qword [esp + 0xe4]
movsd xmm0, qword [esp + 0x38c]
subsd xmm0, qword [esp + 0x42c]
movsd qword [esp + 0x1c4], xmm0
movsd xmm0, qword [esp + 0x394]
subsd xmm0, qword [esp + 0x434]
movsd qword [esp + 0x1cc], xmm0
movsd xmm0, qword [esp + 0x39c]
subsd xmm0, qword [esp + 0x43c]
lea ecx, [esp + 0x1c4]
movsd qword [esp + 0x1d4], xmm0
call fcn.004a88b0
fld qword [esp + 0xe4]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x464b95
mov edx, dword [edi]
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x464e56
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x188]
jne 0x464e56
movsd xmm0, qword [esp + 0x2d4]
subsd xmm0, qword [esp + 0x37c]
movsd qword [esp + 0x294], xmm0
movsd xmm0, qword [esp + 0x2dc]
subsd xmm0, qword [esp + 0x384]
lea ecx, [esp + 0x294]
movsd qword [esp + 0x29c], xmm0
call fcn.004a7500
fld qword [0x5fc870]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x465042
push 0x88
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
mov dword [esp + 0x44], edi
mov byte [esp + 0x640], 0x40
test edi, edi
je 0x464c7f
lea edx, [esp + 0x37c]
push edx
lea ecx, [esp + 0x320]
call fcn.004ae170
mov esi, eax
or dword [esp + 0x28], 0x4000
lea eax, [esp + 0x2d4]
push eax
lea ecx, [esp + 0x340]
mov byte [esp + 0x644], 0x41
call fcn.004ae170
or dword [esp + 0x28], 0x8000
push esi
push eax
mov ecx, edi
mov dword [esp + 0x648], 0x42
call fcn.004ac780
mov esi, eax
jmp 0x464c81
xor esi, esi
mov eax, dword [esp + 0x28]
test eax, 0x8000
je 0x464ca0
and eax, 0xffff7fff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
mov dword [esp + 0x640], 1
test eax, 0x4000
je 0x464cc6
and eax, 0xffffbfff
mov dword [esp + 0x28], eax
mov dword [esp + method.CGeom2d_Abs.virtual_0], vtable.CGeom2d_Abs.0
push 0x48
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x45
test eax, eax
je 0x464ceb
mov ecx, eax
call fcn.004372c0
mov edi, eax
jmp 0x464ced
xor edi, edi
or dword [edi + 8], 0x13
push esi
mov ecx, edi
mov byte [esp + 0x644], 1
call fcn.00425010
mov ecx, dword [esp + 0x30]
push 1
push edi
push ecx
mov ecx, dword [esp + 0x2c]
call fcn.00434af0
fldz
mov edx, dword [esp + 0x54]
mov esi, dword [edx + 0x1c]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x2dc]
push eax
lea ecx, [esp + 0x450]
push ecx
mov ecx, dword [esp + 0x48]
add esi, 0x10
call fcn.0046a050
movsd xmm0, qword [esp + 0x444]
subsd xmm0, qword [esi]
movsd qword [esp + 0x1c4], xmm0
movsd xmm0, qword [esp + 0x44c]
subsd xmm0, qword [esi + 8]
movsd qword [esp + 0x1cc], xmm0
movsd xmm0, qword [esp + 0x454]
subsd xmm0, qword [esi + 0x10]
lea ecx, [esp + 0x1c4]
movsd qword [esp + 0x1d4], xmm0
call fcn.004a88b0
mov edx, dword [ebp + 8]
fld qword [edx + 0x218]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x464de5
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x46
test eax, eax
je 0x464dc9
lea ecx, [esp + 0x444]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x464dcb
xor eax, eax
mov ecx, dword [esp + 0x50]
push eax
mov byte [esp + 0x644], 1
mov ebx, eax
mov dword [esp + 0x64], eax
call fcn.0042f080
jmp 0x464ded
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x60], ebx
push 0x60
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x47
test eax, eax
je 0x464e12
mov ecx, eax
call fcn.00445e40
mov esi, eax
jmp 0x464e14
xor esi, esi
mov ecx, dword [esp + 0x50]
or dword [esi + 8], 3
inc dword [esi + 4]
push esi
mov byte [esp + 0x644], 1
call fcn.0042eff0
cmp dword [esp + 0x3c], 0
jne 0x464e38
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x58]
push esi
mov ecx, edi
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], edx
call fcn.00437290
mov edi, dword [esp + 0xd4]
jmp 0x465046
xorps xmm0, xmm0
movsd qword [esp + 0x124], xmm0
movsd qword [esp + 0x11c], xmm0
movsd qword [esp + 0x114], xmm0
movsd qword [esp + 0x104], xmm0
movsd qword [esp + 0xfc], xmm0
movsd qword [esp + 0xf4], xmm0
test ebx, ebx
jne 0x464f2a
fldz
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x2bc]
push eax
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0046a050
movq xmm0, qword [eax]
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x11c], xmm0
movq xmm0, qword [eax + 0x10]
push 0x38
movq qword [esp + 0x128], xmm0
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x48
test eax, eax
je 0x464f0e
lea edx, [esp + 0x114]
push edx
mov ecx, eax
call fcn.0043cf90
mov esi, eax
jmp 0x464f10
xor esi, esi
mov ecx, dword [esp + 0x50]
push esi
mov byte [esp + 0x644], 1
mov dword [esp + 0x5c], esi
call fcn.0042f080
mov dword [esp + 0x54], esi
mov ebx, dword [esp + 0x54]
fldz
mov eax, dword [ebx + 0x1c]
movq xmm0, qword [eax + 0x10]
add eax, 0x10
movq qword [esp + 0x114], xmm0
movq xmm0, qword [eax + 8]
sub esp, 8
movq qword [esp + 0x124], xmm0
fstp qword [esp]
movq xmm0, qword [eax + 0x10]
lea eax, [esp + 0x2dc]
push eax
lea ecx, [esp + 0x1d0]
push ecx
mov ecx, dword [esp + 0x48]
movq qword [esp + 0x134], xmm0
call fcn.0046a050
movq xmm0, qword [eax]
movsd qword [esp + 0xf4], xmm0
movq xmm1, qword [eax + 8]
subsd xmm0, qword [esp + 0x114]
movsd qword [esp + 0xfc], xmm1
movq xmm2, qword [eax + 0x10]
subsd xmm1, qword [esp + 0x11c]
movsd qword [esp + 0x104], xmm2
subsd xmm2, qword [esp + 0x124]
lea ecx, [esp + 0x1c4]
movsd qword [esp + 0x1c4], xmm0
movsd qword [esp + 0x1cc], xmm1
movsd qword [esp + 0x1d4], xmm2
call fcn.004a88b0
mov edx, dword [ebp + 8]
fld qword [edx + 0x218]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x465042
push 0x38
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x44], eax
mov byte [esp + 0x640], 0x49
test eax, eax
je 0x465026
lea ecx, [esp + 0xf4]
push ecx
mov ecx, eax
call fcn.0043cf90
jmp 0x465028
xor eax, eax
mov ecx, dword [esp + 0x50]
mov ebx, eax
push eax
mov byte [esp + 0x644], 1
mov dword [esp + 0x64], ebx
call fcn.0042f080
jmp 0x465046
mov dword [esp + 0x60], ebx
mov edx, dword [esp + 0x30]
test byte [edx + 8], 1
mov esi, dword [esp + 0x90]
je 0x465063
mov eax, dword [esp + 0x54]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ebx
jmp 0x46506d
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ecx
cmp byte [esp + 0x36], 0
je 0x465103
cmp byte [edi + 0x38], 0
jne 0x465103
mov edx, dword [esp + 0x54]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [edx + 0x1c]
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
add ecx, 0x10
add eax, 0x10
movsd qword [esp + 0x1c4], xmm0
movsd xmm0, qword [ecx + 8]
subsd xmm0, qword [eax + 8]
movsd qword [esp + 0x1cc], xmm0
movsd xmm0, qword [ecx + 0x10]
subsd xmm0, qword [eax + 0x10]
lea ecx, [esp + 0x1c4]
movsd qword [esp + 0x1d4], xmm0
call fcn.004a88b0
fld qword [0x5ff758]
fcompi st(1)
fstp st(0)
jbe 0x465103
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
push 0
mov ecx, esi
call fcn.004440c0
mov ecx, dword [esp + 0x54]
inc dword [esi + 4]
push ebx
call fcn.0043ce60
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x30]
push eax
call fcn.00437290
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x54], ebx
cmp dword [esp + 0x30], ecx
je 0x46513f
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push edx
call fcn.00434c50
mov dword [esp + 0x30], eax
test eax, eax
jne 0x464560
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.00435530
fstp st(0)
mov eax, dword [edi + 8]
and eax, 0xf7ffffff
or eax, 0x10
mov dword [edi + 8], eax
jmp 0x4605e3
cmp dword [esp + 0x78], 0
mov eax, dword [esp + 0x20]
jle 0x465170
or dword [eax + 8], 8
jmp 0x465177
or dword [eax + 8], 0x1000000
mov eax, dword [esp + 0x1dc]
mov esi, dword [sym.imp.MSVCR90.dll_free]
test eax, eax
je 0x46518e
push eax
call esi
add esp, 4
mov eax, dword [esp + 0x1e8]
test eax, eax
je 0x46519f
push eax
call esi
add esp, 4
mov ecx, dword [esp + 0x638]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4