Function at 0x40de50
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x404
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
test eax, eax
jg 0x40def5
cmp eax, 0xffffffff
je 0x411912
mov ebx, dword [0x521df8]
cmp ebx, 0xc8
jg 0x4118f0
mov eax, dword [ebp + 0x3c]
lea edx, [ebx + 1]
movsd xmm1, qword [0x4f5d50]
pxor xmm0, xmm0
xor ecx, ecx
mov dword [eax], ebx
mov dword [0x521df8], edx
movsd qword [ebx*8 + 0x5386f8], xmm0
movsd qword [ebx*8 + 0x51f258], xmm1
movsd qword [ebx*8 + 0x51f8d8], xmm1
mov dword [ebx*4 + 0x538d7c], ecx
mov dword [ebx*4 + 0x51ff5c], 1
mov dword [ebx + ebx*4 + 0x52029b], 0x45574f4c
mov byte [ebx + ebx*4 + 0x52029f], 0x52
mov dword [ebx*4 + 0x5390bc], ecx
mov dword [ebx*4 + 0x5206bc], 0x454e4f4e
mov eax, dword [ebp + 0x54]
movq xmm0, qword [0x4f5d80]
movq xmm1, qword [0x4f5d88]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x521e05
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x2c]
movsd xmm0, qword [eax]
movsd xmm1, qword [edx]
movsd qword [esp + 0x58], xmm0
movaps xmm2, xmm1
movsd qword [0x53e868], xmm0
movsd xmm0, qword [ecx]
cmp dword [ebx], 1
subsd xmm2, xmm0
je 0x4118c6
mov eax, dword [ebp + 0x40]
movsd qword [eax], xmm2
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
test byte [edx*4 + 0x5390bc], 1
je 0x40df94
movsd xmm0, qword [str.STEP_WISE___NEWTONiterationd]
mov al, byte [0x521e04]
movsd qword [0x53e880], xmm0
mov byte [0x53e888], al
jmp 0x40dfcc
movq xmm0, qword [0x4f5d90]
movq xmm1, qword [0x4f5d98]
mov dword [esp], 0x53e880
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x521e08
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
test ebx, ebx
jle 0x411886
mov esi, dword [ebp + 0x3c]
lea edi, [esp + 0x310]
mov dword [edi], 0
lea eax, [esp + 0x3f0]
mov esi, dword [esi]
mov dword [eax], esi
push 0x80120
push 0x521b40
push eax
push 0x4f5550
push 0x8384ff00
push 4
push edi
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0x3b4]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5558
push edi
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea ecx, [esp + 0x3c8]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5560
push edi
call fcn.00462730
mov dword [esp + 0x3dc], 9
lea eax, [esp + 0x3dc]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f5568
push edi
call fcn.00462730
mov eax, dword [esi*4 + 0x51ff5c]
lea ecx, [esp + 0x438]
mov dword [ecx], eax
push ecx
push 0x4f5570
push edi
call fcn.00462730
mov eax, dword [esi*4 + 0x538d7c]
lea ecx, [esp + 0x44c]
mov dword [ecx], eax
push ecx
push 0x4f5578
push edi
call fcn.00462730
mov eax, dword [ebp + 0x48]
lea ecx, [esp + 0x408]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5580
push edi
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0x41c]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5588
push edi
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0x430]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5590
push edi
call fcn.00462730
add esp, 0x7c
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x3c8]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5598
push edi
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x3dc]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f55a0
push edi
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x3f0]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f55a8
push edi
call fcn.00462730
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 0x404]
movsd xmm0, qword [eax]
movsd qword [ecx - 0x328], xmm0
movsd qword [ecx], xmm0
push ecx
push 0x4f55b0
push edi
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x418]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f55b8
push edi
call fcn.00462730
add esp, 0x3c
cmp ebx, 2
jle 0x40e362
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x330]
mov dword [ecx - 0x20], 0
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push 0x80120
push 0x521a7c
push ecx
push 0x4f55c0
push 0x8384ff00
push 4
push edi
call fcn.0045ff70
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x354]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f55c8
push edi
call fcn.00462730
mov eax, dword [ebp + 0x1c]
lea ecx, [esp + 0x368]
movsd xmm0, qword [eax]
movsd qword [ecx - 0x2c0], xmm0
movsd qword [ecx], xmm0
push ecx
push 0x4f55d0
push edi
call fcn.00462730
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x37c]
movsd xmm0, qword [eax]
movsd qword [esp + 0x5c], xmm0
movsd qword [ecx], xmm0
push ecx
push 0x4f55d8
push edi
call fcn.00462730
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
lea eax, [esp + 0x3b0]
mov dword [eax], ecx
push eax
push 0x4f55e0
push edi
call fcn.00462730
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
lea eax, [esp + 0x3c4]
mov dword [esp + 0x6c], ecx
mov dword [eax], ecx
push eax
push 0x4f55e8
push edi
call fcn.00462730
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
lea eax, [esp + 0x3d8]
mov dword [eax], ecx
push eax
push 0x4f55f0
push edi
call fcn.00462730
mov eax, dword [ebp + 0x34]
mov ecx, dword [eax]
lea eax, [esp + 0x3ec]
mov dword [eax], ecx
push eax
push 0x4f55f8
push edi
call fcn.00462730
mov dword [esp + 0x400], ebx
lea eax, [esp + 0x400]
push eax
push 0x4f5600
push edi
call fcn.00462730
add esp, 0x7c
movsd xmm0, qword [esi*8 + 0x5386f8]
lea eax, [esp + 0x350]
movsd qword [eax], xmm0
push eax
push 0x4f5608
push edi
call fcn.00462730
movsd xmm0, qword [esi*8 + 0x5393f8]
lea eax, [esp + 0x364]
movsd qword [eax], xmm0
push eax
push 0x4f5610
push edi
call fcn.00462730
movsd xmm0, qword [esi*8 + 0x51f8d8]
lea eax, [esp + 0x378]
movsd qword [eax], xmm0
push eax
push 0x4f5618
push edi
call fcn.00462730
movsd xmm0, qword [esi*8 + 0x51f258]
lea eax, [esp + 0x38c]
movsd qword [eax], xmm0
push eax
push 0x4f5620
push edi
call fcn.00462730
add esp, 0x30
jmp 0x40e388
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x1c]
movsd xmm0, qword [edi]
mov dword [esp + 0x20], ecx
movsd xmm1, qword [eax]
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x80], xmm1
cmp dword [esp + 0x20], 1
je 0x41150e
movsd xmm0, qword [esp + 0x28]
ucomisd xmm0, qword [esp + 0x80]
jp 0x40e3aa
je 0x41142a
mov eax, dword [ebp + 8]
movsd xmm1, qword [eax]
movsd qword [esp + 0xb0], xmm1
comisd xmm0, xmm1
ja 0x40e3d2
movaps xmm0, xmm1
comisd xmm0, xmmword [esp + 0x80]
jbe 0x40e707
movaps xmm0, xmm1
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea eax, [esp + 0x50]
movsd qword [eax], xmm0
push 0x80120
push 0x5216dc
push eax
push 0x4f5628
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x44]
lea eax, [esp + 0x74]
movsd qword [eax], xmm0
push eax
push 0x4f5630
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0xa8]
lea eax, [esp + 0x88]
movsd qword [eax], xmm0
push eax
push 0x4f5638
push ebx
call fcn.00462730
mov dword [esp + 0x344], 0
lea eax, [esp + 0xf4]
mov dword [eax], esi
push 0x80120
push 0x521b40
push eax
push 0x4f5640
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0xb8]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5648
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea ecx, [esp + 0xcc]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5650
push ebx
call fcn.00462730
mov dword [esp + 0xe0], 9
lea eax, [esp + 0xe0]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f5658
push ebx
call fcn.00462730
add esp, 0x74
mov eax, dword [esi*4 + 0x51ff5c]
lea ecx, [esp + 0xc8]
mov dword [ecx], eax
push ecx
push 0x4f5660
push ebx
call fcn.00462730
mov eax, dword [esi*4 + 0x538d7c]
lea ecx, [esp + 0xdc]
mov dword [ecx], eax
push ecx
push 0x4f5668
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x48]
lea ecx, [esp + 0x98]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5670
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0xac]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5678
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0xc0]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5680
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0xec]
lea eax, [esp + 0xd4]
movsd qword [eax], xmm0
push eax
push 0x4f5688
push ebx
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0xe8]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5690
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0xfc]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5698
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x118]
lea eax, [esp + 0x110]
movsd qword [eax], xmm0
push eax
push 0x4f56a0
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x124]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f56a8
push ebx
call fcn.00462730
add esp, 0x78
xor edi, edi
mov dword [esp + 0x310], edi
push 0x80120
push 0x521944
push edi
push 0x4f56b0
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
add esp, 0x1c
movsd xmm0, qword [0x4f5d50]
mov dword [esi*4 + 0x51ff5c], 1
mov dword [esi*4 + 0x538d7c], edi
mov dword [esi*4 + 0x5390bc], edi
movsd qword [esi*8 + 0x51f8d8], xmm0
movsd qword [esi*8 + 0x51f258], xmm0
mov dword [esi*4 + 0x5206bc], 0x454e4f4e
cmp esi, 0xc8
jle 0x40e686
pxor xmm0, xmm0
movsd qword [esi*8 + 0x5386f8], xmm0
movq xmm3, qword [0x4f5d88]
lea edx, [esp + 0x20]
movq xmm0, qword [0x4f5db0]
mov eax, dword [ebp + 0x4c]
movq xmm1, qword [0x4f5db8]
movq xmm2, qword [0x4f5dc0]
movq xmm4, qword [0x4f5da0]
mov dword [esp], edx
movq qword [esp + 4], xmm3
mov dword [esp + 0xc], 0x53e894
mov dword [edx], str.in_ITERATIOND
movq qword [edx + 8], xmm0
mov dword [edx + 0x10], eax
movq qword [edx + 0x18], xmm1
mov dword [edx + 0x20], str._:_X_outside_range_XLOW_to_XHIGH
movq qword [edx + 0x28], xmm2
movq qword [esp + 0x10], xmm4
call fcn.00449fd0
push 0x3c
push 0x53e894
call fcn.00412fc0
add esp, 8
cmp eax, 1
jmp 0x40f8f0
lea ecx, [esi*8]
mov dword [esp + 0x25c], ecx
lea eax, [esi*4]
mov dword [esp + 0x24c], eax
mov eax, dword [eax + 0x538d7c]
ucomisd xmm0, qword [ecx + 0x51f8d8]
jp 0x40e739
je 0x41131e
mov ecx, dword [esp + 0x25c]
movsd xmm0, qword [esp + 0xb8]
andps xmm0, xmmword [0x4f5af0]
movsd xmm1, qword [ecx + 0x51f258]
andps xmm1, xmmword [0x4f5af0]
comisd xmm1, xmm0
jb 0x40e787
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd qword [ecx + 0x51f258], xmm1
movsd qword [ecx + 0x51f8d8], xmm2
mov ecx, dword [ebp + 0x24]
cmp eax, dword [ecx]
jg 0x40ed7c
mov eax, dword [ebp + 0x30]
comisd xmm0, xmmword [eax]
ja 0x40e890
test ebx, ebx
jle 0x40e7df
mov dword [esp + 0x310], 0
lea ecx, [esp + 0x310]
mov dword [ecx - 8], esi
lea eax, [esp + 0x308]
push 0x80120
push 0x521488
push eax
push 0x4f56b4
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
add esp, 0x1c
lea eax, [esi*4]
mov dword [esp + 0x23c], eax
mov ecx, dword [esp + 0x24c]
xor eax, eax
mov edi, dword [esp + 0x25c]
movsd xmm0, qword [0x4f5d50]
mov dword [ecx + 0x538d7c], eax
mov dword [ecx + 0x5390bc], eax
mov eax, dword [esp + 0x23c]
mov dword [ecx + 0x51ff5c], 1
movsd qword [edi + 0x51f8d8], xmm0
movsd qword [edi + 0x51f258], xmm0
mov dword [eax + 0x5206bc], 0x454e4f4e
cmp esi, 0xc8
jle 0x40e852
mov eax, edi
pxor xmm0, xmm0
movsd qword [eax + 0x5386f8], xmm0
test ebx, ebx
jle 0x40e881
xor eax, eax
lea edx, [esp + 0x310]
mov dword [edx], eax
push 0x80120
push 0x521cb0
push eax
push 0x4f56bc
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
xor eax, eax
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [0x53e88c], 0
xor ebx, ebx
mov eax, dword [esp + 0x24c]
mov edx, esi
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x3c]
test byte [eax + 0x5390bc], 1
jne 0x4107bc
movsd xmm2, qword [edi]
test bl, 1
jne 0x40e8f2
movsd xmm0, qword [edx*8 + 0x5386f8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x40e8da
je 0x410541
mov ecx, dword [eax + 0x51ff5c]
cmp ecx, 2
je 0x410507
cmp ecx, 3
je 0x4102f3
push 4
movsd qword [0x53e870], xmm2
lea eax, [edx*4 + 0x538d7c]
push eax
lea ecx, [edx*4 + 0x51ff5c]
push ecx
lea eax, [edx*4 + 0x5206bc]
push eax
lea ecx, [edx*8 + 0x539a78]
push ecx
lea eax, [edx*8 + 0x53a0f8]
push eax
lea ecx, [edx*8 + 0x5393f8]
push ecx
lea eax, [edx*8 + 0x5386f8]
push eax
lea ecx, [edx*4 + 0x53a77c]
push ecx
lea eax, [edx*4 + 0x53aabc]
push eax
lea ecx, [edx*8 + 0x53adf8]
push ecx
lea eax, [edx*8 + 0x53b478]
push eax
lea ecx, [edx*8 + 0x53baf8]
push ecx
lea edx, [edx*8 + 0x53c178]
push edx
push dword [ebp + 0x40]
push edi
movsd qword [esp + 0xb8], xmm2
call fcn.00413030
movsd xmm2, qword [esp + 0xb8]
add esp, 0x40
mov edx, dword [esi]
cmp eax, 1
jne 0x40ea7a
push 5
lea eax, [edx + edx*4 + 0x52029b]
push eax
lea ecx, [edx*8 + 0x53c7f8]
push ecx
push dword [ebp + 0x28]
push dword [ebp + 0x14]
lea eax, [edx*8 + 0x53ce78]
push eax
lea ecx, [edx*8 + 0x53d4f8]
push ecx
lea eax, [edx*8 + 0x53db78]
push eax
lea ecx, [edx*8 + 0x53e1f8]
push ecx
lea eax, [edx*8 + 0x53adf8]
push eax
lea ecx, [edx*8 + 0x53b478]
push ecx
push dword [ebp + 0x40]
lea eax, [edx*8 + 0x53baf8]
push eax
lea edx, [edx*8 + 0x53c178]
push edx
push edi
call fcn.004149f0
add esp, 0x3c
mov eax, dword [ebp + 0x38]
mov edx, dword [esi]
cmp dword [eax], 0
mov dword [edx*4 + 0x5390bc], 0xffffffff
mov dword [edx*4 + 0x5206bc], 0x454e4f4e
jle 0x40ea52
movsd xmm0, qword [edx*8 + 0x53c7f8]
lea edx, [esp + 0x310]
mov dword [edx], 0
lea eax, [esp + 0x1d8]
movsd qword [eax], xmm0
push 0x80120
push 0x52140c
push eax
push 0x4f56c0
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
movsd xmm0, qword [str.STEP_WISE___NEWTONiterationd]
mov al, byte [0x521e04]
movsd qword [0x53e880], xmm0
mov byte [0x53e888], al
mov edx, dword [esi]
lea eax, [edx*4]
jmp 0x40e8ab
mov ecx, dword [ebp + 8]
mov esi, edx
mov ebx, dword [ebp + 0x28]
mov eax, dword [esi*4 + 0x538d7c]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x78], xmm2
mov dword [esp + 0x60], eax
movsd qword [esp + 0xb0], xmm0
mov ebx, dword [ebx]
test ebx, ebx
jle 0x4102c4
cmp ebx, 1
je 0x4100f2
mov eax, dword [ebp + 0x1c]
movsd xmm0, qword [esp + 0xb0]
movsd xmm1, qword [eax]
movsd qword [esp + 0x80], xmm1
comisd xmm0, xmm1
jbe 0x40ebe8
movaps xmm2, xmm1
movaps xmm0, xmm2
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
movsd xmm1, qword [esp + 0xb0]
mov edi, dword [ecx]
movsd qword [esp + 0x28], xmm1
movsd qword [0x53e878], xmm1
movsd qword [esp + 0xb0], xmm2
movsd qword [eax], xmm2
mov dword [esp + 0x30], edi
subsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x20], xmm0
movsd qword [esi*8 + 0x5393f8], xmm0
cmp edi, 2
jle 0x40ebdd
movsd xmm0, qword [esp + 0x80]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x1e0]
movsd qword [eax], xmm0
push 0x80120
push 0x521214
push eax
push 0x4f56c8
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x94]
lea eax, [esp + 0x204]
movsd qword [eax], xmm0
push eax
push 0x4f56d0
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0x50]
lea eax, [esp + 0x218]
movsd qword [eax], xmm0
push eax
push 0x4f56d8
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xb4]
lea eax, [esp + 0x22c]
movsd qword [eax], xmm0
push eax
push 0x4f56e0
lea ecx, [esp + 0x34c]
push ecx
call fcn.00462730
add esp, 0x40
cmp dword [esp + 0x60], 1
jle 0x40ff10
mov eax, dword [ebp + 0x20]
movsd xmm0, qword [eax]
movsd qword [esp + 0x50], xmm0
comisd xmm0, xmmword [esp + 0xb0]
jbe 0x40ed13
movaps xmm2, xmm0
movaps xmm0, xmm2
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
movsd xmm1, qword [esp + 0xb0]
mov edi, dword [ecx]
movsd qword [esp + 0x40], xmm1
movsd qword [0x53e878], xmm1
movsd qword [esp + 0xb0], xmm2
movsd qword [eax], xmm2
mov dword [esp + 0x48], edi
subsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x20], xmm0
movsd qword [esi*8 + 0x5393f8], xmm0
cmp edi, 2
jle 0x40ed08
movsd xmm0, qword [esp + 0x50]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x200]
movsd qword [eax], xmm0
push 0x80120
push 0x521074
push eax
push 0x4f56e8
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x94]
lea eax, [esp + 0x224]
movsd qword [eax], xmm0
push eax
push 0x4f56f0
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0x68]
lea eax, [esp + 0x238]
movsd qword [eax], xmm0
push eax
push 0x4f56f8
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0x84]
lea eax, [esp + 0x24c]
movsd qword [eax], xmm0
push eax
push 0x4f5700
lea ecx, [esp + 0x34c]
push ecx
call fcn.00462730
add esp, 0x40
cmp dword [esp + 0x60], 1
jle 0x40fd18
cmp dword [esp + 0x60], 2
jle 0x40ed2b
test ebx, ebx
jle 0x40ef3a
cmp ebx, 1
je 0x40ee2b
cmp ebx, 0xffffffff
je 0x40fc51
mov eax, dword [esi*4 + 0x51ff5c]
cmp eax, 2
je 0x40faeb
cmp eax, 3
je 0x40f902
movsd xmm0, qword [esp + 0xb0]
comisd xmm0, xmmword [esp + 0x80]
ja 0x40ed77
mov eax, dword [ebp + 0x20]
movsd xmm0, qword [eax]
comisd xmm0, xmmword [esp + 0xb0]
jbe 0x40ee19
mov eax, dword [ebp + 0x3c]
mov esi, dword [eax]
mov eax, dword [ebp + 0x34]
cmp dword [eax], 1
je 0x40f5e2
movsd xmm1, qword [esi*8 + 0x51f8d8]
movsd xmm0, qword [esp + 0xb0]
ucomisd xmm0, xmm1
jp 0x40eda6
je 0x40ef83
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 8]
movsd xmm0, qword [edx]
movsd qword [eax], xmm1
comisd xmm0, xmm1
jbe 0x40edc3
mov eax, dword [ebp + 0x20]
movsd qword [eax], xmm1
jmp 0x40edd5
comisd xmm1, xmmword [esp + 0x80]
jbe 0x40edd5
mov eax, dword [ebp + 0x1c]
movsd qword [eax], xmm1
mov eax, dword [ebp + 0x38]
cmp dword [eax], 2
jle 0x40ee19
mov dword [esp + 0x310], 0
lea edx, [esp + 0x310]
movsd qword [esp + 0x68], xmm1
lea eax, [esp + 0x68]
push 0x80120
push 0x5215cc
push eax
push 0x4f5708
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
mov eax, 1
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [esp + 0xb0]
lea eax, [esi*8]
movsd xmm1, qword [eax + 0x51f8d8]
mov ecx, dword [ebp + 0x18]
subsd xmm0, xmm1
divsd xmm0, xmm1
movsd xmm2, qword [ecx]
andps xmm0, xmmword [0x4f5af0]
mov dword [esp + 0x74], eax
movsd qword [esp + 0x68], xmm1
movsd qword [esp + 0x58], xmm2
comisd xmm2, xmm0
jb 0x40ed2b
mov eax, dword [ebp + 0x38]
cmp dword [eax], 1
jle 0x40ef13
mov dword [esp + 0x310], 0
lea ebx, [esp + 0x310]
mov dword [esp + 0x70], esi
lea eax, [esp + 0x70]
push 0x80120
push 0x520ec8
push eax
push 0x4f5710
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x74]
lea eax, [esp + 0x3c]
movsd qword [eax], xmm0
push eax
push 0x4f5718
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x80]
movsd qword [eax], xmm0
push eax
push 0x4f5720
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x9c]
lea eax, [esp + 0x94]
movsd qword [eax], xmm0
push eax
push 0x4f5728
push ebx
call fcn.00462730
add esp, 0x40
mov eax, dword [esp + 0x74]
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax + 0x51f8d8], xmm0
mov eax, 1
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [esp + 0xb0]
lea eax, [esi*8]
movsd xmm1, qword [eax + 0x51f8d8]
mov ecx, dword [ebp + 0x18]
subsd xmm0, xmm1
movsd xmm2, qword [ecx]
andps xmm0, xmmword [0x4f5af0]
mov dword [esp + 0x74], eax
movsd qword [esp + 0x68], xmm1
movsd qword [esp + 0x58], xmm2
comisd xmm2, xmm0
jae 0x40ee73
jmp 0x40ed22
mov eax, dword [ebp + 0x38]
cmp dword [eax], 0
jle 0x40efc3
lea edx, [esp + 0x310]
mov dword [edx], 0
lea eax, [esp + 0x270]
movsd qword [eax], xmm0
push 0x80120
push 0x521558
push eax
push 0x4f5730
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x521ce0]
movups xmmword [eax], xmm0
movups xmm1, xmmword [0x521cf0]
movups xmmword [eax + 0x10], xmm1
movsd xmm2, qword [0x521d00]
movsd qword [eax + 0x20], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x521d10]
movups xmmword [eax + 0x28], xmm0
movups xmm1, xmmword [0x521d20]
movups xmmword [eax + 0x38], xmm1
movsd xmm2, qword [0x521d30]
movsd qword [eax + 0x48], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x521d40]
movups xmmword [eax + 0x50], xmm0
movups xmm1, xmmword [0x521d50]
movups xmmword [eax + 0x60], xmm1
movsd xmm2, qword [0x521d60]
movsd qword [eax + 0x70], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x521d70]
movups xmmword [eax + 0x78], xmm0
movups xmm1, xmmword [0x521d80]
movups xmmword [eax + 0x88], xmm1
movsd xmm2, qword [0x521d90]
movsd qword [eax + 0x98], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [str.X_Y_YC_ERROR_TOl:]
movups xmmword [eax + 0xa0], xmm0
movups xmm1, xmmword [0x521db0]
movups xmmword [eax + 0xb0], xmm1
movsd xmm2, qword [0x521dc0]
movsd qword [eax + 0xc0], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x521dd0]
movups xmmword [eax + 0xc8], xmm0
movups xmm1, xmmword [0x521de0]
movups xmmword [eax + 0xd8], xmm1
movsd xmm2, qword [0x521df0]
movsd qword [eax + 0xe8], xmm2
lea eax, [esp + 0x300]
push 0x4f5738
push dword [ebp + 0x3c]
push 3
push eax
call fcn.00414c30
add esp, 0x10
mov edx, dword [ebp + 0x54]
movzx esi, word [esp + 0x300]
mov word [edx + 0x2d], si
mov al, byte [esp + 0x302]
mov byte [edx + 0x2f], al
mov edx, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x54]
mov eax, dword [edx]
mov dword [ebx + 0x57], eax
movzx ecx, word [edx + 4]
mov word [ebx + 0x5b], cx
mov eax, dword [ebp + 0x54]
movq xmm0, qword [0x4f5dc8]
mov ecx, dword [ebp + 0x44]
movq xmm1, qword [0x4f5db8]
lea edx, [eax + 0x62]
mov dword [esp], edx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov edx, dword [ebp + 0x50]
mov ebx, dword [ebp + 0x54]
mov eax, dword [edx]
mov dword [ebx + 0x79], eax
movzx ecx, word [edx + 4]
mov word [ebx + 0x7d], cx
mov eax, dword [ebp + 0x54]
movq xmm0, qword [0x4f5dc8]
mov ecx, dword [ebp + 0x4c]
movq xmm1, qword [0x4f5db8]
lea edx, [eax + 0x85]
mov dword [esp], edx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x220]
lea edx, [esp + 0x14c]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x230]
movsd qword [edx + 0xb1], xmm0
mov eax, dword [esp + 0x238]
mov dword [edx + 0xb9], eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x240]
lea edx, [esp + 0x164]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x250]
movsd qword [edx + 0xbd], xmm0
mov eax, dword [esp + 0x258]
mov dword [edx + 0xc5], eax
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x260]
lea edx, [esp + 0x17c]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x270]
movsd qword [edx + 0xc9], xmm0
mov eax, dword [esp + 0x278]
mov dword [edx + 0xd1], eax
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 0x280]
lea edx, [esp + 0x1d4]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x290]
movsd qword [edx + 0xd5], xmm0
mov eax, dword [esp + 0x298]
mov dword [edx + 0xdd], eax
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x2a0]
lea edx, [esp + 0x26c]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
add esp, 0x50
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x260]
movsd qword [edx + 0xe1], xmm0
mov eax, dword [esp + 0x268]
mov dword [edx + 0xe9], eax
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
cmp ebx, 1
jle 0x40f5b5
mov eax, dword [ebp + 0x24]
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea ecx, [esp + 0x2d8]
mov edx, dword [eax]
mov dword [ecx], edx
push 0x80120
push 0x5214c8
push ecx
push 0x4f5740
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
mov ebx, dword [ebp + 0x3c]
lea eax, [esp + 0x2fc]
mov dword [eax + 0x30], 0
mov ebx, dword [ebx]
mov dword [eax], ebx
push 0x80120
push 0x521b40
push eax
push 0x4f5748
push 0x8384ff00
push 4
lea edx, [esp + 0x344]
push edx
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea edx, [esp + 0x2b0]
mov dword [edx], 0xc
mov dword [edx + 4], eax
push edx
push 0x4f5750
lea ecx, [esp + 0x350]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea edx, [esp + 0x2c4]
mov dword [edx], 0xc
mov dword [edx + 4], eax
push edx
push 0x4f5758
lea ecx, [esp + 0x35c]
push ecx
call fcn.00462730
mov dword [esp + 0x2d8], 9
lea eax, [esp + 0x2d8]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f5760
lea edx, [esp + 0x368]
push edx
call fcn.00462730
mov eax, dword [ebx*4 + 0x51ff5c]
lea edx, [esp + 0x344]
mov dword [edx], eax
push edx
push 0x4f5768
lea ecx, [esp + 0x374]
push ecx
call fcn.00462730
mov eax, dword [ebx*4 + 0x538d7c]
lea edx, [esp + 0x358]
mov dword [edx], eax
push edx
push 0x4f5770
lea ecx, [esp + 0x380]
push ecx
call fcn.00462730
add esp, 0x74
mov eax, dword [ebp + 0x48]
lea edx, [esp + 0x290]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f5778
lea ecx, [esp + 0x318]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0x2a4]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f5780
lea ecx, [esp + 0x324]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0x2b8]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f5788
lea ecx, [esp + 0x330]
push ecx
call fcn.00462730
mov eax, dword [ebp + 8]
lea edx, [esp + 0x2cc]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5790
lea ecx, [esp + 0x33c]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x2e0]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5798
lea ecx, [esp + 0x348]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x2f4]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f57a0
lea ecx, [esp + 0x354]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x308]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f57a8
lea ecx, [esp + 0x360]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x31c]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f57b0
lea ecx, [esp + 0x36c]
push ecx
call fcn.00462730
push 0x4f57b8
call fcn.00415080
add esp, 0x64
mov esi, dword [ebp + 0x3c]
mov ebx, dword [ebp + 0x38]
mov esi, dword [esi]
mov ebx, dword [ebx]
lea ecx, [esi*4]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x24c], ecx
lea eax, [esi*8]
mov dword [esp + 0x25c], eax
jmp 0x40e7ed
mov esi, dword [ebp + 0x3c]
mov esi, dword [esi]
lea ecx, [esi*4]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x24c], ecx
lea eax, [esi*8]
mov dword [esp + 0x25c], eax
jmp 0x40e7ed
mov eax, dword [ebp + 0x24]
lea edi, [esp + 0x310]
mov dword [edi], 0
lea ebx, [esp + 0x98]
mov ecx, dword [eax]
mov dword [ebx], ecx
push 0x80120
push 0x521628
push ebx
push 0x4f57bc
push 0x8384ff00
push 4
push edi
call fcn.0045ff70
mov dword [esp + 0x32c], 0
lea eax, [esp + 0xc4]
mov dword [eax], esi
push 0x80120
push 0x521b40
push eax
push 0x4f57c4
push 0x8384ff00
push 4
lea ecx, [esp + 0x344]
push ecx
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0xa0]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f57cc
lea ebx, [esp + 0x350]
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea ecx, [esp + 0xb4]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f57d4
lea ebx, [esp + 0x35c]
push ebx
call fcn.00462730
mov dword [esp + 0xc8], 9
lea eax, [esp + 0xc8]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f57dc
lea ecx, [esp + 0x368]
push ecx
call fcn.00462730
mov eax, dword [esi*4 + 0x51ff5c]
lea ecx, [esp + 0x114]
mov dword [ecx], eax
push ecx
push 0x4f57e4
lea ebx, [esp + 0x374]
push ebx
call fcn.00462730
mov eax, dword [esi*4 + 0x538d7c]
lea edx, [esp + 0x140]
mov dword [edx], eax
push edx
push 0x4f57ec
lea ecx, [esp + 0x380]
push ecx
call fcn.00462730
add esp, 0x74
mov eax, dword [ebp + 0x48]
lea edx, [esp + 0x80]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f57f4
lea ecx, [esp + 0x318]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0x94]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f57fc
lea ecx, [esp + 0x324]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0xa8]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f5804
lea ecx, [esp + 0x330]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xd4]
lea eax, [esp + 0xc4]
movsd qword [eax], xmm0
push eax
push 0x4f580c
lea edx, [esp + 0x33c]
push edx
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0xe0]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5814
lea ecx, [esp + 0x348]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0xfc]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f581c
lea ecx, [esp + 0x354]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x110]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5824
lea ecx, [esp + 0x360]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0x124]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f582c
lea ecx, [esp + 0x36c]
push ecx
call fcn.00462730
push 0x4f57b8
call fcn.00415080
add esp, 0x64
mov eax, dword [ebp + 0x3c]
xor edx, edx
movsd xmm0, qword [0x4f5d50]
mov eax, dword [eax]
mov dword [eax*4 + 0x51ff5c], 1
mov dword [eax*4 + 0x538d7c], edx
mov dword [eax*4 + 0x5390bc], edx
movsd qword [eax*8 + 0x51f8d8], xmm0
movsd qword [eax*8 + 0x51f258], xmm0
mov dword [eax*4 + 0x5206bc], 0x454e4f4e
cmp eax, 0xc8
jle 0x40f8a6
pxor xmm0, xmm0
movsd qword [eax*8 + 0x5386f8], xmm0
movq xmm0, qword [0x4f5da0]
movq xmm1, qword [0x4f5dd8]
mov dword [esp], 0x53e894
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4f5ef0
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
push 0x3c
push 0x53e894
call fcn.00412fc0
add esp, 8
cmp eax, 1
mov eax, 2
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsd xmm2, qword [esi*8 + 0x5393f8]
pxor xmm3, xmm3
movsd xmm1, qword [esi*8 + 0x53baf8]
movsd xmm0, qword [esi*8 + 0x53c178]
movsd qword [esp + 0x60], xmm1
ucomisd xmm2, xmm3
jp 0x40f92f
je 0x40f95c
movsd xmm1, qword [esp + 0xb0]
ucomisd xmm1, xmm0
jp 0x40f940
je 0x40f95c
ucomisd xmm1, qword [esp + 0x60]
jp 0x40f94a
je 0x40f95c
ucomisd xmm0, qword [esp + 0x60]
jne 0x40ed4d
jp 0x40ed4d
movaps xmm2, xmm0
movsd xmm1, qword [esp + 0xb0]
pxor xmm3, xmm3
movsd qword [esp + 0x58], xmm1
movsd qword [0x53e878], xmm1
addsd xmm2, qword [esp + 0x60]
mulsd xmm2, qword [0x4f5d70]
movsd qword [esp + 0xb0], xmm2
subsd xmm2, qword [esp + 0x78]
movsd qword [esi*8 + 0x5393f8], xmm2
ucomisd xmm2, xmm3
jp 0x40f9ac
je 0x40fa8e
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
movsd xmm1, qword [esp + 0xb0]
cmp dword [edx], 2
movsd qword [eax], xmm1
jle 0x40ed4d
movsd xmm1, qword [esp + 0x78]
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea eax, [esp + 0x160]
movsd qword [eax], xmm1
push 0x80120
push 0x520c70
push eax
push 0x4f5834
push 0x8384ff00
push 4
push ebx
movsd qword [esp + 0x3c], xmm0
call fcn.0045ff70
movsd xmm0, qword [esp + 0x3c]
lea eax, [esp + 0x184]
movsd qword [eax], xmm0
push eax
push 0x4f583c
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x88]
lea eax, [esp + 0x198]
movsd qword [eax], xmm0
push eax
push 0x4f5844
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x8c]
lea eax, [esp + 0x1ac]
movsd qword [eax], xmm0
push eax
push 0x4f584c
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0xf0]
lea eax, [esp + 0x1c0]
movsd qword [eax], xmm0
push eax
push 0x4f5854
push ebx
call fcn.00462730
add esp, 0x4c
jmp 0x40ed4d
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
movsd xmm0, qword [esi*8 + 0x51f8d8]
cmp dword [edx], 2
movsd qword [eax], xmm0
jle 0x40ee19
mov dword [esp + 0x310], 0
lea edx, [esp + 0x310]
movsd qword [esp + 0x20], xmm0
lea eax, [esp + 0x20]
push 0x80120
push 0x520d38
push eax
push 0x4f585c
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
jmp 0x40ee19
cmp dword [esp + 0x60], 1
jle 0x40ed4d
movsd xmm0, qword [esi*8 + 0x5393f8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x40ed4d
jp 0x40ed4d
movsd xmm0, qword [esp + 0xb0]
movsd xmm2, qword [esi*8 + 0x51f8d8]
pxor xmm1, xmm1
movsd qword [esp + 0x60], xmm0
movsd qword [0x53e878], xmm0
addsd xmm0, xmm2
mulsd xmm0, qword [0x4f5d70]
movsd qword [esp + 0xb0], xmm0
subsd xmm0, qword [esp + 0x78]
movsd qword [esi*8 + 0x5393f8], xmm0
ucomisd xmm0, xmm1
jp 0x40fb67
je 0x40fbfd
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0xb0]
cmp dword [edx], 2
movsd qword [eax], xmm0
jle 0x40ed4d
movsd xmm0, qword [esp + 0x78]
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea eax, [esp + 0x20]
movsd qword [eax], xmm0
push 0x80120
push 0x520d98
push eax
push 0x4f5864
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x7c]
lea eax, [esp + 0x74]
movsd qword [eax], xmm0
push eax
push 0x4f586c
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x88]
movsd qword [eax], xmm0
push eax
push 0x4f5874
push ebx
call fcn.00462730
add esp, 0x34
jmp 0x40ed4d
mov edx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
cmp dword [edx], 2
movsd qword [eax], xmm2
jle 0x40ee19
mov dword [esp + 0x310], 0
lea edx, [esp + 0x310]
movsd qword [esp + 0x20], xmm2
lea eax, [esp + 0x20]
push 0x80120
push 0x520d38
push eax
push 0x4f587c
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
jmp 0x40ee19
movsd xmm0, qword [esp + 0xb0]
mulsd xmm0, qword [esp + 0x78]
pxor xmm1, xmm1
comisd xmm1, xmm0
jbe 0x40ed34
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 8]
pxor xmm1, xmm1
movsd xmm2, qword [esp + 0x78]
movsd xmm0, qword [esp + 0xb0]
xorps xmm2, xmmword [0x4f5b00]
movsd qword [0x53e878], xmm0
movsd qword [eax], xmm1
movsd qword [esi*8 + 0x5393f8], xmm2
cmp dword [ecx], 2
jle 0x40fd06
movsd xmm0, qword [esp + 0x78]
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea eax, [esp + 0x188]
movsd qword [eax], xmm0
push 0x80120
push 0x520e28
push eax
push 0x4f5884
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
movsd xmm0, qword [esp + 0xcc]
lea eax, [esp + 0x1ac]
movsd qword [eax], xmm0
push eax
push 0x4f588c
push ebx
call fcn.00462730
add esp, 0x28
pxor xmm0, xmm0
movsd qword [esp + 0xb0], xmm0
jmp 0x40ed34
test ebx, ebx
jle 0x40fe3f
movsd xmm0, qword [esp + 0x20]
divsd xmm0, qword [esp + 0x78]
mov eax, dword [ebp + 0x18]
andps xmm0, xmmword [0x4f5af0]
movsd xmm1, qword [eax]
comisd xmm1, xmm0
jbe 0x40ed13
movsd xmm0, qword [0x4f5de0]
pxor xmm2, xmm2
addsd xmm0, xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0xb0], xmm0
comisd xmm1, xmm2
jbe 0x40fd7a
mulsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0xb0], xmm0
jmp 0x40fd87
divsd xmm1, xmm0
movsd qword [esp + 0xb0], xmm1
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0xb0]
cmp dword [esp + 0x48], 2
movsd qword [eax], xmm0
subsd xmm0, qword [esp + 0x78]
movsd qword [esi*8 + 0x5393f8], xmm0
jle 0x40ed13
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x130]
movsd qword [eax], xmm0
push 0x80120
push 0x520f9c
push eax
push 0x4f5894
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x6c]
lea eax, [esp + 0x154]
movsd qword [eax], xmm0
push eax
push 0x4f589c
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x168]
movsd qword [eax], xmm0
push eax
push 0x4f58a4
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
add esp, 0x34
jmp 0x40ed13
mov eax, dword [ebp + 0x18]
movsd xmm0, qword [esp + 0x20]
andps xmm0, xmmword [0x4f5af0]
movsd xmm1, qword [eax]
comisd xmm1, xmm0
jbe 0x40ed13
movsd xmm0, qword [esp + 0x78]
mov eax, dword [ebp + 8]
addsd xmm0, xmm1
movsd qword [esi*8 + 0x5393f8], xmm1
movsd qword [esp + 0xb0], xmm0
movsd qword [eax], xmm0
cmp dword [esp + 0x48], 2
jle 0x40ed13
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x40]
movsd qword [eax], xmm0
push 0x80120
push 0x520f9c
push eax
push 0x4f58ac
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x6c]
lea eax, [esp + 0x64]
movsd qword [eax], xmm0
push eax
push 0x4f58b4
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x78]
movsd qword [eax], xmm0
push eax
push 0x4f58bc
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
add esp, 0x34
jmp 0x40ed13
test ebx, ebx
jle 0x410022
movsd xmm0, qword [esp + 0x20]
divsd xmm0, qword [esp + 0x78]
mov eax, dword [ebp + 0x18]
andps xmm0, xmmword [0x4f5af0]
movsd xmm2, qword [eax]
comisd xmm2, xmm0
jbe 0x40ebe8
movsd xmm0, qword [esp + 0x78]
pxor xmm1, xmm1
addsd xmm2, qword [0x4f5de0]
comisd xmm0, xmm1
jbe 0x40ff63
divsd xmm0, xmm2
movsd qword [esp + 0xb0], xmm0
jmp 0x40ff70
mulsd xmm0, xmm2
movsd qword [esp + 0xb0], xmm0
mov eax, dword [ebp + 8]
cmp dword [esp + 0x30], 2
movsd qword [eax], xmm0
subsd xmm0, qword [esp + 0x78]
movsd qword [esi*8 + 0x5393f8], xmm0
jle 0x40ebe8
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x118]
movsd qword [eax], xmm0
push 0x80120
push 0x521134
push eax
push 0x4f58c4
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x9c]
lea eax, [esp + 0x13c]
movsd qword [eax], xmm0
push eax
push 0x4f58cc
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x150]
movsd qword [eax], xmm0
push eax
push 0x4f58d4
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
add esp, 0x34
jmp 0x40ebe8
mov eax, dword [ebp + 0x18]
movsd xmm1, qword [eax]
comisd xmm1, xmmword [esp + 0x20]
jbe 0x40ebe8
xorps xmm1, xmmword [0x4f5b00]
movsd xmm0, qword [esp + 0x78]
mov eax, dword [ebp + 8]
addsd xmm0, xmm1
movsd qword [esi*8 + 0x5393f8], xmm1
movsd qword [esp + 0xb0], xmm0
movsd qword [eax], xmm0
cmp dword [esp + 0x30], 2
jle 0x40ebe8
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x28]
movsd qword [eax], xmm0
push 0x80120
push 0x521134
push eax
push 0x4f58dc
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x9c]
lea eax, [esp + 0x4c]
movsd qword [eax], xmm0
push eax
push 0x4f58e4
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xd8]
lea eax, [esp + 0x60]
movsd qword [eax], xmm0
push eax
push 0x4f58ec
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
add esp, 0x34
jmp 0x40ebe8
mov ecx, dword [ebp + 0x14]
lea eax, [esi*8]
movsd xmm0, qword [eax + 0x5393f8]
movaps xmm4, xmm0
divsd xmm4, qword [esp + 0x78]
movsd xmm1, qword [ecx]
comisd xmm4, xmm1
ja 0x41013b
movsd xmm2, qword [0x4f5de0]
movaps xmm3, xmm1
xorps xmm4, xmmword [0x4f5b00]
addsd xmm2, xmm1
divsd xmm3, xmm2
comisd xmm4, xmm3
jbe 0x40eab3
movsd xmm2, qword [esp + 0xb0]
movsd qword [esp + 0x20], xmm2
movsd qword [0x53e878], xmm2
test ebx, ebx
jle 0x41028b
mulsd xmm0, qword [esp + 0x78]
pxor xmm2, xmm2
comisd xmm0, xmm2
jb 0x41018e
movsd xmm0, qword [esp + 0x78]
mov ecx, dword [ebp + 8]
addsd xmm1, qword [0x4f5de0]
mulsd xmm0, xmm1
movsd qword [esp + 0xb0], xmm0
movsd qword [ecx], xmm0
jmp 0x4101b0
movsd xmm0, qword [esp + 0x78]
mov ecx, dword [ebp + 8]
addsd xmm1, qword [0x4f5de0]
divsd xmm0, xmm1
movsd qword [esp + 0xb0], xmm0
movsd qword [ecx], xmm0
movsd xmm0, qword [esp + 0xb0]
subsd xmm0, qword [esp + 0x78]
movsd qword [eax + 0x5393f8], xmm0
mov eax, dword [ebp + 0x38]
cmp dword [eax], 2
jle 0x40eab3
mov dword [esp + 0x310], 0
lea ecx, [esp + 0x310]
movsd qword [ecx - 0x168], xmm0
lea eax, [esp + 0x1a8]
push 0x80120
push 0x5212d4
push eax
push 0x4f58f4
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x94]
lea eax, [esp + 0x1cc]
movsd qword [eax], xmm0
push eax
push 0x4f58fc
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0x48]
lea eax, [esp + 0x1e0]
movsd qword [eax], xmm0
push eax
push 0x4f5904
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
movsd xmm0, qword [esp + 0xe4]
lea eax, [esp + 0x1f4]
movsd qword [eax], xmm0
push eax
push 0x4f590c
lea ecx, [esp + 0x34c]
push ecx
call fcn.00462730
add esp, 0x40
jmp 0x40eab3
andps xmm1, xmmword [0x4f5af0]
pxor xmm2, xmm2
movaps xmm3, xmm1
comisd xmm2, xmm0
xorps xmm3, xmmword [0x4f5b00]
ja 0x4102a9
movaps xmm3, xmm1
mov ecx, dword [ebp + 8]
addsd xmm3, qword [esp + 0x78]
movsd qword [esp + 0xb0], xmm3
movsd qword [ecx], xmm3
jmp 0x4101b0
mov ecx, dword [ebp + 0x14]
lea eax, [esi*8]
movsd xmm0, qword [eax + 0x5393f8]
movaps xmm2, xmm0
movsd xmm1, qword [ecx]
andps xmm2, xmmword [0x4f5af0]
comisd xmm2, xmm1
ja 0x41013b
jmp 0x40eaaa
movsd xmm0, qword [edx*8 + 0x5393f8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x410308
je 0x41034e
movsd xmm0, qword [edx*8 + 0x53c178]
ucomisd xmm2, xmm0
jp 0x410319
je 0x41034e
movsd xmm1, qword [edx*8 + 0x53baf8]
ucomisd xmm2, xmm1
jp 0x41032a
je 0x41034e
ucomisd xmm0, xmm1
jp 0x410332
je 0x41034e
mov ecx, dword [ebp + 0x40]
movsd xmm0, qword [ecx]
ucomisd xmm0, qword [edx*8 + 0x53adf8]
jne 0x40e8f2
jp 0x40e8f2
movsd qword [esp + 0x78], xmm2
mov esi, edx
mov dword [esp + 0x24c], eax
mov ecx, dword [ebp + 0x28]
mov edi, dword [ebp + 0x18]
movaps xmm0, xmm2
mov ebx, dword [eax + 0x538d7c]
inc ebx
mov dword [esp + 0x60], ebx
mov dword [eax + 0x538d7c], ebx
mov ebx, dword [ecx]
movsd qword [0x53e870], xmm0
mov dword [eax + 0x51ff5c], 1
movsd xmm1, qword [edi]
test ebx, ebx
jle 0x410477
movsd xmm0, qword [0x4f5d78]
mulsd xmm0, xmm1
movsd xmm2, qword [0x4f5de0]
movsd xmm1, qword [esp + 0x78]
addsd xmm2, xmm0
mulsd xmm1, xmm2
movsd qword [esp + 0xb0], xmm1
subsd xmm1, qword [esi*8 + 0x51f8d8]
divsd xmm1, qword [esi*8 + 0x51f8d8]
andps xmm1, xmmword [0x4f5af0]
comisd xmm0, xmm1
jbe 0x4103fd
movsd xmm0, qword [esp + 0x78]
divsd xmm0, xmm2
mov eax, dword [ebp + 8]
movsd qword [esp + 0xb0], xmm0
movsd qword [eax], xmm0
jmp 0x41040d
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0xb0]
mov eax, dword [ebp + 0x38]
subsd xmm0, qword [esp + 0x78]
movsd qword [esi*8 + 0x5393f8], xmm0
cmp dword [eax], 2
jle 0x40eaa2
movsd xmm0, qword [esp + 0xb0]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x198]
movsd qword [eax], xmm0
push 0x80120
push 0x5213a0
push eax
push 0x4f5914
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
add esp, 0x1c
jmp 0x40eaa2
movaps xmm4, xmm0
movaps xmm0, xmm1
pxor xmm3, xmm3
comisd xmm3, xmm4
andps xmm0, xmmword [0x4f5af0]
movaps xmm2, xmm0
xorps xmm2, xmmword [0x4f5b00]
movaps xmm5, xmm2
ja 0x41049e
movaps xmm5, xmm0
movsd xmm3, qword [0x4f5d78]
mulsd xmm5, xmm3
mulsd xmm1, xmm3
addsd xmm5, xmm4
movsd qword [esp + 0xb0], xmm5
subsd xmm5, qword [esi*8 + 0x51f8d8]
andps xmm5, xmmword [0x4f5af0]
comisd xmm1, xmm5
jbe 0x4103fd
mov eax, dword [ebp + 8]
pxor xmm1, xmm1
comisd xmm1, xmmword [esp + 0xb0]
ja 0x4104ea
movaps xmm2, xmm0
mulsd xmm3, xmm2
movaps xmm2, xmm4
subsd xmm2, xmm3
movsd qword [esp + 0xb0], xmm2
movsd qword [eax], xmm2
jmp 0x41040d
movsd xmm0, qword [edx*8 + 0x5393f8]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x410520
je 0x41034e
mov ecx, dword [ebp + 0x40]
movsd xmm0, qword [ecx]
ucomisd xmm0, qword [edx*8 + 0x53b478]
jne 0x40e8f2
jp 0x40e8f2
jmp 0x41034e
movsd xmm4, qword [0x4f5d60]
mulsd xmm4, xmm2
mov ecx, dword [ebp + 0x40]
movaps xmm0, xmm4
movsd xmm1, qword [ecx]
divsd xmm0, xmm1
mov ecx, dword [ebp + 0x28]
movsd qword [edx*8 + 0x5386f8], xmm0
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
test ecx, ecx
jle 0x410764
cmp dword [esp + 0x20], 1
je 0x410726
movaps xmm3, xmm0
mulsd xmm3, xmm1
mov ecx, dword [ebp + 0x1c]
addsd xmm3, xmm2
movsd xmm4, qword [ecx]
mov ecx, dword [ebp + 0x20]
comisd xmm3, xmm4
movsd xmm5, qword [ecx]
jb 0x4105f1
comisd xmm2, xmm5
jbe 0x4105c2
xorps xmm0, xmmword [0x4f5b00]
movaps xmm3, xmm1
mulsd xmm3, xmm0
movsd qword [edx*8 + 0x5386f8], xmm0
addsd xmm3, xmm2
jmp 0x4105f1
movaps xmm0, xmm5
movsd xmm3, qword [0x4f5d70]
addsd xmm0, xmm4
mulsd xmm0, xmm3
movaps xmm3, xmm1
subsd xmm0, xmm2
divsd xmm0, xmm1
mulsd xmm3, xmm0
movsd qword [edx*8 + 0x5386f8], xmm0
addsd xmm3, xmm2
comisd xmm5, xmm3
jb 0x410633
comisd xmm4, xmm2
jbe 0x41060f
xorps xmm0, xmmword [0x4f5b00]
movsd qword [edx*8 + 0x5386f8], xmm0
jmp 0x410633
movsd xmm0, qword [0x4f5d70]
addsd xmm5, xmm4
mulsd xmm5, xmm0
subsd xmm5, xmm2
movaps xmm0, xmm5
divsd xmm0, xmm1
movsd qword [edx*8 + 0x5386f8], xmm0
cmp dword [esp + 0x20], 0
jle 0x4106cb
cmp dword [esp + 0x20], 1
jne 0x40e8da
mulsd xmm0, xmm1
divsd xmm0, xmm2
mov ecx, dword [ebp + 0x14]
movsd xmm3, qword [0x4f5d68]
movsd xmm5, qword [ecx]
mulsd xmm5, xmm3
comisd xmm0, xmm5
jbe 0x410686
movaps xmm0, xmm2
mulsd xmm0, xmm5
divsd xmm0, xmm1
movsd qword [edx*8 + 0x5386f8], xmm0
mulsd xmm0, xmm1
divsd xmm0, xmm2
movsd xmm4, qword [0x4f5de0]
movaps xmm3, xmm5
xorps xmm0, xmmword [0x4f5b00]
addsd xmm4, xmm5
divsd xmm3, xmm4
comisd xmm0, xmm3
jbe 0x40e8da
mulsd xmm5, xmm2
divsd xmm5, xmm4
divsd xmm5, xmm1
xorps xmm5, xmmword [0x4f5b00]
movsd qword [edx*8 + 0x5386f8], xmm5
jmp 0x40e8da
mov ecx, dword [ebp + 0x14]
mulsd xmm0, xmm1
movsd xmm5, qword [ecx]
movaps xmm4, xmm0
movsd xmm3, qword [0x4f5d68]
mulsd xmm5, xmm3
andps xmm4, xmmword [0x4f5af0]
comisd xmm4, xmm5
jbe 0x40e8da
andps xmm5, xmmword [0x4f5af0]
pxor xmm3, xmm3
movaps xmm4, xmm5
comisd xmm3, xmm0
xorps xmm4, xmmword [0x4f5b00]
ja 0x410714
movaps xmm4, xmm5
divsd xmm4, xmm1
movsd qword [edx*8 + 0x5386f8], xmm4
jmp 0x40e8da
mov ecx, dword [ebp + 0x18]
movsd xmm3, qword [0x4f5d58]
movsd xmm4, qword [0x4f5d60]
movsd xmm5, qword [ecx]
mulsd xmm5, xmm3
comisd xmm5, xmm4
jbe 0x410580
mulsd xmm5, xmm2
movaps xmm0, xmm5
divsd xmm0, xmm1
movsd qword [edx*8 + 0x5386f8], xmm0
jmp 0x410580
mov ecx, dword [ebp + 0x18]
movsd xmm3, qword [0x4f5d58]
andps xmm4, xmmword [0x4f5af0]
movsd xmm5, qword [ecx]
mulsd xmm3, xmm5
comisd xmm3, xmm4
jbe 0x410580
andps xmm5, xmmword [0x4f5af0]
pxor xmm3, xmm3
movaps xmm0, xmm5
comisd xmm3, xmm2
xorps xmm0, xmmword [0x4f5b00]
ja 0x4107a6
movaps xmm0, xmm5
addsd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [edx*8 + 0x5386f8], xmm0
jmp 0x410580
push 5
push dword [ebp + 0x38]
lea eax, [edx + edx*4 + 0x52029b]
push eax
push 0x53e890
lea ecx, [edx*4 + 0x53aabc]
push ecx
lea ebx, [edx*4 + 0x51ff5c]
push ebx
push dword [ebp + 0x28]
push dword [ebp + 0x14]
lea eax, [edx*8 + 0x5393f8]
push eax
lea ecx, [edx*8 + 0x53c7f8]
push ecx
push dword [ebp + 0x1c]
push dword [ebp + 0x20]
lea ebx, [edx*8 + 0x53ce78]
push ebx
lea eax, [edx*8 + 0x53d4f8]
push eax
lea ecx, [edx*8 + 0x53db78]
push ecx
lea ebx, [edx*8 + 0x53e1f8]
push ebx
lea eax, [edx*8 + 0x53b478]
push eax
lea edx, [edx*8 + 0x53c178]
push edx
push dword [ebp + 0x40]
push edi
call fcn.004150c0
add esp, 0x50
mov eax, dword [0x53e890]
cmp eax, 1
jne 0x4108d9
mov edx, dword [ebp + 0x38]
mov eax, dword [esi]
cmp dword [edx], 0
mov dword [eax*4 + 0x5390bc], 0
jle 0x410884
xor eax, eax
lea edx, [esp + 0x310]
mov dword [edx], eax
push 0x80120
push 0x520c20
push eax
push 0x4f591c
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
movq xmm0, qword [0x4f5d90]
movq xmm1, qword [0x4f5d98]
mov dword [esp], 0x53e880
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x521e08
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov edx, dword [esi]
mov ebx, 0xffffffff
mov dword [0x53e88c], 0xffffffff
lea eax, [edx*4]
jmp 0x40e8ab
cmp eax, 2
jne 0x4109c5
mov eax, dword [ebp + 0x38]
mov esi, dword [eax]
test esi, esi
jle 0x41094c
mov ebx, dword [ebp + 0x20]
lea eax, [esp + 0x1c8]
mov dword [eax + 0x148], 0
movsd xmm0, qword [ebx]
lea ebx, [esp + 0x310]
movsd qword [eax], xmm0
push 0x80120
push 0x520b2c
push eax
push 0x4f5920
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
mov eax, dword [ebp + 0x1c]
lea edx, [esp + 0x1ec]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5928
push ebx
call fcn.00462730
add esp, 0x28
mov eax, dword [ebp + 0x34]
cmp dword [eax], 1
je 0x411001
mov eax, dword [ebp + 0x3c]
movsd xmm0, qword [esp + 0x58]
mov edx, dword [eax]
movsd xmm1, qword [edx*8 + 0x51f8d8]
ucomisd xmm0, xmm1
jp 0x410974
je 0x4109ea
mov eax, dword [ebp + 8]
movsd qword [eax], xmm1
cmp esi, 2
jle 0x40ee19
mov dword [esp + 0x310], 0
lea edx, [esp + 0x310]
movsd qword [esp + 0x20], xmm1
lea eax, [esp + 0x20]
push 0x80120
push 0x520adc
push eax
push 0x4f5930
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
jmp 0x40ee19
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
movsd xmm0, qword [eax]
movsd xmm1, qword [edx]
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0x80], xmm1
jmp 0x40ed4d
mov eax, dword [ebp + 8]
movsd qword [eax], xmm0
test esi, esi
jle 0x410a2a
lea edx, [esp + 0x310]
mov dword [edx], 0
lea eax, [esp + 0x68]
movsd qword [eax], xmm0
push 0x80120
push 0x520a90
push eax
push 0x4f5938
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
add esp, 0x1c
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5c30]
movups xmmword [eax], xmm0
movups xmm1, xmmword [0x4f5c40]
movups xmmword [eax + 0x10], xmm1
movsd xmm2, qword [0x4f5c50]
movsd qword [eax + 0x20], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5c60]
movups xmmword [eax + 0x28], xmm0
movups xmm1, xmmword [0x4f5c70]
movups xmmword [eax + 0x38], xmm1
movsd xmm2, qword [0x4f5c80]
movsd qword [eax + 0x48], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5c90]
movups xmmword [eax + 0x50], xmm0
movups xmm1, xmmword [0x4f5ca0]
movups xmmword [eax + 0x60], xmm1
movsd xmm2, qword [0x4f5cb0]
movsd qword [eax + 0x70], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5cc0]
movups xmmword [eax + 0x78], xmm0
movups xmm1, xmmword [0x4f5cd0]
movups xmmword [eax + 0x88], xmm1
movsd xmm2, qword [0x4f5ce0]
movsd qword [eax + 0x98], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5cf0]
movups xmmword [eax + 0xa0], xmm0
movups xmm1, xmmword [0x4f5d00]
movups xmmword [eax + 0xb0], xmm1
movsd xmm2, qword [0x4f5d10]
movsd qword [eax + 0xc0], xmm2
mov eax, dword [ebp + 0x54]
movups xmm0, xmmword [0x4f5d20]
movups xmmword [eax + 0xc8], xmm0
movups xmm1, xmmword [0x4f5d30]
movups xmmword [eax + 0xd8], xmm1
movsd xmm2, qword [0x4f5d40]
movsd qword [eax + 0xe8], xmm2
lea eax, [esp + 0x1a0]
push 0x4f5738
push dword [ebp + 0x3c]
push 3
push eax
call fcn.00414c30
add esp, 0x10
mov edx, dword [ebp + 0x54]
movzx esi, word [esp + 0x1a0]
mov word [edx + 0x2d], si
mov al, byte [esp + 0x1a2]
mov byte [edx + 0x2f], al
mov edx, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x54]
mov eax, dword [edx]
mov dword [ebx + 0x57], eax
movzx ecx, word [edx + 4]
mov word [ebx + 0x5b], cx
mov eax, dword [ebp + 0x54]
movq xmm0, qword [0x4f5dc8]
mov ecx, dword [ebp + 0x44]
movq xmm1, qword [0x4f5db8]
lea edx, [eax + 0x62]
mov dword [esp], edx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov edx, dword [ebp + 0x50]
mov ebx, dword [ebp + 0x54]
mov eax, dword [edx]
mov dword [ebx + 0x79], eax
movzx ecx, word [edx + 4]
mov word [ebx + 0x7d], cx
mov eax, dword [ebp + 0x54]
movq xmm0, qword [0x4f5dc8]
mov ecx, dword [ebp + 0x4c]
movq xmm1, qword [0x4f5db8]
lea edx, [eax + 0x85]
mov dword [esp], edx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x7c]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0x80]
movsd qword [edx + 0xb1], xmm0
mov eax, dword [esp + 0x88]
mov dword [edx + 0xb9], eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x9c]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0xa0]
movsd qword [edx + 0xbd], xmm0
mov eax, dword [esp + 0xa8]
mov dword [edx + 0xc5], eax
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0xb0]
lea edx, [esp + 0xbc]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0xc0]
movsd qword [edx + 0xc9], xmm0
mov eax, dword [esp + 0xc8]
mov dword [edx + 0xd1], eax
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 0xd0]
lea edx, [esp + 0xdc]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0xe0]
movsd qword [edx + 0xd5], xmm0
mov eax, dword [esp + 0xe8]
mov dword [edx + 0xdd], eax
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0xf0]
lea edx, [esp + 0xfc]
movsd xmm0, qword [eax]
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
push 0x4f573c
push edx
push 0xc
push ecx
call fcn.00414dc0
add esp, 0x50
mov edx, dword [ebp + 0x54]
movsd xmm0, qword [esp + 0xb0]
movsd qword [edx + 0xe1], xmm0
mov eax, dword [esp + 0xb8]
mov dword [edx + 0xe9], eax
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
cmp ebx, 1
jle 0x40f5b5
xor eax, eax
lea edx, [esp + 0x310]
mov dword [edx], eax
push 0x80120
push 0x520a00
push eax
push 0x4f5940
push 0x8384ff00
push 4
push edx
call fcn.0045ff70
mov esi, dword [ebp + 0x3c]
lea eax, [esp + 0x164]
mov dword [eax + 0x1c8], 0
mov esi, dword [esi]
mov dword [eax], esi
push 0x80120
push 0x521b40
push eax
push 0x4f5944
push 0x8384ff00
push 4
lea ecx, [esp + 0x344]
push ecx
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0xf8]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f594c
lea edi, [esp + 0x350]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea ecx, [esp + 0x10c]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5954
lea edi, [esp + 0x35c]
push edi
call fcn.00462730
mov dword [esp + 0x120], 9
lea eax, [esp + 0x120]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f595c
lea ecx, [esp + 0x368]
push ecx
call fcn.00462730
lea eax, [esi*4]
mov dword [esp + 0x298], eax
mov ecx, dword [eax + 0x51ff5c]
lea edi, [esp + 0x1ac]
mov dword [edi], ecx
push edi
push 0x4f5964
lea eax, [esp + 0x374]
push eax
call fcn.00462730
mov eax, dword [esp + 0x2a4]
lea edi, [esp + 0x1c0]
mov ecx, dword [eax + 0x538d7c]
mov dword [edi], ecx
push edi
push 0x4f596c
lea eax, [esp + 0x380]
push eax
call fcn.00462730
add esp, 0x74
mov eax, dword [ebp + 0x48]
lea ecx, [esp + 0xd8]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5974
lea edi, [esp + 0x318]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0xec]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f597c
lea edi, [esp + 0x324]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0x100]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5984
lea edi, [esp + 0x330]
push edi
call fcn.00462730
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x114]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f598c
lea edi, [esp + 0x33c]
push edi
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x128]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5994
lea edi, [esp + 0x348]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x13c]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f599c
lea edi, [esp + 0x354]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 0x150]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f59a4
lea edi, [esp + 0x360]
push edi
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x164]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f59ac
lea edi, [esp + 0x36c]
push edi
call fcn.00462730
add esp, 0x60
mov ecx, dword [esp + 0x23c]
lea eax, [esi*8]
mov dword [esp + 0x25c], eax
mov dword [esp + 0x24c], ecx
jmp 0x40e7ed
mov edx, dword [ebp + 0x3c]
lea esi, [esp + 0x310]
movsd xmm0, qword [esp + 0x58]
lea ebx, [esp + 0x80]
mov dword [ebx + 0x290], 0
mov ecx, dword [edx]
mov dword [ebx - 8], ecx
mov dword [ebx], ecx
push 0x80120
push 0x521b40
push ebx
push 0x4f59b4
mov eax, dword [ebp + 8]
push 0x8384ff00
push 4
push esi
movsd qword [eax], xmm0
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea edx, [esp + 0x3c]
mov dword [edx], 0xc
mov dword [edx + 4], eax
push edx
push 0x4f59bc
lea ecx, [esp + 0x334]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea edx, [esp + 0x50]
mov dword [edx], 0xc
mov dword [edx + 4], eax
push edx
push 0x4f59c4
lea ecx, [esp + 0x340]
push ecx
call fcn.00462730
mov dword [esp + 0x64], 9
lea eax, [esp + 0x64]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f59cc
lea edx, [esp + 0x34c]
push edx
call fcn.00462730
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0xc8]
mov edx, dword [eax*4 + 0x51ff5c]
mov dword [ecx], edx
push ecx
push 0x4f59d4
lea ebx, [esp + 0x358]
push ebx
call fcn.00462730
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xdc]
mov edx, dword [eax*4 + 0x538d7c]
mov dword [ecx], edx
push ecx
push 0x4f59dc
lea ebx, [esp + 0x364]
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x48]
lea edx, [esp + 0x90]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f59e4
lea ecx, [esp + 0x370]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0xa4]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f59ec
lea ecx, [esp + 0x37c]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0xb8]
mov dword [edx], 6
mov dword [edx + 4], eax
push edx
push 0x4f59f4
lea ecx, [esp + 0x388]
push ecx
call fcn.00462730
add esp, 0x7c
movsd xmm0, qword [esp + 0x58]
lea eax, [esp + 0x50]
movsd qword [eax], xmm0
push eax
push 0x4f59fc
lea edx, [esp + 0x318]
push edx
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x64]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5a04
lea ecx, [esp + 0x324]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0x78]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5a0c
lea ecx, [esp + 0x330]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x8c]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5a14
lea ecx, [esp + 0x33c]
push ecx
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea edx, [esp + 0xa0]
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
push edx
push 0x4f5a1c
lea ecx, [esp + 0x348]
push ecx
call fcn.00462730
xor eax, eax
mov dword [esp + 0x34c], eax
push 0x80120
push 0x521944
push eax
push 0x4f5a24
push 0x8384ff00
push 4
lea edx, [esp + 0x364]
push edx
call fcn.0045ff70
add esp, 0x58
mov edx, dword [esp + 0x78]
xor eax, eax
movsd xmm0, qword [0x4f5d50]
mov dword [edx*4 + 0x51ff5c], 1
mov dword [edx*4 + 0x538d7c], eax
mov dword [edx*4 + 0x5390bc], eax
movsd qword [edx*8 + 0x51f8d8], xmm0
movsd qword [edx*8 + 0x51f258], xmm0
mov dword [edx*4 + 0x5206bc], 0x454e4f4e
cmp edx, 0xc8
jle 0x4112bc
mov eax, edx
pxor xmm0, xmm0
movsd qword [eax*8 + 0x5386f8], xmm0
movq xmm0, qword [0x4f5da0]
movq xmm1, qword [0x4f5dd0]
mov dword [esp], 0x53e894
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4f5f20
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
push 0x3c
push 0x53e894
call fcn.00412fc0
add esp, 8
cmp eax, 1
je 0x40f8f0
mov eax, 2
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 2
jg 0x411337
mov ecx, dword [esp + 0x24c]
test byte [ecx + 0x5390bc], 1
je 0x40e739
test ebx, ebx
jle 0x411377
mov dword [esp + 0x310], 0
lea ecx, [esp + 0x310]
mov dword [ecx - 0x40], esi
lea eax, [esp + 0x2d0]
push 0x80120
push 0x52169c
push eax
push 0x4f5a28
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
add esp, 0x1c
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [esp + 0xb8]
andps xmm0, xmmword [0x4f5af0]
movsd xmm1, qword [eax]
comisd xmm1, xmm0
jae 0x40e79f
movsd xmm0, qword [esp + 0xb0]
comisd xmm0, xmmword [esp + 0x80]
jae 0x4113c1
movsd xmm0, qword [esp + 0x28]
comisd xmm0, xmmword [esp + 0xb0]
jb 0x40efc3
cmp dword [esp + 0x20], 0
jle 0x40ed7c
pxor xmm2, xmm2
comisd xmm1, xmm2
ja 0x40ed7c
movsd xmm0, qword [esp + 0xb0]
comisd xmm0, xmmword [esp + 0x80]
jb 0x411401
movsd xmm0, qword [esp + 0x80]
comisd xmm0, xmm2
ja 0x40ed7c
movsd xmm0, qword [esp + 0x28]
comisd xmm0, xmmword [esp + 0xb0]
jb 0x40efc3
comisd xmm2, xmmword [esp + 0x80]
ja 0x40ed7c
jmp 0x40efc3
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [esp + 0xb8]
andps xmm0, xmmword [0x4f5af0]
movsd xmm1, qword [eax]
movsd qword [esp + 0x20], xmm0
comisd xmm1, xmm0
jb 0x41146e
lea eax, [esi*8]
mov dword [esp + 0x25c], eax
lea ecx, [esi*4]
mov dword [esp + 0x24c], ecx
jmp 0x40e79f
cmp ebx, 1
jle 0x4114b1
movsd xmm0, qword [esp + 0x28]
lea ecx, [esp + 0x310]
mov dword [ecx], 0
lea eax, [esp + 0x2f8]
movsd qword [eax], xmm0
push 0x80120
push 0x521850
push eax
push 0x4f5a30
push 0x8384ff00
push 4
push ecx
call fcn.0045ff70
add esp, 0x1c
movsd xmm0, qword [esi*8 + 0x51f258]
andps xmm0, xmmword [0x4f5af0]
comisd xmm0, xmmword [esp + 0x20]
jb 0x4114f9
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0xb8]
movsd qword [esi*8 + 0x51f258], xmm0
movsd xmm1, qword [eax]
movsd qword [esp + 0xb0], xmm1
movsd qword [esi*8 + 0x51f8d8], xmm1
jmp 0x40ed7c
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0xb0], xmm0
jmp 0x40ed7c
mov eax, dword [ebp + 8]
pxor xmm1, xmm1
movsd xmm0, qword [eax]
movsd qword [esp + 0x68], xmm0
ucomisd xmm0, xmm1
jp 0x41152b
je 0x41183e
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, qword [esp + 0x28]
pxor xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x40e393
jp 0x40e393
movsd xmm0, qword [esp + 0x28]
lea ebx, [esp + 0x310]
mov dword [ebx], 0
lea eax, [esp + 0x20]
movsd qword [eax], xmm0
push 0x80120
push 0x521968
push eax
push 0x4f5a38
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
movsd xmm0, qword [esp + 0x9c]
lea eax, [esp + 0x44]
movsd qword [eax], xmm0
push eax
push 0x4f5a40
push ebx
call fcn.00462730
mov dword [esp + 0x338], 0
lea eax, [esp + 0xb0]
mov dword [eax], esi
push 0x80120
push 0x521b40
push eax
push 0x4f5a48
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
mov eax, dword [ebp + 0x44]
lea ecx, [esp + 0x74]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5a50
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x4c]
lea ecx, [esp + 0x88]
mov dword [ecx], 0xc
mov dword [ecx + 4], eax
push ecx
push 0x4f5a58
push ebx
call fcn.00462730
mov dword [esp + 0x9c], 9
lea eax, [esp + 0x9c]
mov dword [eax + 4], 0x53e880
push eax
push 0x4f5a60
push ebx
call fcn.00462730
mov eax, dword [esi*4 + 0x51ff5c]
lea ecx, [esp + 0xf8]
mov dword [ecx], eax
push ecx
push 0x4f5a68
push ebx
call fcn.00462730
add esp, 0x74
mov eax, dword [esi*4 + 0x538d7c]
lea ecx, [esp + 0x98]
mov dword [ecx], eax
push ecx
push 0x4f5a70
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x48]
lea ecx, [esp + 0x54]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5a78
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0x68]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5a80
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x50]
lea ecx, [esp + 0x7c]
mov dword [ecx], 6
mov dword [ecx + 4], eax
push ecx
push 0x4f5a88
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x98]
lea eax, [esp + 0x90]
movsd qword [eax], xmm0
push eax
push 0x4f5a90
push ebx
call fcn.00462730
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0xa4]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5a98
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0xb8]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5aa0
push ebx
call fcn.00462730
movsd xmm0, qword [esp + 0x10c]
lea eax, [esp + 0xcc]
movsd qword [eax], xmm0
push eax
push 0x4f5aa8
push ebx
call fcn.00462730
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0xe0]
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
push ecx
push 0x4f5ab0
push ebx
call fcn.00462730
add esp, 0x6c
xor edi, edi
mov dword [esp + 0x310], edi
push 0x80120
push 0x521944
push edi
push 0x4f5ab8
push 0x8384ff00
push 4
push ebx
call fcn.0045ff70
add esp, 0x1c
movsd xmm0, qword [0x4f5d50]
mov dword [esi*4 + 0x51ff5c], 1
mov dword [esi*4 + 0x538d7c], edi
mov dword [esi*4 + 0x5390bc], edi
movsd qword [esi*8 + 0x51f8d8], xmm0
movsd qword [esi*8 + 0x51f258], xmm0
mov dword [esi*4 + 0x5206bc], 0x454e4f4e
cmp esi, 0xc8
jle 0x4117dc
pxor xmm0, xmm0
movsd qword [esi*8 + 0x5386f8], xmm0
movq xmm0, qword [0x4f5da0]
movq xmm1, qword [0x4f5da8]
mov dword [esp], 0x53e894
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4f5f5c
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.00449d70
push 0x3c
push 0x53e894
call fcn.00412fc0
add esp, 8
cmp eax, 1
je 0x40f8f0
mov eax, 2
add esp, 0x404
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pxor xmm0, xmm0
comisd xmm0, xmmword [esp + 0x28]
jbe 0x411860
mov eax, dword [ebp + 8]
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x68], xmm0
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x28]
pxor xmm1, xmm1
comisd xmm0, xmm1
jbe 0x41152b
mov eax, dword [ebp + 8]
movsd qword [esp + 0x68], xmm0
movsd qword [eax], xmm0
jmp 0x41152b
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x28]
mov esi, dword [ebp + 0x3c]
movsd xmm0, qword [eax]
mov eax, dword [ebp + 0x20]
mov edi, dword [ecx]
mov esi, dword [esi]
movsd xmm1, qword [eax]
mov eax, dword [ebp + 0x1c]
movsd qword [esp + 0xb8], xmm0
mov dword [esp + 0x20], edi
movsd xmm2, qword [eax]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x80], xmm2
jmp 0x40e388
andps xmm1, xmmword [0x4f5af0]
andps xmm0, xmmword [0x4f5af0]
mulsd xmm2, qword [0x4f5d58]
addsd xmm1, xmm0
divsd xmm2, xmm1
mov eax, dword [ebp + 0x40]
movsd qword [eax], xmm2
jmp 0x40df69
push 0xa
push 0x521e0e
push 0x4f5abc
call fcn.004158b0
add esp, 0xc
cmp eax, 1
je 0x40f8f0
jmp 0x40de87
mov eax, dword [ebp + 0x3c]
push 0x668
push 0
push 0x538700
mov dword [eax], 1
mov dword [0x521df8], 2
call fcn.004c6960
add esp, 0xc
movups xmm0, xmmword [0x4f5ac0]
xor eax, eax
movups xmmword [eax*8 + 0x51f260], xmm0
movups xmmword [eax*8 + 0x51f270], xmm0
movups xmmword [eax*8 + 0x51f280], xmm0
movups xmmword [eax*8 + 0x51f290], xmm0
add eax, 8
cmp eax, 0xc8
jb 0x411942
movsd xmm1, qword [0x4f5d50]
xor eax, eax
movsd qword [0x51f8a0], xmm1
movsd qword [0x51f8a8], xmm1
movsd qword [0x51f8b0], xmm1
movsd qword [0x51f8b8], xmm1
movsd qword [0x51f8c0], xmm1
movups xmmword [eax*8 + 0x51f8e0], xmm0
movups xmmword [eax*8 + 0x51f8f0], xmm0
movups xmmword [eax*8 + 0x51f900], xmm0
movups xmmword [eax*8 + 0x51f910], xmm0
add eax, 8
cmp eax, 0xc8
jb 0x41199e
movsd qword [0x51ff20], xmm1
mov eax, 0x320
pxor xmm0, xmm0
movsd qword [0x51ff28], xmm1
movsd qword [0x51ff30], xmm1
movsd qword [0x51ff38], xmm1
movsd qword [0x51ff40], xmm1
movdqu xmmword [0x5390a0], xmm0
movd dword [0x5390b0], xmm0
movdqu xmmword [eax + 0x538d70], xmm0
movdqu xmmword [eax + 0x538d60], xmm0
movdqu xmmword [eax + 0x538d50], xmm0
movdqu xmmword [eax + 0x538d40], xmm0
movdqu xmmword [eax + 0x538d30], xmm0
sub eax, 0x50
jne 0x411a09
movdqu xmm1, xmmword [0x4f5ad0]
xor eax, eax
movdqu xmmword [eax*4 + 0x51ff60], xmm1
add eax, 4
cmp eax, 0xcc
jb 0x411a40
mov dword [0x520290], 1
xor ecx, ecx
mov edx, 0x45574f4c
mov eax, 0x52
lea ebx, [ecx + ecx*4]
inc ecx
mov dword [ebx*2 + 0x5202a0], edx
mov byte [ebx*2 + 0x5202a4], al
mov dword [ebx*2 + 0x5202a5], edx
mov byte [ebx*2 + 0x5202a9], al
cmp ecx, 0x66
jb 0x411a69
mov dword [0x52069c], 0x45574f4c
mov eax, 0x320
mov byte [0x5206a0], 0x52
movdqu xmmword [0x5393e0], xmm0
movd dword [0x5393f0], xmm0
movdqu xmmword [eax + 0x5390b0], xmm0
movdqu xmmword [eax + 0x5390a0], xmm0
movdqu xmmword [eax + 0x539090], xmm0
movdqu xmmword [eax + 0x539080], xmm0
movdqu xmmword [eax + 0x539070], xmm0
sub eax, 0x50
jne 0x411ab4
mov eax, 0x5206c0
and eax, 0xf
movdqu xmm0, xmmword [str.NONENONENONENONE]
mov edx, 0xcc
movdqu xmmword [eax*4 + 0x5206c0], xmm0
add eax, 4
cmp eax, 0xcc
jb 0x411af6
mov dword [edx*4 + 0x5206c0], 0x454e4f4e
inc edx
cmp edx, 0xcd
jb 0x411b09
jmp 0x40def5