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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x274
mov esi, ecx
mov ebx, edx
mov edi, eax
test byte [0x76e5d0], 1
je 0x513b29
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
mov dword [esp + 0x38], edx
cmp edx, 0xffffffff
je 0x5157ce
mov eax, dword [0x6e6c10]
mov dword [esp + 0x20], eax
movups xmm0, xmmword [0x688090]
movups xmm1, xmmword [0x6880a0]
movsd xmm2, qword [0x6880b0]
movups xmmword [0x6e6b50], xmm0
movups xmmword [0x6e6b60], xmm1
movsd qword [0x6e6b70], xmm2
movups xmmword [0x6e6b80], xmm0
movups xmmword [0x6e6b90], xmm1
movsd qword [0x6e6ba0], xmm2
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x51573e
cmp dword [esp + 0x3c], 1
je 0x513596
cmp dword [esp + 0x3c], 2
jne 0x51353b
mov eax, dword [ebp + 0x30]
lea ecx, [esp + 0x210]
mov dword [ecx], 0
lea edx, [esp + 0x1b0]
mov dword [edx], 0x28
movsd xmm0, qword [eax]
mov dword [edx + 4], 0x6e6b50
movsd qword [edx + 8], xmm0
push 0x120
push 0x6d0f1c
push edx
push 0x687a60
push 0x8384ff00
push ecx
call fcn.005d8370
jmp 0x5135db
cmp dword [esp + 0x3c], 3
jne 0x513592
mov eax, dword [ebp + 0x34]
lea ecx, [esp + 0x210]
mov dword [ecx], 0
lea edx, [esp + 0x180]
mov dword [edx], 0x28
movups xmm0, xmmword [eax]
mov dword [edx + 4], 0x6e6b50
movups xmmword [edx + 8], xmm0
push 0x120
push 0x6d0ed8
push edx
push 0x687a68
push 0x8384ff00
push ecx
call fcn.005d8370
add esp, 0x18
mov ecx, 0x24
jmp 0x5135e3
xor ecx, ecx
jmp 0x5135e3
mov eax, dword [ebp + 0x2c]
lea ecx, [esp + 0x1d8]
mov dword [ecx + 0x38], 0
mov dword [ecx], 0x28
mov edx, dword [eax]
lea eax, [esp + 0x210]
mov dword [eax - 0x34], 0x6e6b50
mov dword [eax - 0x30], edx
push 0x120
push 0x6d0f3c
push ecx
push 0x687a70
push 0x8384ff00
push eax
call fcn.005d8370
add esp, 0x18
mov ecx, 0x11
xor eax, eax
xor edx, edx
test ecx, ecx
movd xmm1, ecx
cmovg edx, ecx
pxor xmm0, xmm0
punpckldq xmm1, xmm0
movd xmm2, edx
mov edx, dword [esp + 0x20]
punpckldq xmm2, xmm0
movdqu xmmword [esp + 0x40], xmm2
lea edx, [edx + 0x6e4600]
mov dword [esp], edx
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e6b50
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], eax
mov dword [esp + 0x50], ecx
call fcn.005b4070
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [0x6e6c10], eax
cmp dword [0x81ea58], 1
je 0x515558
mov edi, dword [edi]
cmp edi, 1
je 0x5150a1
mov eax, dword [ebp + 0x20]
mov esi, dword [eax]
cmp esi, dword [esp + 0x38]
jne 0x51367c
cmp dword [0x81ea58], 1
je 0x513b36
lea ebx, [esp + 0x210]
jmp 0x5136b5
test esi, esi
jne 0x513b29
mov eax, dword [esp + 0x38]
cdq
mov ecx, dword [ebp + 0x1c]
xor eax, edx
sub eax, edx
cmp eax, dword [ecx]
jne 0x513b29
cmp dword [0x81ea58], 1
je 0x513b36
lea ebx, [esp + 0x210]
cmp edi, 1
je 0x514fd9
push 0x168
push 0x6e4600
call fcn.004e3080
xor edx, edx
test eax, eax
mov dword [esp + 0x218], edx
lea ecx, [esp + 0x210]
cmovl eax, edx
mov dword [ecx], eax
mov dword [ecx + 4], 0x6e4600
push 0x120
push 0x6d0ecc
push ecx
push 0x687a78
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
add esp, 0x24
mov edx, dword [0x81ea58]
cmp edx, dword [0x81ea50]
jne 0x513b29
mov dword [esp + 0x210], 0
push 0x120
push 0x8384ff01
push 0x2c
push ebx
call fcn.005deea0
add esp, 0x10
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea edx, [esp + 0x1f8]
mov dword [edx], 0x168
mov dword [edx + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edx
push 0x687a80
push 0x8384ff03
push 0x2c
push ebx
call fcn.005cb620
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea edx, [esp + 0x1f0]
mov dword [edx], 0x168
mov dword [edx + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edx
push 0x687a88
push 0x8384ff03
push 0x2c
push ebx
call fcn.005cb620
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov edx, dword [ebp + 0x1c]
mov ecx, dword [edx]
mov dword [esp + 0x84], ecx
lea edx, [esi + ecx]
mov ecx, dword [0x81ea50]
cmp edi, 1
jne 0x5137f7
dec ecx
test edx, edx
jle 0x5138c9
cmp edx, 4
jl 0x514f92
mov dword [esp + 0x20], 0
mov eax, edx
movups xmm1, xmmword [str.9Y__F9Y__F9Y__]
and eax, 0xfffffffc
movups xmm0, xmmword [0x688040]
pxor xmm2, xmm2
mov ebx, dword [esp + 0x20]
nop dword [eax + eax]
movups xmmword [ebx*8 + 0x6e4900], xmm2
movups xmmword [ebx*8 + 0x6e4960], xmm2
movups xmmword [ebx*8 + 0x6e49c0], xmm1
movups xmmword [ebx*8 + 0x6e4a20], xmm0
movups xmmword [ebx*8 + 0x6e4910], xmm2
movups xmmword [ebx*8 + 0x6e4970], xmm2
movups xmmword [ebx*8 + 0x6e49d0], xmm1
movups xmmword [ebx*8 + 0x6e4a30], xmm0
add ebx, 4
cmp ebx, eax
jb 0x513830
lea ebx, [esp + 0x210]
cmp eax, edx
jae 0x5138bf
movsd xmm1, qword [str.9Y__F9Y__]
movsd xmm0, qword [0x688338]
pxor xmm2, xmm2
movsd qword [eax*8 + 0x6e4900], xmm2
movsd qword [eax*8 + 0x6e4960], xmm2
movsd qword [eax*8 + 0x6e49c0], xmm1
movsd qword [eax*8 + 0x6e4a20], xmm0
inc eax
cmp eax, edx
jb 0x513896
test ecx, ecx
jle 0x513bc7
jmp 0x5138d1
test ecx, ecx
jle 0x513d09
xor eax, eax
test edx, edx
mov dword [esp + 0x20], 1
cmovns eax, edx
mov dword [esp + 0x24], eax
mov eax, edx
mov dword [esp + 0x3c], edi
and eax, 0xfffffffe
mov dword [esp + 0x28], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xfc], esi
mov esi, edx
mov edi, dword [esp + 0x20]
mov dword [esp + 0x210], 0
lea ecx, [esp + 0x10c]
mov dword [ecx + 0xf4], ecx
push 0x120
lea ecx, [esp + 0x204]
push ecx
push 0x687a90
push 0x8384ff03
push 0x2c
push ebx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x513985
mov ecx, 1
mov dword [esp + 0x168], ecx
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x174], ecx
lea ecx, [esp + 0x168]
mov dword [ecx + 4], 0x6e4a80
mov dword [ecx + 0x10], 8
push ecx
push 0x687a98
push ebx
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
test esi, esi
jle 0x513aa1
cmp esi, 2
jl 0x514fb2
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov edx, eax
nop
movups xmm3, xmmword [ecx*8 + 0x6e4a80]
movaps xmm0, xmm3
movaps xmm2, xmm3
mulpd xmm0, xmm3
minpd xmm2, xmmword [ecx*8 + 0x6e49c0]
addpd xmm0, xmmword [ecx*8 + 0x6e4900]
movups xmm1, xmmword [ecx*8 + 0x6e4960]
addpd xmm1, xmm3
maxpd xmm3, xmmword [ecx*8 + 0x6e4a20]
movups xmmword [ecx*8 + 0x6e4900], xmm0
movups xmmword [ecx*8 + 0x6e4960], xmm1
movups xmmword [ecx*8 + 0x6e49c0], xmm2
movups xmmword [ecx*8 + 0x6e4a20], xmm3
add ecx, 2
cmp ecx, edx
jb 0x5139b0
cmp eax, esi
jae 0x513a8e
nop dword [eax + eax]
nop dword [eax]
movsd xmm3, qword [eax*8 + 0x6e4a80]
movaps xmm0, xmm3
movaps xmm2, xmm3
mulsd xmm0, qword [eax*8 + 0x6e4a80]
minsd xmm2, qword [eax*8 + 0x6e49c0]
maxsd xmm3, qword [eax*8 + 0x6e4a20]
addsd xmm0, qword [eax*8 + 0x6e4900]
movsd xmm1, qword [eax*8 + 0x6e4960]
movsd qword [eax*8 + 0x6e4900], xmm0
movsd qword [eax*8 + 0x6e49c0], xmm2
movsd qword [eax*8 + 0x6e4a20], xmm3
addsd xmm1, qword [eax*8 + 0x6e4a80]
movsd qword [eax*8 + 0x6e4960], xmm1
inc eax
cmp eax, esi
jb 0x513a20
inc edi
cmp edi, dword [esp + 0x9c]
jle 0x513905
jmp 0x514f99
inc edi
cmp edi, dword [esp + 0x9c]
jle 0x513905
jmp 0x514fb9
push 0x2e
push str.Unable_to_write_Multiple_Run_Statistics_due_to
mov edx, 0x687aa0
push edx
push edx
push 0x76e2e8
push 0x76e2e0
call fcn.0053e690
push 0x34
push str.an_error_during_reading_of_multiple_run_output_file_
push 0x687aa4
push 0x687aa0
push 0x76e2e8
push 0x76e2e0
call fcn.0053e690
push 0xc
push 0x687aa8
push str.MRUNO
call fcn.00471080
add esp, 0x3c
xor edx, edx
mov dword [esp + 0x210], edx
push 0x120
push edx
push 0x687aac
push 0x8384ff00
push 0x2c
push ebx
call fcn.005caae0
add esp, 0x18
add esp, 0x274
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x210], 0
lea ebx, [esp + 0x210]
mov dword [ebx - 0x48], 0x18
lea edx, [esp + 0x1c8]
mov dword [edx + 4], str.Multiple_Run_Output_File
push 0x120
push edx
push 0x687ab4
push 0x8384ff00
push 0x2c
push ebx
call fcn.005b4d50
push 0x168
push 0x6e4ae0
call fcn.004e3080
xor edx, edx
test eax, eax
mov dword [esp + 0x230], edx
lea ecx, [esp + 0x1f0]
cmovl eax, edx
mov dword [ecx], eax
mov dword [ecx + 4], 0x6e4ae0
push 0x120
push 0x6d0ecc
push ecx
push 0x687abc
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
add esp, 0x3c
jmp 0x5136ac
cmp edx, 2
jl 0x514f85
mov eax, edx
and eax, 0xfffffffe
pxor xmm1, xmm1
mov dword [esp + 0x24], eax
lea eax, [ecx - 1]
mov dword [esp + 0x20], 0
mov dword [esp + 0xfc], esi
mov dword [esp + 0x3c], edi
imul eax, ecx
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
nop
pxor xmm2, xmm2
pxor xmm4, xmm4
cvtsi2sd xmm2, ecx
cvtsi2sd xmm4, eax
movups xmm0, xmmword [esi*8 + 0x6e4960]
movaps xmm5, xmm1
unpcklpd xmm2, xmm2
movaps xmm3, xmm0
mulpd xmm3, xmmword [esi*8 + 0x6e4960]
mulpd xmm2, xmmword [esi*8 + 0x6e4900]
subpd xmm2, xmm3
maxpd xmm5, xmm2
unpcklpd xmm4, xmm4
pxor xmm7, xmm7
divpd xmm5, xmm4
cvtsi2sd xmm7, ecx
sqrtpd xmm6, xmm5
unpcklpd xmm7, xmm7
divpd xmm0, xmm7
movups xmmword [esi*8 + 0x6e4900], xmm6
movups xmmword [esi*8 + 0x6e4960], xmm0
add esi, 2
cmp esi, edi
jb 0x513c00
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x3c]
cmp edx, dword [esp + 0x24]
jbe 0x513d09
mov dword [esp + 0x3c], edi
lea eax, [ecx - 1]
imul eax, ecx
mov edi, dword [esp + 0x24]
nop dword [eax]
nop dword [eax]
pxor xmm1, xmm1
pxor xmm2, xmm2
cvtsi2sd xmm1, ecx
cvtsi2sd xmm2, eax
mulsd xmm1, qword [edi*8 + 0x6e4900]
movsd xmm5, qword [edi*8 + 0x6e4960]
pxor xmm3, xmm3
movaps xmm0, xmm5
pxor xmm4, xmm4
mulsd xmm0, qword [edi*8 + 0x6e4960]
cvtsi2sd xmm4, ecx
subsd xmm1, xmm0
divsd xmm5, xmm4
movsd qword [edi*8 + 0x6e4960], xmm5
maxsd xmm3, xmm1
divsd xmm3, xmm2
sqrtsd xmm3, xmm3
movsd qword [edi*8 + 0x6e4900], xmm3
inc edi
cmp edi, edx
jb 0x513ca0
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x210], 0
push 0x120
push 0x8384ff01
push 0x2c
push ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x7c], edx
call fcn.005deea0
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0xac]
add esp, 0x10
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea eax, [esp + 0x118]
mov dword [eax], 0x168
mov dword [eax + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push eax
push 0x687ac4
push 0x8384ff03
push 0x2c
push ebx
mov dword [eax - 0x7c], ecx
mov dword [esp + 0x88], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea eax, [esp + 0x110]
mov dword [eax], 0x168
mov dword [eax + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push eax
push 0x687acc
push 0x8384ff03
push 0x2c
push ebx
mov dword [eax - 0x74], ecx
mov dword [esp + 0x88], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
test esi, esi
jle 0x5141fb
mov eax, dword [ebp + 0x24]
mov ebx, dword [esp + 0x84]
pxor xmm4, xmm4
mov dword [esp + 0x44], 0
mov eax, dword [eax]
mov dword [esp + 0x50], eax
shl ebx, 3
mov dword [esp + 0x48], ebx
mov dword [esp + 0x9c], ecx
lea ebx, [eax + 1]
mov dword [esp + 0x2c], ebx
and ebx, 0xfffffff8
mov dword [esp + 0x4c], ebx
lea eax, [eax + 2]
movdqu xmm5, xmmword [0x688050]
lea ebx, [esp + 0x210]
movdqu xmm0, xmmword [0x688060]
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], edx
mov dword [ebx - 0x114], esi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x44]
mov eax, 1
cmp dword [esp + 0x2c], 0
jle 0x5141cb
cmp dword [esp + 0x2c], 8
jl 0x514f74
mov edx, dword [esp + 0x4c]
xor ebx, ebx
movdqa xmm2, xmm4
movdqa xmm3, xmm0
mov esi, dword [esp + 0x48]
xor eax, eax
mov edi, dword [esp + 0x50]
psrldq xmm2, 4
mov dword [esp + 0x24], edx
movsd xmm0, qword [esi + ecx*8 + 0x6e4a20]
lea edx, [ebx + ebx*2]
movaps xmm6, xmm0
add ebx, 8
cvtdq2pd xmm7, xmm3
subsd xmm6, qword [esi + ecx*8 + 0x6e49c0]
movsd xmm1, qword [esi + ecx*8 + 0x6e49c0]
paddd xmm3, xmm5
unpcklpd xmm6, xmm6
mulpd xmm6, xmm7
cvtsi2sd xmm7, edi
unpcklpd xmm1, xmm1
unpcklpd xmm7, xmm7
divpd xmm6, xmm7
addpd xmm6, xmm1
movaps xmm7, xmm0
movsd qword [eax + ecx*8 + 0x6e4c60], xmm6
movhpd qword [eax + ecx*8 + 0x6e4c90], xmm6
cvtdq2pd xmm6, xmm3
subsd xmm7, qword [esi + ecx*8 + 0x6e49c0]
paddd xmm3, xmm5
unpcklpd xmm7, xmm7
mulpd xmm7, xmm6
cvtsi2sd xmm6, edi
shl edx, 3
unpcklpd xmm6, xmm6
divpd xmm7, xmm6
addpd xmm7, xmm1
movaps xmm6, xmm0
subsd xmm0, qword [esi + ecx*8 + 0x6e49c0]
subsd xmm6, qword [esi + ecx*8 + 0x6e49c0]
movsd qword [eax + ecx*8 + 0x6e4cc0], xmm7
movhpd qword [eax + ecx*8 + 0x6e4cf0], xmm7
cvtdq2pd xmm7, xmm3
unpcklpd xmm6, xmm6
paddd xmm3, xmm5
mulpd xmm6, xmm7
cvtsi2sd xmm7, edi
unpcklpd xmm0, xmm0
unpcklpd xmm7, xmm7
divpd xmm6, xmm7
addpd xmm6, xmm1
movsd qword [eax + ecx*8 + 0x6e4d20], xmm6
movhpd qword [eax + ecx*8 + 0x6e4d50], xmm6
cvtdq2pd xmm6, xmm3
mulpd xmm0, xmm6
cvtsi2sd xmm6, edi
movd dword [edx + ecx*4 + 0x6e5f60], xmm4
paddd xmm3, xmm5
unpcklpd xmm6, xmm6
divpd xmm0, xmm6
addpd xmm1, xmm0
movsd qword [eax + ecx*8 + 0x6e4d80], xmm1
movhpd qword [eax + ecx*8 + 0x6e4db0], xmm1
add eax, 0x180
movd dword [edx + ecx*4 + 0x6e5f78], xmm2
movd dword [edx + ecx*4 + 0x6e5f90], xmm4
movd dword [edx + ecx*4 + 0x6e5fa8], xmm2
movd dword [edx + ecx*4 + 0x6e5fc0], xmm4
movd dword [edx + ecx*4 + 0x6e5fd8], xmm2
movd dword [edx + ecx*4 + 0x6e5ff0], xmm4
movd dword [edx + ecx*4 + 0x6e6008], xmm2
nop
cmp ebx, dword [esp + 0x4c]
jb 0x513ec3
movdqu xmm0, xmmword [0x688060]
mov edx, dword [esp + 0x24]
lea ebx, [edx + 1]
cmp ebx, dword [esp + 0x2c]
ja 0x5141c7
mov eax, dword [esp + 0x2c]
sub eax, edx
mov dword [esp + 0x30], eax
cmp eax, 2
jl 0x514f6d
movd xmm1, ebx
lea ebx, [edx + edx*2]
mov esi, ebx
movd xmm6, edx
shl ebx, 3
xor edi, edi
shl esi, 4
movdqa xmm3, xmm4
and eax, 0xfffffffe
punpckldq xmm6, xmm1
lea ebx, [ebx + ecx*4]
mov dword [esp + 0x20], ebx
lea esi, [esi + ecx*8]
mov dword [esp + 0x34], eax
xor ebx, ebx
punpcklqdq xmm6, xmm4
psrldq xmm3, 4
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x20]
nop dword [eax]
mov edx, dword [esp + 0x48]
cvtdq2pd xmm7, xmm6
movsd xmm1, qword [edx + ecx*8 + 0x6e4a20]
paddd xmm6, xmm5
movsd xmm2, qword [edx + ecx*8 + 0x6e49c0]
unpcklpd xmm2, xmm2
subsd xmm1, qword [edx + ecx*8 + 0x6e49c0]
lea edx, [edi + edi*2]
add edi, 2
unpcklpd xmm1, xmm1
mulpd xmm1, xmm7
cvtsi2sd xmm7, dword [esp + 0x50]
movd dword [eax + edx*8 + 0x6e5f60], xmm4
unpcklpd xmm7, xmm7
divpd xmm1, xmm7
addpd xmm2, xmm1
movsd qword [ebx + esi + 0x6e4c60], xmm2
movhpd qword [ebx + esi + 0x6e4c90], xmm2
add ebx, 0x60
movd dword [eax + edx*8 + 0x6e5f78], xmm3
cmp edi, dword [esp + 0x34]
jb 0x5140a0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
lea ebx, [eax + eax*2]
shl ebx, 4
lea esi, [edx + eax]
cmp eax, dword [esp + 0x30]
jae 0x5141c7
mov dword [esp + 0x44], ecx
lea edi, [edx + edx*2]
mov edx, edi
shl edx, 4
shl edi, 3
lea edx, [edx + ecx*8]
mov dword [esp + 0x40], edx
lea edi, [edi + ecx*4]
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x48]
nop dword [eax + eax]
nop dword [eax]
mov ecx, dword [esp + 0x44]
pxor xmm1, xmm1
cvtsi2sd xmm1, esi
movsd xmm3, qword [edx + ecx*8 + 0x6e4a20]
pxor xmm2, xmm2
cvtsi2sd xmm2, dword [esp + 0x50]
subsd xmm3, qword [edx + ecx*8 + 0x6e49c0]
mulsd xmm3, xmm1
inc esi
divsd xmm3, xmm2
mov edi, dword [esp + 0x40]
addsd xmm3, qword [edx + ecx*8 + 0x6e49c0]
mov ecx, dword [esp + 0x38]
movsd qword [ebx + edi + 0x6e4c60], xmm3
lea edi, [eax + eax*2]
inc eax
add ebx, 0x30
mov dword [ecx + edi*8 + 0x6e5f60], 0
cmp eax, dword [esp + 0x30]
jb 0x514160
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
inc ecx
cmp ecx, dword [esp + 0xfc]
jb 0x513e87
mov ecx, dword [esp + 0x9c]
lea ebx, [esp + 0x210]
mov edx, dword [esp + 0x6c]
mov esi, dword [ebx - 0x114]
mov edi, dword [esp + 0x3c]
mov dword [ebx - 0x104], eax
test ecx, ecx
jle 0x514517
test edx, edx
mov ebx, 0
mov eax, dword [ebp + 0x24]
cmovns ebx, edx
mov dword [esp + 0x20], ebx
mov ebx, esi
and ebx, 0xfffffffc
mov dword [esp + 0x2c], ebx
mov ebx, esi
shr ebx, 1
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x84]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], 1
shl ebx, 3
mov dword [esp + 0x40], ebx
lea ebx, [eax + eax*2]
mov eax, ebx
shl ebx, 3
shl eax, 4
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], edi
movdqu xmm1, xmmword [0x688070]
movdqu xmm0, xmmword [0x688080]
mov dword [esp + 0x28], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x6c], edx
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x210], 0
lea eax, [esp + 0x10c]
mov dword [eax + 0x8c], eax
push 0x120
lea edx, [esp + 0x19c]
push edx
push 0x687ad4
push 0x8384ff03
push 0x2c
lea ecx, [esp + 0x224]
push ecx
call fcn.005c6ec0
add esp, 0x18
test eax, eax
jne 0x5142fc
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xe8]
mov eax, 1
mov dword [ecx], eax
mov dword [ecx + 4], 0x6e4a80
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 8
push ecx
push 0x687adc
lea eax, [esp + 0x218]
push eax
call fcn.005c8930
add esp, 0xc
cmp eax, 0xffffffff
je 0x514f61
test eax, eax
jg 0x514f61
test esi, esi
jle 0x514f56
xor edx, edx
mov edi, 1
mov dword [esp + 0xfc], esi
mov dword [esp + 0x30], ebx
xor ebx, ebx
mov esi, dword [esp + 0x34]
mov eax, edi
test esi, esi
jle 0x51437a
mov edi, dword [esp + 0x40]
mov ecx, ebx
movsd xmm0, qword [edi + edx*8 + 0x6e4a80]
lea ebx, [ecx + ecx*2]
shl ebx, 4
comisd xmm0, xmmword [ebx + edx*8 + 0x6e4c60]
jb 0x51436b
movsd xmm0, qword [ebx + edx*8 + 0x6e4c90]
comisd xmm0, xmmword [edi + edx*8 + 0x6e4a80]
ja 0x514db4
lea eax, [ecx + 2]
inc ecx
cmp ecx, esi
jb 0x514339
mov edi, 1
xor ebx, ebx
inc edx
cmp edx, dword [esp + 0xfc]
jb 0x51432d
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x10c], eax
cmp esi, 4
jl 0x514fd2
mov edx, dword [esp + 0x84]
mov eax, edi
movdqu xmm5, xmmword [0x688080]
xor ecx, ecx
movdqu xmm6, xmmword [0x688070]
nop
movups xmm0, xmmword [edx*8 + 0x6e4a80]
movups xmm1, xmmword [edx*8 + 0x6e4a90]
cmpltpd xmm0, xmmword [ecx*8 + 0x6e4c60]
cmpltpd xmm1, xmmword [ecx*8 + 0x6e4c70]
pshufd xmm3, xmm0, 8
add edx, 4
pshufd xmm2, xmm1, 0x80
pand xmm3, xmm6
pand xmm2, xmm5
movdqu xmm4, xmmword [ecx*4 + 0x6e5f60]
por xmm3, xmm2
psubd xmm4, xmm3
movdqu xmmword [ecx*4 + 0x6e5f60], xmm4
add ecx, 4
cmp ecx, edi
jb 0x5143c0
cmp eax, esi
jae 0x514442
mov edx, dword [esp + 0x40]
movsd xmm0, qword [eax*8 + 0x6e4c60]
comisd xmm0, xmmword [edx + eax*8 + 0x6e4a80]
jbe 0x51443d
inc dword [eax*4 + 0x6e5f60]
inc eax
cmp eax, esi
jb 0x514422
test esi, esi
jle 0x5144f3
cmp dword [esp + 0x38], 0
jbe 0x514f7b
mov dword [esp + 0x30], ebx
xor eax, eax
mov dword [esp + 0xfc], esi
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
mov edx, eax
shl edx, 4
movsd xmm0, qword [edx + esi + 0x6e4a80]
comisd xmm0, xmmword [ebx + edx + 0x6e4c60]
jb 0x514492
inc dword [ecx + eax*8 + 0x6e5f48]
movsd xmm0, qword [edx + esi + 0x6e4a88]
comisd xmm0, xmmword [ebx + edx + 0x6e4c68]
jb 0x5144ad
inc dword [ecx + eax*8 + 0x6e5f4c]
inc eax
cmp eax, edi
jb 0x514472
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax + 1]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0xfc]
lea edx, [eax - 1]
cmp edx, esi
jae 0x5144f3
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
movsd xmm0, qword [edx + eax*8 + 0x6e4a78]
comisd xmm0, xmmword [ecx + eax*8 + 0x6e4c58]
jb 0x5144f3
mov edx, dword [esp + 0x24]
inc dword [edx + eax*4 + 0x6e5f44]
inc ebx
cmp ebx, dword [esp + 0x9c]
jle 0x51427b
mov ecx, dword [esp + 0x9c]
lea ebx, [esp + 0x210]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
cmp edi, 1
je 0x514dcd
xor edi, edi
mov dword [esp + 0x210], edi
push 0x120
push edi
push 0x687ae4
push 0x8384ff00
push 0x2c
push ebx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x84], edx
call fcn.005b4d50
mov ecx, dword [esp + 0xb4]
lea edi, [esp + 0x120]
mov dword [edi + 0x108], 0
mov dword [edi], ecx
push 0x120
push 0x6d0df0
push edi
push 0x687ae8
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
xor edi, edi
mov dword [esp + 0x244], edi
push 0x120
push 0x6d0db8
push edi
push 0x687af0
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
push 0x168
push 0x6e68e0
call fcn.004e3080
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xf4]
test eax, eax
mov dword [esp + 0x268], edi
cmovl eax, edi
lea edi, [esp + 0x110]
mov dword [edi], eax
mov dword [edi + 4], 0x6e68e0
push 0x120
push 0x6d0ecc
push edi
push 0x687af4
push 0x8384ff00
push 0x2c
push ebx
mov dword [edi - 0x1c], ecx
mov dword [edi - 0x4c], edx
call fcn.005bb4b0
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x110]
add esp, 0x74
mov dword [esp + 0x210], 0
lea edi, [esp + 0xc0]
mov dword [edi], 0xb
mov dword [edi + 4], 0x68885c
push 0x120
push 0x6d0e34
push edi
push 0x687afc
push 0x8384ff00
push 0x2c
push ebx
mov dword [edi - 0x24], ecx
mov dword [edi - 0x54], edx
call fcn.005bb4b0
mov edx, dword [esp + 0x88]
mov edi, 1
test edx, edx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], edi
mov edi, 0
cmovns edi, edx
mov dword [esp + 0x70], edi
mov dword [esp + 0x68], edi
lea edi, [esp + 0x5c]
mov dword [edi + 4], 0x6e49c0
mov dword [edi + 0x10], 8
push edi
push 0x687b04
push ebx
call fcn.005bdc60
lea edi, [esp + 0xf0]
mov dword [edi + 0x148], 0
mov dword [edi], 0xb
mov dword [edi + 4], 0x688868
push 0x120
push 0x6d0e34
push edi
push 0x687b0c
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
mov edi, 1
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0xa8], edi
lea edi, [esp + 0x9c]
mov dword [edi + 4], 0x6e4a20
mov dword [edi + 0x10], 8
push edi
push 0x687b14
push ebx
call fcn.005bdc60
lea edi, [esp + 0x120]
mov dword [edi + 0x140], 0
mov dword [edi], 0xb
mov dword [edi + 4], 0x688874
push 0x120
push 0x6d0e34
push edi
push 0x687b1c
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
mov edi, 1
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe4], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0xe8], edi
lea edi, [esp + 0xdc]
mov dword [edi + 4], 0x6e4960
mov dword [edi + 0x10], 8
push edi
push 0x687b24
push ebx
call fcn.005bdc60
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0x114]
add esp, 0x78
mov dword [esp + 0x210], 0
lea edi, [esp + 0xd8]
mov dword [edi], 0xb
mov dword [edi + 4], 0x688880
push 0x120
push 0x6d0e34
push edi
push 0x687b2c
push 0x8384ff00
push 0x2c
push ebx
mov dword [edi - 0x3c], ecx
mov dword [edi - 0x6c], edx
call fcn.005bb4b0
mov edi, 1
mov dword [esp + 0xa4], edi
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0xb0], edi
lea edi, [esp + 0xa4]
mov dword [edi + 4], 0x6e4900
mov dword [edi + 0x10], 8
push edi
push 0x687b34
push ebx
call fcn.005bdc60
lea edi, [esp + 0x108]
mov dword [edi + 0x130], 0
mov dword [edi], 0xb
mov dword [edi + 4], 0x68888c
push 0x120
push 0x6d0e34
push edi
push 0x687b3c
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
push 0
push 0x687b44
push ebx
call fcn.005bdc60
mov edx, dword [esp + 0xbc]
mov ecx, dword [esp + 0xec]
add esp, 0x50
test edx, edx
jle 0x5148f7
mov eax, 1
lea edi, [esp + 0x130]
mov dword [edi - 0x94], ecx
mov dword [edi - 0x34], esi
mov esi, eax
mov eax, ebx
mov ebx, edx
movsd xmm0, qword [0x688340]
mulsd xmm0, qword [esi*8 + 0x6e48f8]
movsd xmm1, qword [esi*8 + 0x6e4958]
subsd xmm1, xmm0
movsd qword [esp + 0x130], xmm1
push edi
push 0x687b48
push eax
call fcn.005bdc60
lea eax, [esp + 0x21c]
add esp, 0xc
inc esi
cmp esi, ebx
jle 0x5148a3
mov ecx, dword [esp + 0x9c]
mov edx, ebx
mov esi, dword [esp + 0xfc]
mov ebx, eax
push 0
push 0x687b50
push ebx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x78], edx
call fcn.005bdc60
lea edi, [esp + 0xbc]
mov dword [edi + 0x160], 0
mov dword [edi], 0xb
mov dword [edi + 4], 0x688898
push 0x120
push 0x6d0e34
push edi
push 0x687b54
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
push 0
push 0x687b5c
push ebx
call fcn.005bdc60
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xd0]
add esp, 0x34
test edx, edx
jle 0x5149d5
mov eax, 1
lea edi, [esp + 0x138]
mov dword [edi - 0x9c], ecx
mov dword [edi - 0x3c], esi
mov esi, eax
mov eax, ebx
mov ebx, edx
movsd xmm0, qword [0x688340]
mulsd xmm0, qword [esi*8 + 0x6e48f8]
addsd xmm0, qword [esi*8 + 0x6e4958]
movsd qword [esp + 0x138], xmm0
push edi
push 0x687b60
push eax
call fcn.005bdc60
lea eax, [esp + 0x21c]
add esp, 0xc
inc esi
cmp esi, ebx
jle 0x514987
mov ecx, dword [esp + 0x9c]
mov ebx, eax
mov esi, dword [esp + 0xfc]
push 0
push 0x687b68
push ebx
mov dword [esp + 0xa8], ecx
call fcn.005bdc60
mov ecx, dword [esp + 0xa8]
add esp, 0xc
test esi, esi
jle 0x514ce5
mov edx, dword [ebp + 0x24]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x12c], 0
mov edx, dword [edx]
mov dword [esp + 0xfc], esi
lea edi, [edi + edi*4]
mov dword [esp + 0x154], edx
lea edi, [edi*4 + 0x6e6a60]
mov dword [esp + 0x6c], edi
lea eax, [edx + 1]
mov dword [esp + 0x54], eax
xor edi, edi
mov dword [esp + 0x9c], ecx
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x210], edi
push 0x120
push edi
push 0x687b6c
push 0x8384ff00
push 0x2c
push ebx
call fcn.005b4d50
mov dword [esp + 0x228], 0
lea edx, [esi + 1]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x200], edx
push 0x120
push 0x6d0d64
lea ecx, [esp + 0x208]
push ecx
push 0x687b70
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
mov edx, dword [esp + 0xa0]
lea ecx, [esi + esi*4]
mov eax, 0x14
mov dword [esp + 0x18c], eax
mov dword [esp + 0x194], eax
lea edx, [edx + ecx*4]
mov dword [esp + 0x190], edx
lea ecx, [esp + 0x18c]
push ecx
push 0x687b78
push ebx
call fcn.005bdc60
mov dword [esp + 0x250], edi
push 0x120
push 0x6d0d14
push edi
push 0x687b80
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
mov dword [esp + 0x26c], edi
push 0x120
push 0x6d0cb8
push edi
push 0x687b84
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
add esp, 0x78
mov dword [esp + 0x10c], 2
cmp dword [esp + 0x54], 2
jl 0x514cd1
movsd xmm0, qword [esi*8 + 0x6e4c60]
pxor xmm1, xmm1
mov dword [esp + 0x12c], esi
movsd qword [esp + 0x258], xmm1
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x12c]
lea ecx, [edi + edi*2]
mov edx, ecx
pxor xmm4, xmm4
shl edx, 4
pxor xmm3, xmm3
shl ecx, 3
pxor xmm6, xmm6
movsd xmm5, qword [esp + 0x258]
pxor xmm2, xmm2
cvtsi2sd xmm6, esi
cvtsi2sd xmm2, esi
movsd xmm1, qword [edx + eax*8 + 0x6e4c90]
mov edx, dword [ecx + eax*4 + 0x6e5f60]
addsd xmm0, xmm1
cvtsi2sd xmm4, edx
cvtsi2sd xmm3, edx
mulsd xmm0, qword [0x6882f0]
addsd xmm5, xmm4
mulsd xmm3, qword [0x688348]
movsd xmm7, qword [0x688348]
mulsd xmm7, xmm5
divsd xmm3, xmm2
divsd xmm7, xmm6
movsd qword [esp + 0x100], xmm1
movsd xmm1, qword [0x688348]
movsd qword [esp + 0x260], xmm3
subsd xmm1, xmm7
movsd qword [esp + 0x258], xmm5
movsd qword [esp + 0x268], xmm7
movsd qword [esp + 0x250], xmm1
mov dword [esp + 0x210], 0
movsd qword [esp + 0x230], xmm0
push 0x120
push 0x6d0c90
lea ecx, [esp + 0x238]
push ecx
push 0x687b88
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
movsd xmm0, qword [esp + 0x27c]
lea edx, [esp + 0x254]
movsd qword [edx], xmm0
push edx
push 0x687b90
push ebx
call fcn.005bdc60
movsd xmm0, qword [esp + 0x290]
lea edx, [esp + 0x268]
movsd qword [edx], xmm0
push edx
push 0x687b98
push ebx
call fcn.005bdc60
movsd xmm0, qword [esp + 0x284]
lea edx, [esp + 0x27c]
movsd qword [edx], xmm0
push edx
push 0x687ba0
push ebx
call fcn.005bdc60
add esp, 0x40
movsd xmm0, qword [esp + 0x100]
lea edx, [edi + 3]
inc edi
mov dword [esp + 0x10c], edx
cmp edi, dword [esp + 0x154]
jb 0x514b63
xor edi, edi
mov esi, dword [esp + 0x84]
cmp esi, dword [esp + 0xfc]
jb 0x514a45
xor edx, edx
mov dword [esp + 0x210], edx
push 0x120
push edx
push 0x687ba8
push 0x8384ff00
push 0x2c
push ebx
call fcn.005b4d50
xor edx, edx
mov dword [esp + 0x228], edx
push 0x120
push 0x6d0c54
push edx
push 0x687bac
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
xor edx, edx
mov dword [esp + 0x244], edx
push 0x120
push 0x6d0c18
push edx
push 0x687bb0
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
xor edx, edx
mov dword [esp + 0x260], edx
push 0x120
push 0x6d0c00
push edx
push 0x687bb4
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
add esp, 0x6c
mov edx, dword [0x81e648]
lea ecx, [esp + 0x100]
mov dword [ecx + 0x110], 0
mov dword [ecx], edx
push 0x120
push ecx
push 0x687bb8
push 0x8384ff00
push 0x2c
push ebx
call fcn.005b4d50
add esp, 0x18
jmp 0x513b05
mov edi, 1
lea ecx, [ecx + ecx*2]
shl ecx, 3
xor ebx, ebx
inc dword [ecx + edx*4 + 0x6e5f60]
jmp 0x51437a
mov dword [esp + 0x210], 0
lea edi, [esp + 0x38]
mov dword [edi], 0x168
mov dword [edi + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edi
push 0x687bc0
push 0x8384ff03
push 0x2c
push ebx
mov dword [edi + 0x64], ecx
mov dword [edi + 0x34], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea edi, [esp + 0x30]
mov dword [edi], 0x168
mov dword [edi + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edi
push 0x687bc8
push 0x8384ff03
push 0x2c
push ebx
mov dword [edi + 0x6c], ecx
mov dword [edi + 0x3c], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea edi, [esp + 0x28]
mov dword [edi], 0x168
mov dword [edi + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edi
push 0x687bd0
push 0x8384ff03
push 0x2c
push ebx
mov dword [edi + 0x74], ecx
mov dword [edi + 0x44], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
mov dword [esp + 0x210], 0
lea edi, [esp + 0x20]
mov dword [edi], 0x168
mov dword [edi + 4], 0x6e4780
push 0x120
push 0x6d0ecc
push edi
push 0x687bd8
push 0x8384ff03
push 0x2c
push ebx
mov dword [edi + 0x7c], ecx
mov dword [edi + 0x4c], edx
call fcn.005cb620
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0xb8]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x513ab4
test eax, eax
jg 0x513ab4
jmp 0x514520
jg 0x51439a
jmp 0x5144f3
lea ebx, [esp + 0x210]
jmp 0x513ab4
xor eax, eax
jmp 0x514120
xor edx, edx
jmp 0x51403b
mov eax, 1
jmp 0x5144c5
mov dword [esp + 0x24], 0
jmp 0x513c7e
xor eax, eax
jmp 0x51387e
mov ecx, dword [esp + 0x9c]
mov edx, esi
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x3c]
jmp 0x513bc7
xor eax, eax
jmp 0x513a10
mov ecx, dword [esp + 0x9c]
mov edx, esi
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x3c]
jmp 0x513d09
xor eax, eax
jmp 0x51441a
mov edx, dword [0x81ea58]
mov ecx, dword [0x81ea50]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x28]
jne 0x5136b5
xor edx, edx
mov dword [esp + 0x210], edx
push 0x120
push edx
push 0x687be0
push 0x8384ff00
push 0x2c
push ebx
call fcn.005b4d50
mov edx, dword [0x81e3d0]
lea ecx, [esp + 0x1d8]
mov dword [ecx + 0x50], 0
mov dword [ecx], edx
push 0x120
push 0x6d0e60
push ecx
push 0x687be4
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
push 0x168
push 0x6e4ae0
call fcn.004e3080
xor edx, edx
test eax, eax
mov dword [esp + 0x24c], edx
lea ecx, [esp + 0x17c]
cmovl eax, edx
mov dword [ecx], eax
mov dword [ecx + 4], 0x6e4ae0
push 0x120
push 0x6d0ecc
push ecx
push 0x687bec
push 0x8384ff00
push 0x2c
push ebx
call fcn.005bb4b0
add esp, 0x58
jmp 0x5136b5
mov eax, dword [0x81ea58]
mov edx, dword [0x81ea50]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
cmp eax, edx
je 0x51543b
cmp dword [esp + 0x38], 0
jl 0x515519
mov eax, dword [esp + 0x38]
cmp eax, dword [ebx]
jne 0x51543b
mov eax, 0xffffffff
xor edx, edx
cmp dword [esp + 0x2c], 1
cmove edx, eax
cmp dword [esi], 0
jne 0x515239
cmp dword [esp + 0x3c], 0
je 0x515461
cmp dword [esp + 0x3c], 1
je 0x515211
cmp dword [esp + 0x3c], 2
jne 0x51514c
cmp dword [esp + 0x2c], 1
jne 0x51511e
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [eax]
movsd qword [0x6e6c00], xmm0
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [0x6e6c00]
comisd xmm0, xmmword [eax]
jbe 0x515377
mov eax, dword [ebp + 0x30]
mov edx, 0xffffffff
movsd xmm0, qword [eax]
movsd qword [0x6e6c00], xmm0
jmp 0x515377
cmp dword [esp + 0x3c], 3
jne 0x515377
cmp dword [esp + 0x2c], 1
je 0x51516d
mov eax, dword [ebp + 0x34]
movups xmm0, xmmword [eax]
movaps xmm1, xmm0
unpckhpd xmm0, xmm0
jmp 0x5151a3
mov eax, dword [ebp + 0x34]
movups xmm0, xmmword [eax]
movaps xmm1, xmm0
movsd qword [esp + 0x20], xmm1
fld qword [esp + 0x20]
wait
unpckhpd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fstp qword [0x6e6c08]
wait
fld qword [0x6e6c08]
wait
movsd qword [esp + 0x20], xmm1
fld qword [esp + 0x20]
wait
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fcompp
wait
fnstsw ax
sahf
jae 0x515377
jp 0x515377
movsd qword [esp + 0x20], xmm1
mov edx, 0xffffffff
fld qword [esp + 0x20]
wait
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fstp qword [0x6e6c08]
wait
jmp 0x515377
mov eax, dword [ebp + 0x2c]
cmp dword [esp + 0x2c], 1
mov ecx, dword [eax]
je 0x515224
mov eax, dword [0x6e6c14]
jmp 0x51522c
mov dword [0x6e6c14], ecx
mov eax, ecx
cmp ecx, eax
jl 0x51536c
jmp 0x515377
cmp dword [esp + 0x3c], 0
je 0x5154c8
cmp dword [esp + 0x3c], 1
je 0x51534d
cmp dword [esp + 0x3c], 2
jne 0x515295
cmp dword [esp + 0x2c], 1
je 0x515266
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [eax]
jmp 0x515275
mov eax, dword [ebp + 0x30]
movsd xmm0, qword [eax]
movsd qword [0x6e6c00], xmm0
comisd xmm0, xmmword [0x6e6c00]
jbe 0x515377
movsd qword [0x6e6c00], xmm0
mov edx, 0xffffffff
jmp 0x515377
cmp dword [esp + 0x3c], 3
jne 0x515377
cmp dword [esp + 0x2c], 1
je 0x5152b6
mov eax, dword [ebp + 0x34]
movups xmm0, xmmword [eax]
movaps xmm1, xmm0
unpckhpd xmm0, xmm0
jmp 0x5152ec
mov eax, dword [ebp + 0x34]
movups xmm0, xmmword [eax]
movaps xmm1, xmm0
movsd qword [esp + 0x20], xmm1
fld qword [esp + 0x20]
wait
unpckhpd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fstp qword [0x6e6c08]
wait
fld qword [0x6e6c08]
wait
movsd qword [esp + 0x20], xmm1
fld qword [esp + 0x20]
wait
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fcompp
wait
fnstsw ax
sahf
jbe 0x515377
movsd qword [esp + 0x20], xmm1
mov edx, 0xffffffff
fld qword [esp + 0x20]
wait
movsd qword [esp + 0x20], xmm0
fmul st(0)
wait
fld qword [esp + 0x20]
wait
fmul st(0)
wait
faddp st(1)
wait
fsqrt
wait
fstp qword [0x6e6c08]
wait
jmp 0x515377
mov eax, dword [ebp + 0x2c]
cmp dword [esp + 0x2c], 1
mov ecx, dword [eax]
je 0x515360
mov eax, dword [0x6e6c14]
jmp 0x515368
mov dword [0x6e6c14], ecx
mov eax, ecx
cmp ecx, eax
jle 0x515377
mov dword [0x6e6c14], ecx
mov edx, 0xffffffff
test dl, 1
je 0x51543b
mov edx, dword [ebp + 0x1c]
mov eax, dword [esp + 0x2c]
mov dword [0x81e3d0], eax
mov eax, dword [edx]
test eax, eax
jle 0x51543b
xor edx, edx
cmp eax, 4
jl 0x5154b9
mov ecx, eax
and ecx, 0xfffffffc
movdqu xmm0, xmmword [edx*4 + 0x6e6bb0]
movdqu xmmword [edx*4 + 0x81e3e0], xmm0
add edx, 4
cmp edx, ecx
jb 0x5153a6
cmp ecx, eax
jae 0x5153df
mov edx, dword [ecx*4 + 0x6e6bb0]
mov dword [ecx*4 + 0x81e3e0], edx
inc ecx
cmp ecx, eax
jb 0x5153c3
cmp eax, 2
jl 0x5154b2
mov ecx, eax
mov ebx, 0x81e3a0
and ecx, 0xfffffffe
xor edx, edx
test bl, 0xf
je 0x515409
movups xmm0, xmmword [edx*8 + 0x6e6bd0]
movups xmmword [edx*8 + 0x81e3a0], xmm0
add edx, 2
cmp edx, ecx
jb 0x5153f0
jmp 0x515420
movups xmm0, xmmword [edx*8 + 0x6e6bd0]
movups xmmword [edx*8 + 0x81e3a0], xmm0
add edx, 2
cmp edx, ecx
jb 0x515409
cmp ecx, eax
jae 0x51543b
movsd xmm0, qword [ecx*8 + 0x6e6bd0]
movsd qword [ecx*8 + 0x81e3a0], xmm0
inc ecx
cmp ecx, eax
jb 0x515424
mov eax, dword [ebp + 0x20]
mov esi, dword [eax]
cmp esi, dword [esp + 0x38]
jne 0x51367c
cmp dword [esp + 0x2c], 1
je 0x513b36
lea ebx, [esp + 0x210]
jmp 0x514fed
mov eax, dword [ebp + 0x28]
test byte [eax], 1
je 0x515479
mov eax, dword [ebp + 0x2c]
mov ecx, 1
mov dword [eax], 1
jmp 0x515484
mov eax, dword [ebp + 0x2c]
xor ecx, ecx
mov dword [eax], 0
cmp dword [esp + 0x2c], 1
je 0x515492
mov eax, dword [0x6e6c18]
jmp 0x51549a
mov dword [0x6e6c18], ecx
mov eax, ecx
cmp ecx, eax
jge 0x515377
mov dword [0x6e6c18], ecx
mov edx, 0xffffffff
jmp 0x515377
xor ecx, ecx
jmp 0x515420
test eax, eax
jbe 0x5153d6
xor ecx, ecx
jmp 0x5153c3
mov eax, dword [ebp + 0x28]
test byte [eax], 1
je 0x5154e0
mov eax, dword [ebp + 0x2c]
mov ecx, 1
mov dword [eax], 1
jmp 0x5154eb
mov eax, dword [ebp + 0x2c]
xor ecx, ecx
mov dword [eax], 0
cmp dword [esp + 0x2c], 1
je 0x5154f9
mov eax, dword [0x6e6c18]
jmp 0x515501
mov dword [0x6e6c18], ecx
mov eax, ecx
cmp ecx, eax
jle 0x515377
mov dword [0x6e6c18], ecx
mov edx, 0xffffffff
jmp 0x515377
cmp dword [esp + 0x3c], 1
je 0x51553e
mov eax, dword [esp + 0x38]
cdq
xor eax, edx
mov ecx, dword [ebp + 0x30]
sub eax, edx
movsd xmm0, qword [ecx]
movsd qword [eax*8 + 0x6e6bc8], xmm0
jmp 0x51543b
mov eax, dword [esp + 0x38]
cdq
xor eax, edx
mov ecx, dword [ebp + 0x2c]
sub eax, edx
mov ebx, dword [ecx]
mov dword [eax*4 + 0x6e6bac], ebx
jmp 0x51543b
push 0x14
push dword [ebp + 0x38]
mov dword [esp + 0x58], ecx
call fcn.004e3080
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
add esp, 8
mov edx, eax
mov eax, 0xf
cmp edx, 0xf
cmovg edx, eax
mov dword [esp + 0x34], edx
cmp dword [esp + 0x38], 0
jl 0x51570f
mov eax, dword [ebp + 0x1c]
movups xmm0, xmmword [0x6880c0]
mov edx, dword [eax]
add edx, dword [esp + 0x38]
lea eax, [edx + edx*4]
lea eax, [eax*4 + 0x6e6a4c]
mov dword [esp + 0x30], eax
movups xmmword [eax], xmm0
mov edx, dword [0x6880d0]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x34]
xor eax, eax
test edx, edx
cmovg eax, edx
cdq
movd xmm2, eax
movd xmm0, edx
punpckldq xmm2, xmm0
mov eax, dword [esp + 0x30]
movq xmm0, qword [0x688350]
mov edx, dword [ebp + 0x38]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], edx
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
movdqu xmmword [esp + 0x20], xmm2
mov dword [esp + 0x50], ecx
call fcn.005b4070
mov edx, dword [esp + 0x34]
neg edx
movdqu xmm2, xmmword [esp + 0x20]
lea eax, [edx + 0x11]
neg eax
lea ecx, [edx + 0x6e6b91]
add eax, 0x11
mov dword [esp], ecx
mov ecx, 0
cmovs eax, ecx
cdq
movd xmm1, eax
mov eax, dword [ebp + 0x38]
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], eax
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], ecx
call fcn.005b4070
mov ecx, dword [esp + 0x50]
mov eax, dword [0x6e6c1c]
pxor xmm0, xmm0
mov dword [esp + 0x24], eax
movd xmm1, ecx
punpckldq xmm1, xmm0
lea edx, [eax + 0x6e4ae0]
mov dword [esp], edx
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e6b80
movdqu xmm2, xmmword [esp + 0x40]
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], ecx
call fcn.005b4070
mov ecx, dword [esp + 0x50]
mov edx, dword [0x6e6c20]
pxor xmm0, xmm0
mov eax, dword [esp + 0x24]
movd xmm1, ecx
add eax, ecx
punpckldq xmm1, xmm0
mov dword [0x6e6c1c], eax
lea eax, [edx + 0x6e68e0]
mov dword [esp + 0x20], edx
mov dword [esp], eax
movq qword [esp + 4], xmm1
mov dword [esp + 0xc], 0x6e6b80
movdqu xmm2, xmmword [esp + 0x40]
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
mov dword [esp + 0x50], ecx
call fcn.005b4070
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x20]
mov dword [0x6e6c20], ecx
jmp 0x513650
mov eax, dword [esp + 0x38]
cdq
xor eax, edx
sub eax, edx
movups xmm0, xmmword [0x6880e0]
lea eax, [eax + eax*4]
lea eax, [eax*4 + 0x6e6a4c]
mov dword [esp + 0x30], eax
movups xmmword [eax], xmm0
mov edx, dword [0x6880f0]
mov dword [eax + 0x10], edx
jmp 0x5155b7
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x210], 0
test byte [eax], 1
je 0x515781
mov dword [esp + 0x148], 0x28
mov ecx, 0x687bf4
mov dword [esp + 0x14c], 0x6e6b50
lea edx, [esp + 0x148]
mov dword [edx + 8], 1
mov eax, 0x6d0f5c
jmp 0x5157af
mov dword [esp + 0x1a0], 0x28
mov ecx, 0x687bfc
mov dword [esp + 0x1a4], 0x6e6b50
lea edx, [esp + 0x1a0]
mov dword [edx + 8], 0
mov eax, 0x6d0f5c
push 0x120
push eax
push edx
push ecx
push 0x8384ff00
lea eax, [esp + 0x224]
push eax
call fcn.005d8370
jmp 0x5135db
movups xmm0, xmmword [0x688100]
movups xmm1, xmmword [0x688110]
movsd xmm2, qword [0x688120]
movups xmmword [0x6e4600], xmm0
movups xmmword [0x6e4610], xmm1
movsd qword [0x6e4620], xmm2
movups xmm0, xmmword [0x688130]
movups xmm1, xmmword [0x688140]
movsd xmm2, qword [0x688150]
movups xmmword [0x6e4628], xmm0
movups xmmword [0x6e4638], xmm1
movsd qword [0x6e4648], xmm2
movups xmm0, xmmword [0x688160]
movups xmm1, xmmword [0x688170]
movsd xmm2, qword [0x688180]
movups xmmword [0x6e4650], xmm0
movups xmmword [0x6e4660], xmm1
movsd qword [0x6e4670], xmm2
movups xmm0, xmmword [0x688190]
movups xmm1, xmmword [0x6881a0]
movsd xmm2, qword [0x6881b0]
movups xmmword [0x6e4678], xmm0
movups xmmword [0x6e4688], xmm1
movsd qword [0x6e4698], xmm2
movups xmm0, xmmword [0x6881c0]
movups xmm1, xmmword [0x6881d0]
movsd xmm2, qword [0x6881e0]
movups xmmword [0x6e46a0], xmm0
movups xmmword [0x6e46b0], xmm1
movsd qword [0x6e46c0], xmm2
movups xmm0, xmmword [0x6881f0]
movups xmm1, xmmword [0x688200]
movsd xmm2, qword [0x688210]
movups xmmword [0x6e46c8], xmm0
movups xmmword [0x6e46d8], xmm1
movsd qword [0x6e46e8], xmm2
movups xmm0, xmmword [0x688220]
movups xmm1, xmmword [0x688230]
movsd xmm2, qword [0x688240]
movups xmmword [0x6e46f0], xmm0
movups xmmword [0x6e4700], xmm1
movsd qword [0x6e4710], xmm2
movups xmm0, xmmword [0x688250]
movups xmm1, xmmword [0x688260]
movsd xmm2, qword [0x688270]
movups xmmword [0x6e4718], xmm0
movups xmmword [0x6e4728], xmm1
movsd qword [0x6e4738], xmm2
movups xmm0, xmmword [0x688280]
movups xmmword [0x6e4740], xmm0
movups xmm0, xmmword [0x688290]
movsd xmm1, qword [0x6882a0]
movups xmmword [0x6e4750], xmm0
movsd qword [0x6e4760], xmm1
movups xmmword [0x6e48d0], xmm0
mov eax, 0x150
movsd qword [0x6e48e0], xmm1
movups xmm0, xmmword [eax + 0x6e45f0]
movups xmm1, xmmword [eax + 0x6e45e0]
movups xmm2, xmmword [eax + 0x6e45d0]
movups xmm3, xmmword [eax + 0x6e45c0]
movups xmm4, xmmword [eax + 0x6e45b0]
movups xmm5, xmmword [eax + 0x6e45a0]
movups xmm6, xmmword [eax + 0x6e4590]
movups xmmword [eax + 0x6e4770], xmm0
movups xmmword [eax + 0x6e4760], xmm1
movups xmmword [eax + 0x6e4750], xmm2
movups xmmword [eax + 0x6e4740], xmm3
movups xmmword [eax + 0x6e4730], xmm4
movups xmmword [eax + 0x6e4720], xmm5
movups xmmword [eax + 0x6e4710], xmm6
sub eax, 0x70
jne 0x51596e
mov edx, dword [0x81ea58]
cmp edx, 1
je 0x515ae7
mov dword [esp + 0x210], 0
lea eax, [esp + 0x120]
mov dword [eax], 0x168
mov dword [eax + 4], 0x6e4600
mov dword [eax + 8], edx
lea edx, [esp + 0x210]
push 0x120
push 0x6d0f7c
push eax
push 0x687c04
push 0x8384ff00
push edx
call fcn.005d8370
add esp, 0x18
cmp dword [0x81ea58], 1
je 0x515a67
xor eax, eax
mov dword [0x6e6c1c], eax
mov dword [0x6e6c20], eax
push 0x168
push 0x6e4600
call fcn.004e3080
mov dword [esp + 0x28], eax
add esp, 8
add eax, 8
mov dword [esp + 0x20], eax
mov dword [0x6e6c10], eax
jmp 0x513489
mov dword [esp + 0x210], 0
lea eax, [esp + 0xa0]
mov dword [eax], 0x168
mov dword [eax + 4], 0x6e4ae0
mov dword [eax + 8], 6
mov dword [eax + 0xc], str._Run_
push 0x120
push eax
push 0x687c0c
push 0x8384ff00
lea edx, [esp + 0x220]
push edx
call fcn.005dc0b0
push 0x168
push 0x6e4ae0
call fcn.004e3080
push 0x168
push 0x6e68e0
add eax, 2
mov dword [0x6e6c1c], eax
call fcn.004e3080
add esp, 0x24
add eax, 6
mov dword [0x6e6c20], eax
jmp 0x515a40
movups xmm1, xmmword [0x6e4750]
mov eax, 0x150
movsd xmm0, qword [0x6e4760]
movups xmmword [0x6e4c30], xmm1
movsd qword [0x6e4c40], xmm0
movups xmm2, xmmword [eax + 0x6e45f0]
movups xmmword [eax + 0x6e4ad0], xmm2
movups xmm3, xmmword [eax + 0x6e45e0]
movups xmm4, xmmword [eax + 0x6e45d0]
movups xmm5, xmmword [eax + 0x6e45c0]
movups xmm6, xmmword [eax + 0x6e45b0]
movups xmm7, xmmword [eax + 0x6e45a0]
movups xmm2, xmmword [eax + 0x6e4590]
movups xmmword [eax + 0x6e4ac0], xmm3
movups xmmword [eax + 0x6e4ab0], xmm4
movups xmmword [eax + 0x6e4aa0], xmm5
movups xmmword [eax + 0x6e4a90], xmm6
movups xmmword [eax + 0x6e4a80], xmm7
movups xmmword [eax + 0x6e4a70], xmm2
sub eax, 0x70
jne 0x515b0a
movups xmmword [0x6e6a30], xmm1
mov eax, 0x150
movsd qword [0x6e6a40], xmm0
movups xmm0, xmmword [eax + 0x6e45f0]
movups xmm1, xmmword [eax + 0x6e45e0]
movups xmm2, xmmword [eax + 0x6e45d0]
movups xmm3, xmmword [eax + 0x6e45c0]
movups xmm4, xmmword [eax + 0x6e45b0]
movups xmm5, xmmword [eax + 0x6e45a0]
movups xmm6, xmmword [eax + 0x6e4590]
movups xmmword [eax + 0x6e68d0], xmm0
movups xmmword [eax + 0x6e68c0], xmm1
movups xmmword [eax + 0x6e68b0], xmm2
movups xmmword [eax + 0x6e68a0], xmm3
movups xmmword [eax + 0x6e6890], xmm4
movups xmmword [eax + 0x6e6880], xmm5
movups xmmword [eax + 0x6e6870], xmm6
sub eax, 0x70
jne 0x515b85
jmp 0x5159e4