Function at 0x1007cf40
Capabilities:
Access peb ldr_data
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10182d33
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b8
mov eax, dword [0x101fc010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 0xc]
xorps xmm0, xmm0
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x24]
and edx, 1
mov edi, dword [ebx + 0x2c]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x168], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x13c], esi
movupd xmmword [ebp - 0x38], xmm0
cmp esi, eax
jne 0x1007cfd6
mov eax, 1
jmp 0x1007cfec
add eax, eax
cmp esi, eax
jne 0x1007cfe3
mov eax, 2
jmp 0x1007cfec
mov eax, esi
cdq
idiv dword [ebp - 0x100]
mov edx, dword [ebx + 8]
movsd xmm2, qword [0x101a23f0]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x108], edx
je 0x1007d1a5
cmp dword [ebp - 0x174], 0
jne 0x1007d0c8
mov ecx, dword [ebp - 0x100]
add ecx, 0xfffffffe
mov dword [ebp - 0x110], 0
js 0x1007d09d
mov esi, dword [ebp - 0x108]
lea ecx, [eax*8]
mov edi, dword [ebp - 0x120]
mov dword [ebp - 0x140], ecx
mov ecx, dword [ebp - 0x100]
shr ecx, 1
mov dword [ebp - 0xfc], ecx
add ecx, ecx
mov dword [ebp - 0x110], ecx
lea ebx, [ebx]
mov ecx, dword [edi + eax*4]
lea esi, [esi + 0x20]
mov eax, dword [edi]
add ecx, ecx
add edi, dword [ebp - 0x140]
add eax, eax
dec dword [ebp - 0xfc]
movdqu xmm0, xmmword [edx + eax*8]
mov eax, dword [ebp - 0x104]
movdqu xmmword [esi - 0x20], xmm0
movdqu xmm0, xmmword [edx + ecx*8]
movdqu xmmword [esi - 0x10], xmm0
jne 0x1007d060
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x110], eax
jge 0x1007d454
mov ecx, dword [ebp - 0x108]
add eax, eax
movdqu xmm0, xmmword [edx + eax*8 - 0x10]
movdqu xmmword [ecx + eax*8 - 0x10], xmm0
jmp 0x1007d454
mov edx, dword [ebp - 0x100]
xor ecx, ecx
add edx, 0xfffffffe
mov edx, dword [ebx + 8]
js 0x1007d16f
mov edi, dword [ebp - 0x108]
mov esi, dword [ebp - 0x120]
shl eax, 3
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x100]
shr eax, 1
mov dword [ebp - 0xfc], eax
add eax, eax
mov dword [ebp - 0x14c], eax
jmp 0x1007d110
mov eax, dword [esi]
lea edi, [edi + 0x20]
mov ecx, dword [ebp - 0x104]
add eax, eax
mov ecx, dword [esi + ecx*4]
movsd xmm0, qword [edx + eax*8 + 8]
add ecx, ecx
movsd xmm1, qword [edx + eax*8]
xorpd xmm0, xmm2
add esi, dword [ebp - 0x140]
dec dword [ebp - 0xfc]
unpcklpd xmm1, xmm0
movdqu xmmword [edi - 0x20], xmm1
movsd xmm0, qword [edx + ecx*8 + 8]
movsd xmm1, qword [edx + ecx*8]
xorpd xmm0, xmm2
unpcklpd xmm1, xmm0
movdqu xmmword [edi - 0x10], xmm1
jne 0x1007d110
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x100]
cmp ecx, eax
jge 0x1007d454
add eax, eax
shl ecx, 4
add ecx, dword [ebp - 0x108]
movsd xmm0, qword [edx + eax*8 - 8]
movsd xmm1, qword [edx + eax*8 - 0x10]
xorpd xmm0, xmm2
unpcklpd xmm1, xmm0
movdqu xmmword [ecx], xmm1
jmp 0x1007d454
test dword [ebx + 0x30], 0x100
jne 0x1007d3e2
mov edx, dword [ebp - 0x168]
mov esi, dword [ebx + 0x14]
mov eax, dword [edx]
cmp eax, dword [edx + esi*4 - 4]
mov esi, dword [ebx + 0x24]
je 0x1007d2c3
push 0x101a1fc8
lea ecx, [ebp - 0x80]
call fcn.10005380
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x60]
push str.cv::DFT
call fcn.10005380
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
push str.factors_0___factors_nf_1_
call fcn.10005380
mov byte [ebp - 4], 2
lea eax, [ebp - 0x80]
push 0x257
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x40]
push eax
push 0xffffff29
lea ecx, [ebp - 0xf8]
call sym.opencv_core249.dll_public:_void___thiscall_cv::Exception::constructor_int__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___int_
mov byte [ebp - 4], 3
push eax
call sym.opencv_core249.dll_void___cdecl_cv::error_class_cv::Exception_const__
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf8]
call sym.opencv_core249.dll_public_virtual:_void___thiscall_cv::Exception::destructor_void_
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0x10
jb 0x1007d252
push dword [ebp - 0x40]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0
cmp dword [ebp - 0x4c], 0x10
jb 0x1007d279
push dword [ebp - 0x60]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x60], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x6c], 0x10
jb 0x1007d2a3
push dword [ebp - 0x80]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
movsd xmm2, qword [0x101a23f0]
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x80], 0
cmp dword [ebx + 0x14], 1
mov eax, dword [ebp - 0x100]
jne 0x1007de5c
test al, 3
jne 0x1007d3e8
mov edi, dword [ebp - 0x128]
cdq
sub eax, edx
mov dword [ebp - 0x114], 0
mov edx, eax
sar edx, 1
mov eax, edx
mov dword [ebp - 0x14c], edx
shl eax, 4
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x120], eax
test edx, edx
jle 0x1007d3e2
mov edx, dword [ebp - 0x104]
lea edi, [eax + 0x10]
shl edx, 3
mov esi, eax
mov dword [ebp - 0x140], edx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x10c], edx
sub edx, eax
mov dword [ebp - 0xfc], edx
lea esp, [esp]
mov eax, dword [ecx]
movdqu xmm1, xmmword [edx + edi]
mov edx, eax
add edx, edx
movdqu xmm0, xmmword [esi + edx*8]
mov esi, dword [ebp - 0xfc]
movdqu xmmword [esi + edi], xmm0
mov esi, dword [ebp - 0x120]
movdqu xmmword [esi + edx*8], xmm1
cmp eax, dword [ebp - 0x114]
jle 0x1007d3a8
mov esi, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
movdqu xmm0, xmmword [esi + edx*8]
movdqu xmm1, xmmword [eax]
movdqu xmmword [eax], xmm0
mov eax, esi
mov esi, dword [ebp - 0x120]
movdqu xmmword [eax + edx*8], xmm1
movdqu xmm0, xmmword [esi + edx*8 + 0x10]
movdqu xmm1, xmmword [edi]
movdqu xmmword [edi], xmm0
movdqu xmmword [esi + edx*8 + 0x10], xmm1
mov eax, dword [ebp - 0x114]
add edi, 0x20
add dword [ebp - 0x10c], 0x20
add eax, 2
add ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x114], eax
cmp eax, dword [ebp - 0x14c]
jl 0x1007d340
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x174], 0
je 0x1007d454
lea ecx, [eax - 2]
xor edx, edx
test ecx, ecx
js 0x1007d438
mov eax, dword [ebp - 0x108]
add ecx, 2
add eax, 0x18
shr ecx, 1
lea edx, [ecx + ecx]
jmp 0x1007d410
movsd xmm0, qword [eax - 0x10]
lea eax, [eax + 0x20]
xorpd xmm0, xmm2
movsd qword [eax - 0x30], xmm0
movsd xmm0, qword [eax - 0x20]
xorpd xmm0, xmm2
movsd qword [eax - 0x20], xmm0
dec ecx
jne 0x1007d410
mov eax, dword [ebp - 0x100]
cmp edx, eax
jge 0x1007d454
mov ecx, dword [ebp - 0x108]
add eax, eax
movsd xmm0, qword [ecx + eax*8 - 8]
xorpd xmm0, xmm2
movsd qword [ecx + eax*8 - 8], xmm0
mov ecx, dword [ebp - 0x168]
mov edx, 1
mov eax, dword [ecx]
test dl, al
jne 0x1007dabb
cmp eax, 4
jl 0x1007d48a
push 4
call sym.opencv_core249.dll_bool___cdecl_cv::checkHardwareSupport_int_
mov edx, 1
add esp, 4
mov ecx, edx
test al, al
cmovne edx, ecx
mov ecx, dword [ebp - 0x168]
cmp dword [ecx], 4
jl 0x1007d8ed
mov eax, dword [ebp - 0x13c]
mov esi, edx
shl edx, 2
xor ecx, ecx
mov dword [ebp - 0x118], edx
cdq
and edx, 3
mov dword [ebp - 0x114], esi
add eax, edx
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x118]
sar eax, 2
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x100], ecx
jle 0x1007d8cf
mov ecx, dword [ebp - 0x108]
mov eax, esi
shl eax, 4
mov dword [ebp - 0x120], eax
mov eax, edx
shl eax, 4
lea edi, [ecx + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x120]
add ecx, 0x10
add ecx, eax
mov dword [ebp - 0xfc], edi
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x134], ecx
mov ecx, esi
shl ecx, 5
add eax, ecx
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0x10c], 8
sub dword [ebp - 0x10c], ecx
mov dword [ebp - 0x11c], eax
lea edi, [ecx + 8]
mov dword [ebp - 0x104], edi
sub dword [ebp - 0x104], ecx
mov edi, dword [ebp - 0xfc]
lea ecx, [ecx]
cmp dword [ebp - 0x114], 1
mov ecx, dword [ebp - 0x10c]
movsd xmm3, qword [eax]
mov esi, dword [ebp - 0x130]
movapd xmm4, xmm3
movsd xmm6, qword [edi - 8]
movsd xmm2, qword [ecx + eax]
mov ecx, dword [ebp - 0x104]
subsd xmm3, qword [esi + edi - 8]
addsd xmm4, qword [esi + edi - 8]
mov esi, dword [ebp - 0x120]
movsd xmm5, qword [ecx + eax]
movsd xmm7, qword [edi]
addsd xmm5, xmm2
subsd xmm2, qword [ecx + eax]
mov ecx, dword [ebp - 0x130]
movapd xmm0, xmm4
movsd qword [ebp - 0x170], xmm3
movaps xmm3, xmm7
addsd xmm3, qword [esi + edi]
subsd xmm7, qword [esi + edi]
movsd qword [ebp - 0x158], xmm2
movaps xmm2, xmm6
addsd xmm2, qword [esi + edi - 8]
subsd xmm6, qword [esi + edi - 8]
addsd xmm0, xmm2
subsd xmm2, xmm4
movsd qword [edi - 8], xmm0
movapd xmm0, xmm5
addsd xmm0, xmm3
subsd xmm3, xmm5
movsd qword [edi], xmm0
movaps xmm0, xmm6
addsd xmm0, qword [ebp - 0x158]
subsd xmm6, qword [ebp - 0x158]
movsd qword [ecx + edi - 8], xmm2
mov ecx, dword [ebp - 0x10c]
movsd xmm2, qword [ebp - 0x170]
movsd qword [ecx + eax], xmm3
mov ecx, dword [ebp - 0x104]
movsd qword [esi + edi - 8], xmm0
movaps xmm0, xmm7
addsd xmm0, xmm2
subsd xmm7, xmm2
movsd qword [esi + edi], xmm0
movsd qword [ecx + eax], xmm7
mov ecx, dword [ebp - 0x12c]
movsd qword [eax], xmm6
jle 0x1007d891
mov eax, dword [ebp - 0x13c]
mov edx, eax
mov esi, eax
shl edx, 4
shl esi, 5
mov dword [ebp - 0x140], esi
lea ecx, [eax + eax*2]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebx + 0x20]
shl ecx, 4
mov dword [ebp - 0x15c], ecx
add ecx, eax
mov dword [ebp - 0x138], ecx
lea ecx, [edx + eax]
mov edx, dword [ebp - 0x134]
add eax, esi
mov dword [ebp - 0x144], ecx
mov esi, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x148], eax
lea eax, [esi*2 + 1]
add eax, ecx
lea ecx, [ecx + esi*2]
add eax, esi
inc ecx
shl eax, 4
lea esi, [edi + 8]
mov edi, dword [ebp - 0x114]
add eax, dword [ebp - 0x108]
shl ecx, 4
add ecx, dword [ebp - 0x108]
dec edi
mov dword [ebp - 0x124], edi
jmp 0x1007d6e0
movsd xmm5, qword [edx]
movsd xmm2, qword [edx + 8]
movapd xmm4, xmm5
mov edi, dword [ebp - 0x148]
movaps xmm0, xmm2
movsd xmm6, qword [ecx]
movsd xmm7, qword [eax]
mulsd xmm0, qword [edi + 8]
mulsd xmm4, qword [edi]
mulsd xmm2, qword [edi]
mulsd xmm5, qword [edi + 8]
mov edi, dword [ebp - 0x144]
subsd xmm4, xmm0
movaps xmm0, xmm6
mulsd xmm0, qword [edi + 8]
addsd xmm5, xmm2
movsd xmm2, qword [ecx + 8]
mulsd xmm6, qword [edi]
movsd qword [ebp - 0x180], xmm4
movapd xmm4, xmm2
mulsd xmm4, qword [edi]
mulsd xmm2, qword [edi + 8]
mov edi, dword [ebp - 0x138]
movsd qword [ebp - 0x170], xmm5
addsd xmm4, xmm0
movaps xmm0, xmm7
mulsd xmm0, qword [edi + 8]
subsd xmm6, xmm2
movsd xmm2, qword [eax + 8]
mulsd xmm7, qword [edi]
movsd qword [ebp - 0x158], xmm4
movapd xmm4, xmm2
mulsd xmm4, qword [edi]
mulsd xmm2, qword [edi + 8]
mov edi, dword [ebp - 0x140]
add dword [ebp - 0x148], edi
addsd xmm4, xmm0
mov edi, dword [ebp - 0x14c]
movsd xmm0, qword [ebp - 0x158]
subsd xmm7, xmm2
add dword [ebp - 0x144], edi
movsd xmm2, qword [ebp - 0x170]
mov edi, dword [ebp - 0x138]
movapd xmm5, xmm4
add edi, dword [ebp - 0x15c]
addsd xmm5, xmm0
mov dword [ebp - 0x138], edi
subsd xmm0, xmm4
movaps xmm3, xmm7
movsd xmm4, qword [esi]
addsd xmm3, xmm6
subsd xmm7, xmm6
movsd xmm6, qword [esi + 8]
addsd xmm2, xmm6
subsd xmm6, qword [ebp - 0x170]
movsd qword [ebp - 0x158], xmm0
movsd xmm0, qword [ebp - 0x180]
movaps xmm1, xmm0
addsd xmm1, xmm4
subsd xmm4, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm1
subsd xmm1, xmm3
movsd qword [esi], xmm0
movaps xmm0, xmm5
addsd xmm0, xmm2
subsd xmm2, xmm5
movsd qword [esi + 8], xmm0
movaps xmm0, xmm4
addsd xmm0, qword [ebp - 0x158]
subsd xmm4, qword [ebp - 0x158]
movsd qword [ecx], xmm1
add esi, 0x10
movsd qword [ecx + 8], xmm2
movsd qword [edx], xmm0
movaps xmm0, xmm6
addsd xmm0, xmm7
subsd xmm6, xmm7
movsd qword [edx + 8], xmm0
movsd qword [eax], xmm4
movsd qword [eax + 8], xmm6
add ecx, 0x10
add edx, 0x10
add eax, 0x10
dec dword [ebp - 0x124]
jne 0x1007d6e0
mov edi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x134]
add ecx, edx
add esi, dword [ebp - 0x110]
add eax, dword [ebp - 0x110]
add edi, dword [ebp - 0x110]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0xfc], edi
cmp ecx, dword [ebp - 0x100]
jl 0x1007d550
mov ecx, dword [ebp - 0x168]
lea eax, [edx*4]
cmp eax, dword [ecx]
jle 0x1007d493
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
cmp edx, dword [ecx]
jge 0x1007dabb
mov eax, dword [ebp - 0x13c]
jmp 0x1007d900
mov ecx, edx
mov dword [ebp - 0x110], 0
add edx, edx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], edx
cdq
sub eax, edx
mov edx, dword [ebp - 0x118]
sar eax, 1
cmp dword [ebp - 0x100], 0
mov dword [ebp - 0x13c], eax
jle 0x1007daa4
mov esi, ecx
mov ecx, edx
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x108]
mov eax, ecx
shl esi, 4
mov dword [ebp - 0x130], eax
lea edi, [ecx + esi]
neg esi
lea ecx, [edi + 0x10]
mov dword [ebp - 0x140], esi
mov dword [ebp - 0xfc], ecx
lea ebx, [ebx]
cmp dword [ebp - 0x11c], 1
mov ecx, 8
movsd xmm5, qword [esi + edi + 8]
movsd xmm0, qword [edi]
movapd xmm4, xmm5
movsd xmm2, qword [eax]
addsd xmm4, qword [ecx + edi]
subsd xmm5, qword [ecx + edi]
subsd xmm2, xmm0
addsd xmm0, qword [eax]
movsd qword [esi + edi + 8], xmm4
movsd qword [eax], xmm0
movsd qword [ecx + edi], xmm5
mov ecx, dword [ebp - 0x124]
movsd qword [edi], xmm2
jle 0x1007da70
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebx + 0x20]
mov eax, dword [ebp - 0xfc]
shl ecx, 4
add edx, ecx
mov dword [ebp - 0x15c], ecx
lea ecx, [esi + 0x10]
mov esi, dword [ebp - 0x11c]
add ecx, edi
dec esi
jmp 0x1007d9f0
movsd xmm5, qword [edx]
movsd xmm3, qword [eax]
movapd xmm4, xmm5
movsd xmm0, qword [eax + 8]
mulsd xmm0, qword [edx + 8]
mulsd xmm5, qword [eax + 8]
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
mulsd xmm4, xmm3
mulsd xmm3, qword [edx + 8]
add edx, dword [ebp - 0x15c]
subsd xmm4, xmm0
addsd xmm5, xmm3
movapd xmm0, xmm4
addsd xmm0, xmm1
subsd xmm1, xmm4
movsd qword [ecx], xmm0
movapd xmm0, xmm5
addsd xmm0, xmm2
subsd xmm2, xmm5
movsd qword [ecx + 8], xmm0
add ecx, 0x10
movsd qword [eax], xmm1
movsd qword [eax + 8], xmm2
add eax, 0x10
dec esi
jne 0x1007d9f0
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x124]
add dword [ebp - 0x110], edx
add eax, ecx
mov esi, dword [ebp - 0x100]
add edi, ecx
add dword [ebp - 0xfc], ecx
cmp dword [ebp - 0x110], esi
mov esi, dword [ebp - 0x140]
mov dword [ebp - 0x130], eax
jl 0x1007d970
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x168]
cmp edx, dword [ecx]
jl 0x1007d900
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
mov eax, dword [ecx]
not eax
and eax, 1
mov dword [ebp - 0x140], eax
cmp eax, dword [ebx + 0x14]
jge 0x1007e9ab
mov eax, dword [ecx + eax*4]
mov ecx, edx
imul edx, eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x118], edx
cdq
idiv dword [ebp - 0x114]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x114]
cmp eax, 3
jne 0x1007dec4
xor eax, eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x100], eax
jle 0x1007e989
mov edx, ecx
mov eax, ecx
mov ecx, dword [ebp - 0x108]
mov edi, ecx
shl edx, 5
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x118]
mov esi, edx
shl eax, 4
shl esi, 4
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x130], edi
lea esi, [ecx + eax]
lea ecx, [esi + 0x10]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0xfc], ecx
mov ecx, eax
neg ecx
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x114], ecx
sub dword [ebp - 0x114], eax
sub ecx, eax
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x12c]
lea esp, [esp]
mov eax, dword [ebp - 0x114]
movsd xmm4, qword [edi]
movsd xmm7, qword [eax + esi]
mov eax, dword [ebp - 0x10c]
movapd xmm3, xmm7
addsd xmm3, qword [esi]
subsd xmm7, qword [esi]
movsd xmm0, qword [eax + esi + 8]
mov eax, 8
movapd xmm2, xmm0
mulsd xmm7, qword [0x101a2380]
movsd xmm6, qword [esi + eax]
mov eax, dword [ebp - 0x11c]
addsd xmm2, xmm6
subsd xmm6, xmm0
movaps xmm0, xmm4
addsd xmm0, xmm3
mulsd xmm3, qword [0x101a03e0]
movsd xmm5, qword [eax + esi + 8]
mulsd xmm6, qword [0x101a2380]
movsd qword [edi], xmm0
movaps xmm0, xmm5
addsd xmm0, xmm2
mulsd xmm2, qword [0x101a03e0]
subsd xmm4, xmm3
movsd qword [eax + esi + 8], xmm0
movaps xmm0, xmm6
subsd xmm5, xmm2
mov eax, 8
addsd xmm0, xmm4
subsd xmm4, xmm6
movsd qword [esi], xmm0
movaps xmm0, xmm7
addsd xmm0, xmm5
subsd xmm5, xmm7
movsd qword [esi + eax], xmm0
mov eax, dword [ebp - 0x114]
movsd qword [eax + esi], xmm4
mov eax, dword [ebp - 0x10c]
movsd qword [eax + esi + 8], xmm5
mov eax, dword [ebp - 0x104]
cmp ecx, 1
jle 0x1007de0a
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x13c]
mov eax, dword [ebx + 0x20]
shl edx, 5
shl edi, 4
mov dword [ebp - 0x144], edx
add edx, eax
add eax, edi
mov dword [ebp - 0x138], edi
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x14c], eax
add edi, 0x10
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0xfc]
lea eax, [eax + ecx*2]
inc eax
shl eax, 4
add eax, dword [ebp - 0x108]
add edi, esi
lea esi, [ecx - 1]
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x124], esi
mov esi, dword [ebp - 0x14c]
lea ecx, [ecx]
movsd xmm4, qword [edx]
movsd xmm2, qword [edx + 8]
movapd xmm6, xmm4
mulsd xmm4, qword [esi + 8]
movaps xmm0, xmm2
mulsd xmm2, qword [esi]
mulsd xmm0, qword [esi + 8]
movsd xmm3, qword [eax]
mulsd xmm6, qword [esi]
addsd xmm4, xmm2
add esi, dword [ebp - 0x138]
movsd xmm2, qword [ecx + 8]
movapd xmm7, xmm3
mulsd xmm3, xmm2
subsd xmm6, xmm0
movsd qword [ebp - 0x158], xmm4
movsd xmm4, qword [ecx]
movaps xmm0, xmm2
mulsd xmm0, qword [eax + 8]
add ecx, dword [ebp - 0x144]
movsd xmm2, qword [edi]
mulsd xmm7, xmm4
mulsd xmm4, qword [eax + 8]
subsd xmm7, xmm0
movsd xmm0, qword [ebp - 0x158]
addsd xmm4, xmm3
movsd xmm3, qword [edi + 8]
movapd xmm1, xmm7
subsd xmm7, xmm6
addsd xmm1, xmm6
movapd xmm5, xmm4
addsd xmm5, xmm0
subsd xmm0, xmm4
mulsd xmm7, qword [0x101a2380]
mulsd xmm0, qword [0x101a2380]
movsd qword [ebp - 0x158], xmm0
movaps xmm0, xmm2
addsd xmm0, xmm1
mulsd xmm1, qword [0x101a03e0]
movsd qword [edi], xmm0
subsd xmm2, xmm1
movsd xmm1, qword [ebp - 0x158]
movaps xmm0, xmm3
addsd xmm0, xmm5
mulsd xmm5, qword [0x101a03e0]
movsd qword [edi + 8], xmm0
subsd xmm3, xmm5
movaps xmm0, xmm1
add edi, 0x10
addsd xmm0, xmm2
subsd xmm2, xmm1
movsd qword [edx], xmm0
movapd xmm0, xmm7
addsd xmm0, xmm3
subsd xmm3, xmm7
movsd qword [edx + 8], xmm0
add edx, 0x10
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm3
add eax, 0x10
dec dword [ebp - 0x124]
jne 0x1007dcd0
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x130]
mov ecx, dword [ebp - 0xfc]
add eax, edx
add ecx, dword [ebp - 0x110]
add edi, dword [ebp - 0x110]
add esi, dword [ebp - 0x110]
mov dword [ebp - 0xfc], ecx
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x134], esi
cmp eax, dword [ebp - 0x100]
jl 0x1007db90
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
jmp 0x1007e98f
xor edx, edx
test eax, eax
jle 0x1007d3e8
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x108]
shl eax, 2
mov dword [ebp - 0xfc], eax
mov esi, eax
lea ecx, [ecx]
mov eax, dword [ecx]
cmp eax, edx
jle 0x1007dea6
mov esi, dword [ebp - 0x108]
add eax, eax
movdqu xmm1, xmmword [edi]
movdqu xmm0, xmmword [esi + eax*8]
movdqu xmmword [edi], xmm0
movdqu xmmword [esi + eax*8], xmm1
mov esi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
inc edx
add edi, 0x10
add ecx, esi
cmp edx, eax
jl 0x1007de80
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
jmp 0x1007d3e8
cmp eax, 5
jne 0x1007e34a
mov edx, dword [ebp - 0x118]
xor eax, eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x100], eax
jle 0x1007e98f
mov edi, dword [ebp - 0x108]
mov esi, edx
shl esi, 4
mov dword [ebp - 0x130], esi
mov esi, ecx
shl esi, 4
add esi, edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x138], esi
jmp 0x1007df10
test ecx, ecx
jle 0x1007e310
mov edx, dword [ebp - 0x13c]
mov eax, edx
shl eax, 5
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x104]
lea eax, [edx + edx*2]
shl eax, 4
mov dword [ebp - 0x120], eax
mov eax, edx
shl eax, 6
mov dword [ebp - 0x148], eax
lea esi, [edi + ecx*2]
mov eax, edx
shl esi, 4
mov edx, dword [ebp - 0x108]
add esi, edx
shl eax, 4
mov dword [ebp - 0x144], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x15c], esi
lea esi, [edi + ecx*4]
mov edi, dword [ebp - 0x138]
shl esi, 4
lea eax, [eax + ecx*2]
mov dword [ebp - 0x10c], edi
mov edi, dword [ebp - 0x15c]
add eax, ecx
shl eax, 4
add eax, edx
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp - 0x14c]
add esi, edx
mov edx, dword [ebp - 0x10c]
movsd xmm7, qword [edx]
mov edx, dword [ebp - 0x114]
movapd xmm6, xmm7
movsd xmm4, qword [esi]
movsd xmm5, qword [esi + 8]
movsd xmm3, qword [edx]
mov edx, dword [ebp - 0x10c]
mulsd xmm6, xmm3
movsd xmm2, qword [edx + 8]
mov edx, dword [ebp - 0x114]
movapd xmm0, xmm2
mulsd xmm2, xmm3
movaps xmm3, xmm4
mulsd xmm0, qword [edx + 8]
mulsd xmm7, qword [edx + 8]
mov edx, dword [ebp - 0xfc]
subsd xmm6, xmm0
movapd xmm0, xmm5
mulsd xmm0, qword [edx + 8]
addsd xmm7, xmm2
mulsd xmm3, qword [edx]
mulsd xmm4, qword [edx + 8]
mulsd xmm5, qword [edx]
mov edx, dword [ebp - 0x110]
subsd xmm3, xmm0
movsd xmm2, qword [eax + 8]
addsd xmm5, xmm4
movsd xmm4, qword [eax]
movapd xmm0, xmm3
addsd xmm0, xmm6
subsd xmm6, xmm3
movsd qword [ebp - 0x158], xmm0
movapd xmm0, xmm5
addsd xmm0, xmm7
movsd xmm1, qword [ebp - 0x158]
subsd xmm7, xmm5
movsd qword [ebp - 0x150], xmm6
movsd xmm5, qword [edi]
movsd qword [ebp - 0x188], xmm0
movapd xmm0, xmm2
mulsd xmm2, qword [edx]
mulsd xmm0, qword [edx + 8]
movsd qword [ebp - 0x170], xmm7
movaps xmm7, xmm4
mulsd xmm4, qword [edx + 8]
mulsd xmm7, qword [edx]
mov edx, dword [ebp - 0x134]
addsd xmm4, xmm2
movsd xmm2, qword [edi + 8]
subsd xmm7, xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [edx + 8]
mulsd xmm2, qword [edx]
movsd qword [ebp - 0x180], xmm4
movaps xmm4, xmm5
mulsd xmm4, qword [edx]
mulsd xmm5, qword [edx + 8]
subsd xmm4, xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm5, xmm2
movaps xmm3, xmm4
addsd xmm3, xmm7
movapd xmm6, xmm5
subsd xmm7, xmm4
movsd xmm4, qword [ebp - 0x188]
addsd xmm6, xmm0
subsd xmm0, xmm5
movaps xmm2, xmm4
movsd xmm5, qword [ecx]
addsd xmm1, xmm3
movsd qword [ebp - 0x160], xmm7
movsd xmm7, qword [ecx + 8]
addsd xmm2, xmm6
movsd qword [ebp - 0x180], xmm0
movaps xmm0, xmm1
mulsd xmm1, qword [0x101a2360]
addsd xmm0, xmm5
movsd qword [ecx], xmm0
movaps xmm0, xmm2
addsd xmm0, xmm7
movsd qword [ecx + 8], xmm0
mulsd xmm2, qword [0x101a2360]
subsd xmm4, xmm6
mov edx, dword [ebp - 0x10c]
add ecx, 0x10
movsd xmm0, qword [ebp - 0x160]
subsd xmm5, xmm1
movsd xmm1, qword [ebp - 0x180]
movsd xmm6, qword [ebp - 0x150]
mulsd xmm4, qword [0x101a2370]
subsd xmm7, xmm2
movsd xmm2, qword [ebp - 0x158]
subsd xmm2, xmm3
movaps xmm3, xmm0
mulsd xmm0, qword [0x101a23c8]
addsd xmm3, xmm6
mulsd xmm6, qword [0x101a2368]
movsd qword [ebp - 0x188], xmm4
movaps xmm4, xmm1
mulsd xmm2, qword [0x101a2370]
addsd xmm4, qword [ebp - 0x170]
mulsd xmm1, qword [0x101a2390]
mulsd xmm3, qword [0x101a23c0]
mulsd xmm4, qword [0x101a2388]
movsd qword [ebp - 0x158], xmm2
movsd xmm2, qword [ebp - 0x170]
addsd xmm6, xmm3
mulsd xmm2, qword [0x101a23b8]
subsd xmm3, xmm0
addsd xmm2, xmm4
subsd xmm4, xmm1
movaps xmm1, xmm5
addsd xmm1, qword [ebp - 0x158]
subsd xmm5, qword [ebp - 0x158]
movsd qword [ebp - 0x170], xmm2
movaps xmm2, xmm7
addsd xmm2, qword [ebp - 0x188]
subsd xmm7, qword [ebp - 0x188]
movaps xmm0, xmm4
addsd xmm0, xmm1
subsd xmm1, xmm4
movsd qword [edx], xmm0
movaps xmm0, xmm3
addsd xmm0, xmm2
subsd xmm2, xmm3
movsd qword [edx + 8], xmm0
mov edx, dword [ebp - 0x114]
add edx, dword [ebp - 0x144]
movsd qword [esi], xmm1
movsd xmm1, qword [ebp - 0x170]
mov dword [ebp - 0x114], edx
movaps xmm0, xmm1
mov edx, dword [ebp - 0xfc]
addsd xmm0, xmm5
add edx, dword [ebp - 0x148]
subsd xmm5, xmm1
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x120]
movsd qword [esi + 8], xmm2
add esi, 0x10
movsd qword [edi], xmm0
movaps xmm0, xmm6
mov dword [ebp - 0x110], edx
addsd xmm0, xmm7
mov edx, dword [ebp - 0x134]
subsd xmm7, xmm6
add edx, dword [ebp - 0x164]
mov dword [ebp - 0x134], edx
mov edx, dword [ebp - 0x10c]
movsd qword [edi + 8], xmm0
add edx, 0x10
movsd qword [eax], xmm5
add edi, 0x10
movsd qword [eax + 8], xmm7
add eax, 0x10
dec dword [ebp - 0x11c]
mov dword [ebp - 0x10c], edx
jne 0x1007dfc2
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x104]
mov esi, dword [ebp - 0x138]
mov edi, dword [ebp - 0x124]
add edi, dword [ebp - 0x130]
add eax, edx
add esi, dword [ebp - 0x130]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x138], esi
cmp eax, dword [ebp - 0x100]
jl 0x1007df10
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
jmp 0x1007e98f
dec eax
mov dword [ebp - 0x148], 0
cdq
sub eax, edx
mov ecx, eax
mov eax, esi
cdq
idiv dword [ebp - 0x114]
sar ecx, 1
mov dword [ebp - 0x130], eax
mov eax, ecx
shl eax, 4
add eax, edi
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0x100], 0
mov dword [ebp - 0x120], eax
jle 0x1007e989
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x100]
lea ecx, [ecx]
xor edi, edi
mov dword [ebp - 0x134], edi
test edx, edx
jle 0x1007e96a
mov eax, dword [ebp - 0x13c]
xor esi, esi
mov ecx, eax
mov dword [ebp - 0x10c], esi
shl ecx, 4
mov dword [ebp - 0x154], ecx
mov ecx, eax
neg ecx
mov dword [ebp - 0x144], esi
shl ecx, 4
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp - 0x114]
imul ecx, eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x138], eax
shl ecx, 4
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x104]
lea ecx, [ecx]
add edi, dword [ebp - 0x148]
mov edx, dword [ebp - 0x12c]
shl edi, 4
add edi, dword [ebp - 0x108]
cmp dword [ebp - 0x134], 0
mov dword [ebp - 0x124], edi
movdqu xmm1, xmmword [edi]
movaps xmm2, xmm1
movss dword [ebp - 0x198], xmm1
movaps xmm3, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm4, xmm1
shufps xmm3, xmm1, 0xaa
shufps xmm4, xmm1, 0xff
movdqu xmmword [ebp - 0x1c8], xmm1
movaps xmmword [ebp - 0x80], xmm2
movss dword [ebp - 0x194], xmm2
movaps xmmword [ebp - 0x60], xmm3
movss dword [ebp - 0x190], xmm3
movaps xmmword [ebp - 0x40], xmm4
movss dword [ebp - 0x18c], xmm4
jne 0x1007e55c
cmp ecx, 1
jl 0x1007e70b
mov ecx, dword [ebp - 0x118]
mov eax, edx
sub ecx, dword [ebp - 0x12c]
movsd xmm6, qword [ebp - 0x190]
movsd xmm7, qword [ebp - 0x198]
shl eax, 4
mov dword [ebp - 0xfc], eax
shl ecx, 4
add ecx, edi
lea esi, [eax + edi]
mov eax, edx
mov edx, dword [ebp - 0x128]
neg eax
shl eax, 4
add edx, 8
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x15c]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x120]
lea ecx, [ecx]
movsd xmm5, qword [esi]
movsd xmm4, qword [ecx + 8]
movsd xmm3, qword [ecx]
movsd xmm2, qword [esi + 8]
addsd xmm3, xmm5
subsd xmm5, qword [ecx]
add ecx, dword [ebp - 0x14c]
subsd xmm2, xmm4
addsd xmm4, qword [esi + 8]
add esi, dword [ebp - 0xfc]
movsd qword [edx - 8], xmm3
addsd xmm7, xmm3
movsd qword [edx], xmm2
movsd qword [eax], xmm5
addsd xmm6, xmm4
movsd qword [edi + edx], xmm4
add eax, 0x10
add edx, 0x10
dec dword [ebp - 0x11c]
jne 0x1007e4f0
movsd qword [ebp - 0x190], xmm6
movsd qword [ebp - 0x198], xmm7
jmp 0x1007e6dc
cmp ecx, 1
jl 0x1007e70b
mov ecx, edx
shl ecx, 4
mov dword [ebp - 0x14c], ecx
add ecx, edi
mov dword [ebp - 0x164], ecx
lea ecx, [esi + eax]
mov esi, dword [ebp - 0x138]
mov eax, edx
mov edx, dword [ebp - 0x128]
neg eax
sub esi, dword [ebp - 0x10c]
add edx, 8
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x118]
sub ecx, dword [ebp - 0x12c]
shl eax, 4
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x120]
shl ecx, 4
mov dword [ebp - 0xfc], eax
add ecx, edi
sub eax, dword [ebp - 0x128]
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x164]
jmp 0x1007e5f0
movsd xmm1, qword [edi + 8]
movsd xmm5, qword [eax + 8]
movsd xmm7, qword [eax]
movapd xmm0, xmm5
mulsd xmm7, qword [edi]
movsd xmm6, qword [ecx]
movsd xmm2, qword [ecx + 8]
movapd xmm4, xmm6
mulsd xmm4, qword [esi]
add ecx, dword [ebp - 0x184]
mulsd xmm5, qword [edi]
mov edi, dword [ebp - 0xfc]
mulsd xmm6, qword [esi + 8]
add dword [ebp - 0xfc], 0x10
mulsd xmm0, xmm1
mulsd xmm1, qword [eax]
add eax, dword [ebp - 0x14c]
subsd xmm7, xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [esi + 8]
mulsd xmm2, qword [esi]
addsd xmm5, xmm1
add esi, dword [ebp - 0x144]
subsd xmm4, xmm0
addsd xmm6, xmm2
movaps xmm1, xmm5
movapd xmm2, xmm4
addsd xmm2, xmm7
subsd xmm1, xmm6
subsd xmm7, xmm4
addsd xmm6, xmm5
movapd xmm0, xmm2
movsd qword [edx - 8], xmm2
addsd xmm0, qword [ebp - 0x198]
movsd qword [edx], xmm1
movsd qword [edi], xmm7
mov edi, dword [ebp - 0x15c]
movsd qword [ebp - 0x198], xmm0
movapd xmm0, xmm6
addsd xmm0, qword [ebp - 0x190]
movsd qword [edx + edi], xmm6
add edx, 0x10
mov edi, dword [ebp - 0x110]
add edi, dword [ebp - 0x10c]
dec dword [ebp - 0x11c]
movsd qword [ebp - 0x190], xmm0
mov dword [ebp - 0x110], edi
jne 0x1007e5f0
mov esi, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0x124]
mov eax, dword [ebx + 0x20]
movaps xmm4, xmmword [ebp - 0x40]
movaps xmm3, xmmword [ebp - 0x60]
movaps xmm2, xmmword [ebp - 0x80]
movdqu xmm1, xmmword [ebp - 0x1c8]
movdqu xmm0, xmmword [ebp - 0x198]
movdqu xmmword [edi], xmm0
cmp ecx, 1
jl 0x1007e91f
mov eax, dword [ebp - 0x130]
mov ecx, edx
shl ecx, 4
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0xfc], eax
lea esi, [ecx + edi]
mov ecx, edx
mov edx, dword [ebp - 0x118]
neg ecx
sub edx, dword [ebp - 0x12c]
shl ecx, 4
shl edx, 4
add edx, edi
mov dword [ebp - 0x124], esi
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x14c], edi
movss dword [ebp - 0x1b8], xmm1
mov ecx, eax
movss dword [ebp - 0x1b4], xmm2
movss dword [ebp - 0x1b0], xmm3
movss dword [ebp - 0x1ac], xmm4
movss dword [ebp - 0x1a8], xmm1
movss dword [ebp - 0x1a4], xmm2
movss dword [ebp - 0x1a0], xmm3
movss dword [ebp - 0x19c], xmm4
test edi, edi
jle 0x1007e8c8
mov esi, dword [ebp - 0x128]
mov eax, esi
mov edx, dword [ebp - 0x120]
movsd xmm5, qword [ebp - 0x1b0]
add edx, 8
sub eax, dword [ebp - 0x120]
movsd xmm6, qword [ebp - 0x1b8]
movsd xmm7, qword [ebp - 0x1a0]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x11c], edi
mov edi, dword [ebx + 0x20]
mov eax, ecx
movsd xmm3, qword [esi]
add eax, eax
movsd xmm2, qword [edx - 8]
add ecx, dword [ebp - 0xfc]
movsd xmm4, qword [edi + eax*8]
movsd xmm0, qword [edi + eax*8 + 8]
mov eax, dword [ebp - 0x184]
mulsd xmm3, xmm4
mulsd xmm4, qword [edx]
movsd xmm1, qword [eax + edx]
xor eax, eax
cmp ecx, dword [ebx + 0x24]
mulsd xmm1, xmm0
setge al
add esi, 0x10
mulsd xmm2, xmm0
neg eax
and eax, dword [ebx + 0x24]
add edx, 0x10
sub ecx, eax
dec dword [ebp - 0x11c]
movaps xmm0, xmm1
addsd xmm0, xmm3
subsd xmm3, xmm1
addsd xmm0, qword [ebp - 0x1a8]
addsd xmm6, xmm3
movsd qword [ebp - 0x1a8], xmm0
movaps xmm0, xmm4
subsd xmm0, xmm2
addsd xmm2, xmm4
addsd xmm7, xmm0
addsd xmm5, xmm2
jne 0x1007e7f5
movdqu xmm1, xmmword [ebp - 0x1c8]
mov eax, dword [ebp - 0xfc]
movaps xmm2, xmmword [ebp - 0x80]
movaps xmm3, xmmword [ebp - 0x60]
movaps xmm4, xmmword [ebp - 0x40]
mov edx, dword [ebp - 0x110]
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0x104]
movsd qword [ebp - 0x1b0], xmm5
movsd qword [ebp - 0x1b8], xmm6
movsd qword [ebp - 0x1a0], xmm7
movdqu xmm0, xmmword [ebp - 0x1b8]
add eax, dword [ebp - 0x130]
mov dword [ebp - 0xfc], eax
movdqu xmmword [esi], xmm0
add esi, dword [ebp - 0x164]
movdqu xmm0, xmmword [ebp - 0x1a8]
mov dword [ebp - 0x124], esi
movdqu xmmword [edx], xmm0
add edx, dword [ebp - 0x15c]
dec dword [ebp - 0x14c]
mov dword [ebp - 0x110], edx
jne 0x1007e770
mov eax, dword [ebx + 0x20]
mov edx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x17c]
inc edi
add dword [ebp - 0x138], ecx
mov ecx, dword [ebp - 0x16c]
add dword [ebp - 0x144], ecx
add esi, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x10c], esi
cmp edi, edx
jl 0x1007e400
mov eax, dword [ebp - 0x118]
mov esi, dword [ebp - 0x100]
mov edi, dword [ebp - 0x148]
add edi, eax
mov dword [ebp - 0x148], edi
cmp edi, esi
jl 0x1007e3a0
mov esi, dword [ebx + 0x24]
mov edi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x140], eax
cmp eax, dword [ebx + 0x14]
jl 0x1007dad1
movsd xmm3, qword [ebx + 0x34]
ucomisd xmm3, qword [0x1019b448]
lahf
test ah, 0x44
jnp 0x1007eb87
cmp dword [ebp - 0x174], 0
movsd xmm5, xmm3
unpcklpd xmm5, xmm5
movapd xmm2, xmm3
je 0x1007e9df
xorpd xmm2, xmmword [0x101a23f0]
mov edx, dword [ebp - 0x100]
movsd xmm4, xmm2
xor ecx, ecx
unpcklpd xmm4, xmm4
test edx, edx
jle 0x1007ebfe
cmp edx, 4
jb 0x1007eaa2
mov eax, edx
and eax, 0x80000003
jns 0x1007ea0e
dec eax
or eax, 0xfffffffc
inc eax
mov esi, dword [ebp - 0x108]
sub edx, eax
lea eax, [esi + 8]
lea esp, [esp]
movsd xmm0, qword [eax + 8]
lea eax, [eax + 0x40]
movsd xmm1, qword [eax - 0x48]
add ecx, 4
unpcklpd xmm1, xmm0
movsd xmm0, qword [eax - 0x30]
mulpd xmm1, xmm5
movhpd qword [eax - 0x38], xmm1
movlpd qword [eax - 0x48], xmm1
movsd xmm1, qword [eax - 0x40]
unpcklpd xmm1, xmm0
movsd xmm0, qword [eax - 0x18]
mulpd xmm1, xmm4
movhpd qword [eax - 0x30], xmm1
movlpd qword [eax - 0x40], xmm1
movsd xmm1, qword [eax - 0x28]
unpcklpd xmm1, xmm0
movsd xmm0, qword [eax - 0x10]
mulpd xmm1, xmm5
movlpd qword [eax - 0x28], xmm1
movhpd qword [eax - 0x18], xmm1
movsd xmm1, qword [eax - 0x20]
unpcklpd xmm1, xmm0
mulpd xmm1, xmm4
movlpd qword [eax - 0x20], xmm1
movhpd qword [eax - 0x10], xmm1
cmp ecx, edx
jl 0x1007ea20
mov edx, dword [ebp - 0x100]
jmp 0x1007eaa8
mov esi, dword [ebp - 0x108]
cmp ecx, edx
jge 0x1007ebfe
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x1007eb4d
sub edx, ecx
lea eax, [ecx + 1]
sub edx, 4
shl eax, 4
shr edx, 2
add eax, esi
inc edx
lea ecx, [ecx + edx*4]
movsd xmm0, qword [eax - 0x10]
lea eax, [eax + 0x40]
mulsd xmm0, xmm3
movsd qword [eax - 0x50], xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [eax - 0x48]
movsd qword [eax - 0x48], xmm0
movsd xmm0, qword [eax - 0x40]
mulsd xmm0, xmm3
movsd qword [eax - 0x40], xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [eax - 0x38]
movsd qword [eax - 0x38], xmm0
movsd xmm0, qword [eax - 0x30]
mulsd xmm0, xmm3
movsd qword [eax - 0x30], xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [eax - 0x28]
movsd qword [eax - 0x28], xmm0
movsd xmm0, qword [eax - 0x20]
mulsd xmm0, xmm3
movsd qword [eax - 0x20], xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [eax - 0x18]
movsd qword [eax - 0x18], xmm0
dec edx
jne 0x1007ead1
mov edx, dword [ebp - 0x100]
cmp ecx, edx
jge 0x1007ebfe
mov eax, ecx
shl eax, 4
add eax, esi
sub edx, ecx
mov edi, edi
lea eax, [eax + 0x10]
movapd xmm0, xmm3
mulsd xmm0, qword [eax - 0x10]
movsd qword [eax - 0x10], xmm0
movapd xmm0, xmm2
mulsd xmm0, qword [eax - 8]
movsd qword [eax - 8], xmm0
dec edx
jne 0x1007eb60
jmp 0x1007ebfe
cmp dword [ebp - 0x174], 0
je 0x1007ebfe
mov eax, dword [ebp - 0x100]
xor edx, edx
mov esi, dword [ebp - 0x108]
movsd xmm1, qword [0x101a23f0]
lea ecx, [eax - 2]
test ecx, ecx
js 0x1007ebe8
add ecx, 2
lea eax, [esi + 0x18]
shr ecx, 1
lea edx, [ecx + ecx]
jmp 0x1007ebc0
movsd xmm0, qword [eax - 0x10]
lea eax, [eax + 0x20]
xorpd xmm0, xmm1
movsd qword [eax - 0x30], xmm0
movsd xmm0, qword [eax - 0x20]
xorpd xmm0, xmm1
movsd qword [eax - 0x20], xmm0
dec ecx
jne 0x1007ebc0
mov eax, dword [ebp - 0x100]
cmp edx, eax
jge 0x1007ebfe
add eax, eax
movsd xmm0, qword [esi + eax*8 - 8]
xorpd xmm0, xmm1
movsd qword [esi + eax*8 - 8], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10176850
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret