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

Disassembly:
push r15
mov eax, 0x2fd8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.6d04cea0
sub rsp, rax
mov esi, dword [rdx + 0x34]
mov qword [rsp + 0x3020], rcx
mov r14, rdx
mov ebp, r8d
test esi, esi
je 0x6d187df5
mov edx, dword [rdx + 0x30]
test edx, edx
je 0x6d184e93
mov r13d, dword [r14 + 0x18]
mov ebx, dword [r14 + 0x20]
sar r13d, 8
test ebx, ebx
jle 0x6d187c56
lea edi, [rbx - 1]
sar edi, 8
add edi, 1
sub edi, r13d
cmp edi, 0x40
jle 0x6d185273
lea ecx, [rdi*8]
call sub.msvcrt.dll_malloc
mov r12, rax
test rax, rax
je 0x6d184e71
movsxd r8, edi
xor edx, edx
mov rcx, r12
shl r8, 3
call sub.msvcrt.dll_memset
cmp esi, 0x17
jle 0x6d185280
cmp esi, 0x1555554
jle 0x6d1852f9
lea r9, [rsp + 0x1a0]
cmp r12, r9
jne 0x6d18819b
mov ecx, 1
call fcn.6d19a530
mov ebx, eax
mov eax, ebx
add rsp, 0x2fd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp esi, 0x17
jg 0x6d185253
xor r12d, r12d
test esi, esi
jle 0x6d187f50
lea r8, [rsp + 0x3a0]
lea rbx, [rsp + 0xe0]
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x78], r8
mov rcx, qword [r14 + 0x40]
mov r14, qword [rsp + 0x78]
lea r10d, [rsi - 1]
pxor xmm0, xmm0
and r10d, 1
mov dword [r14], 2
mov r8d, dword [rcx + 0x10]
mov dword [r14 + 8], r8d
mov edx, dword [rcx + 4]
cmp edx, r8d
je 0x6d187d6f
mov r9d, dword [rcx + 0xc]
cmp r9d, r8d
je 0x6d187dcf
mov r11d, dword [rcx]
sub r9d, edx
je 0x6d184f29
mov eax, dword [rcx + 8]
mov r15d, r8d
movsxd r9, r9d
sub r15d, edx
sub eax, r11d
movsxd r14, r15d
cdqe
imul rax, r14
cqo
idiv r9
add r11d, eax
mov r15, qword [rsp + 0x78]
mov dword [r15 + 4], r11d
movdqu xmm2, xmmword [rcx]
movups xmmword [r15 + 0x10], xmm2
mov rax, qword [rcx + 0x10]
mov qword [r15 + 0x20], rax
mov r14d, dword [rcx + 0x18]
movups xmmword [r15 + 0x30], xmm0
mov dword [r15 + 0x28], r14d
movups xmmword [r15 + 0x40], xmm0
test r12, r12
je 0x6d1852aa
sar r8d, 8
mov r9, r15
sub r8d, r13d
mov rax, r9
movsxd rdx, r8d
lea r11, [r12 + rdx*8]
mov r15, qword [r11]
mov qword [r11], r9
mov qword [r9 + 0x38], r15
mov r8d, 1
lea r9, [rax + 0x58]
add rcx, 0x1c
cmp esi, 1
jle 0x6d1850f5
test r10d, r10d
jne 0x6d1851a1
mov dword [r9], 2
mov r10d, dword [rcx + 0x10]
mov dword [r9 + 8], r10d
mov eax, dword [rcx + 4]
cmp eax, r10d
je 0x6d187ebb
mov edx, dword [rcx + 0xc]
cmp edx, r10d
je 0x6d187f47
mov r11d, dword [rcx]
sub edx, eax
je 0x6d184fec
mov r14d, dword [rcx + 8]
mov r15d, r10d
sub r15d, eax
sub r14d, r11d
movsxd rax, r15d
movsxd r14, r14d
imul rax, r14
movsxd r14, edx
cqo
idiv r14
add r11d, eax
mov dword [r9 + 4], r11d
movdqu xmm1, xmmword [rcx]
movups xmmword [r9 + 0x10], xmm1
mov r11, qword [rcx + 0x10]
mov qword [r9 + 0x20], r11
mov r15d, dword [rcx + 0x18]
movups xmmword [r9 + 0x30], xmm0
mov dword [r9 + 0x28], r15d
movups xmmword [r9 + 0x40], xmm0
test r12, r12
je 0x6d187e20
mov eax, r10d
sar eax, 8
sub eax, r13d
cdqe
lea r10, [r12 + rax*8]
mov r14, qword [r10]
mov qword [r10], r9
mov qword [r9 + 0x38], r14
lea r11, [rcx + 0x1c]
mov dword [r9 + 0x58], 2
lea r14, [r8 + 1]
mov r8d, dword [r11 + 0x10]
lea r10, [r9 + 0x58]
mov dword [r10 + 8], r8d
mov r9d, dword [r11 + 4]
cmp r9d, r8d
je 0x6d187f00
mov eax, dword [r11 + 0xc]
cmp eax, r8d
je 0x6d187fed
mov ecx, dword [r11]
sub eax, r9d
je 0x6d185096
mov edx, dword [r11 + 8]
mov r15d, r8d
sub r15d, r9d
sub edx, ecx
movsxd r9, r15d
movsxd r15, eax
movsxd rdx, edx
imul rdx, r9
mov rax, rdx
cqo
idiv r15
add ecx, eax
mov dword [r10 + 4], ecx
movdqu xmm4, xmmword [r11]
movups xmmword [r10 + 0x10], xmm4
mov r9, qword [r11 + 0x10]
mov qword [r10 + 0x20], r9
mov r15d, dword [r11 + 0x18]
movups xmmword [r10 + 0x30], xmm0
mov dword [r10 + 0x28], r15d
movups xmmword [r10 + 0x40], xmm0
test r12, r12
je 0x6d187e17
mov eax, r8d
sar eax, 8
sub eax, r13d
cdqe
lea r8, [r12 + rax*8]
mov rdx, qword [r8]
mov qword [r8], r10
mov qword [r10 + 0x38], rdx
lea r8, [r14 + 1]
lea r9, [r10 + 0x58]
lea rcx, [r11 + 0x1c]
cmp esi, r8d
jg 0x6d184f9c
test esi, esi
mov edx, 1
cmovg edx, esi
test r12, r12
je 0x6d187d83
test esi, esi
jle 0x6d188266
test edi, edi
jle 0x6d188266
mov r14d, 1
xor r9d, r9d
mov rax, qword [r12 + r14*8 - 8]
test rax, rax
je 0x6d185181
nop dword [rax + rax]
lea r10d, [r9 + 1]
movsxd r11, r10d
nop word [rax + rax]
mov qword [rbx + r11*8 - 8], rax
mov rax, qword [rax + 0x38]
movsxd r15, r11d
add r11, 1
test rax, rax
jne 0x6d185140
cmp r10d, r15d
jl 0x6d185190
cmp edi, r14d
setg dl
cmp esi, r15d
setg r8b
add r14, 1
test dl, r8b
je 0x6d185320
mov rax, qword [r12 + r14*8 - 8]
movsxd r9, r15d
test rax, rax
jne 0x6d185130
movsxd r15, r9d
lea r10d, [r9 + 1]
cmp r10d, r15d
jge 0x6d18515a
nop dword [rax]
mov edx, r15d
lea rcx, [rbx + r9*8]
sub edx, r9d
call fcn.6d18b090
jmp 0x6d18515a
mov dword [r9], 2
mov r10d, dword [rcx + 0x10]
mov dword [r9 + 8], r10d
mov eax, dword [rcx + 4]
cmp eax, r10d
je 0x6d187e88
mov r11d, dword [rcx + 0xc]
cmp r11d, r10d
je 0x6d187f3e
mov r14d, dword [rcx]
sub r11d, eax
je 0x6d1851f2
mov edx, dword [rcx + 8]
mov r15d, r10d
movsxd r11, r11d
sub r15d, eax
sub edx, r14d
movsxd rax, r15d
movsxd rdx, edx
imul rax, rdx
cqo
idiv r11
add r14d, eax
mov dword [r9 + 4], r14d
movdqu xmm5, xmmword [rcx]
movups xmmword [r9 + 0x10], xmm5
mov r15, qword [rcx + 0x10]
mov qword [r9 + 0x20], r15
mov eax, dword [rcx + 0x18]
movups xmmword [r9 + 0x30], xmm0
mov dword [r9 + 0x28], eax
movups xmmword [r9 + 0x40], xmm0
test r12, r12
je 0x6d187e05
sar r10d, 8
sub r10d, r13d
movsxd r10, r10d
lea r11, [r12 + r10*8]
mov rdx, qword [r11]
mov qword [r11], r9
mov qword [r9 + 0x38], rdx
add r8, 1
add r9, 0x58
add rcx, 0x1c
cmp esi, r8d
jg 0x6d184f9c
jmp 0x6d1850f5
mov qword [rsp + 0x78], 0
cmp esi, 0x1555554
jle 0x6d1852b5
mov rcx, qword [rsp + 0x78]
call fcn.6d05d340
jmp 0x6d184e71
lea r12, [rsp + 0x1a0]
jmp 0x6d184e3a
test esi, esi
jg 0x6d184ea7
lea rdi, [rsp + 0x3a0]
lea rsi, [rsp + 0xe0]
mov qword [rsp + 0x98], rdi
mov rbx, rsi
mov qword [rsp + 0x78], rdi
jmp 0x6d185324
mov qword [rbx], r15
mov rax, r15
jmp 0x6d184f7c
lea ecx, [rsi + rsi*2]
shl ecx, 5
add ecx, 8
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x78], rax
test rax, rax
je 0x6d185264
xor r12d, r12d
movsxd r9, esi
mov r15, qword [rsp + 0x78]
lea rax, [rsp + 0x3a0]
lea r10, [r9 + r9*4]
mov qword [rsp + 0x98], rax
lea r11, [r9 + r10*2]
lea rbx, [r15 + r11*8]
jmp 0x6d184ec4
lea ecx, [rsi + rsi*2]
shl ecx, 5
add ecx, 8
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x6d1852d0
jmp 0x6d184e60
lea rsi, [rbx + r15*8]
lea rdi, [rsp + 0x1a0]
cmp r12, rdi
je 0x6d185339
mov rcx, r12
call fcn.6d05d340
cmp ebp, 1
mov qword [rsi], 0
lea rcx, [rsp + 0xb90]
mov edx, 0x20
sbb ebp, ebp
xor r13d, r13d
xor r15d, r15d
mov qword [rsp + 0x2fc0], rbx
or ebp, 1
mov qword [rsp + 0x88], rcx
movabs r12, 0x40000000000
mov dword [rsp + 0x3c], ebp
call fcn.6d19b730
mov rbx, qword [rsp + 0x2fc0]
mov qword [rsp + 0xfb0], r12
lea r12, [rsp + 0xfc0]
mov qword [rsp + 0xfb8], r12
mov qword [rsp + 0xfc8], 0
mov rbp, qword [rbx]
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x38], 0x80000000
mov qword [rsp + 0x70], 0
test r13, r13
je 0x6d185558
nop dword [rax + rax]
test rbp, rbp
je 0x6d18541d
mov r10d, dword [rbp + 8]
sub r10d, dword [r13 + 8]
jne 0x6d185414
mov r10d, dword [rbp + 4]
sub r10d, dword [r13 + 4]
jne 0x6d185414
mov r10d, dword [rbp]
sub r10d, dword [r13]
jne 0x6d185414
mov rsi, rbp
sub rsi, r13
sar rsi, 2
imul r10d, esi, 0xaaaaaaab
test r10d, r10d
js 0x6d187290
movsxd r11, dword [rsp + 0xfb0]
lea esi, [r11 - 1]
mov dword [rsp + 0xfb0], esi
test esi, esi
je 0x6d187430
mov r9, qword [r12 + r11*8]
mov r8d, 2
mov r11d, 1
cmp esi, 1
jg 0x6d185472
jmp 0x6d187d04
mov qword [r8], rdx
mov esi, dword [rsp + 0xfb0]
lea r8d, [r10 + r10]
cmp esi, r8d
jl 0x6d187478
movsxd r11, r10d
movsxd r14, r8d
mov r10d, r8d
shl r14, 3
lea rdi, [r12 + r14]
mov rdx, qword [rdi]
mov ebx, dword [rdx + 4]
mov eax, dword [rdx + 8]
cmp r8d, esi
je 0x6d1854d2
lea r14, [r12 + r14 + 8]
mov rsi, qword [r14]
mov ebp, dword [rsi + 8]
mov ecx, ebp
sub ecx, eax
jne 0x6d1854bc
mov ecx, dword [rsi + 4]
sub ecx, ebx
jne 0x6d1854bc
mov ecx, dword [rsi]
sub ecx, dword [rdx]
jne 0x6d1854bc
mov rcx, rsi
sub rcx, rdx
sar rcx, 2
imul ecx, ecx, 0xaaaaaaab
mov r10d, r8d
test ecx, ecx
jns 0x6d1854d2
mov ebx, dword [rsi + 4]
add r10d, 1
mov eax, ebp
mov rdx, rsi
mov rdi, r14
sub eax, dword [r9 + 8]
jne 0x6d1854f7
mov eax, ebx
sub eax, dword [r9 + 4]
jne 0x6d1854f7
mov eax, dword [rdx]
sub eax, dword [r9]
jne 0x6d1854f7
mov rax, rdx
sub rax, r9
sar rax, 2
imul eax, eax, 0xaaaaaaab
lea r8, [r12 + r11*8]
test eax, eax
js 0x6d185458
mov qword [r8], r9
mov rbp, r13
mov ecx, dword [rsp + 0x38]
cmp dword [rbp + 8], ecx
jne 0x6d185610
mov r13d, dword [rbp]
cmp r13d, 1
je 0x6d185aad
cmp r13d, 2
je 0x6d186860
test r13d, r13d
je 0x6d186478
mov r12, qword [rsp + 0xfb8]
mov rbx, qword [rsp + 0x2fc0]
mov r13, qword [r12 + 8]
mov rbp, qword [rbx]
test r13, r13
jne 0x6d1853e0
add rbx, 8
mov qword [rsp + 0x2fc0], rbx
test rbp, rbp
jne 0x6d185509
test r15, r15
je 0x6d1855bf
mov r12, qword [rsp + 0x3020]
nop word cs:[rax + rax]
mov r14, qword [r15 + 0x38]
test r14, r14
je 0x6d1855ae
mov r8d, dword [r15 + 0x14]
mov edx, dword [r15 + 0x40]
cmp r8d, edx
jle 0x6d1855a6
mov qword [rsp + 0x20], r14
mov r9, r15
mov rcx, r12
call fcn.6d1e3cf0
mov qword [r15 + 0x38], 0
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x6d185580
mov r12, qword [rsp + 0xfb8]
mov r15, qword [rsp + 0x3020]
mov ebx, dword [r15]
cmp r12, qword [rsp + 0x90]
je 0x6d1855dc
mov rcx, r12
call fcn.6d05d340
mov rcx, qword [rsp + 0x88]
call fcn.6d19b6d0
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x98]
cmp r15, rbp
je 0x6d184e7d
mov rcx, r15
call fcn.6d05d340
jmp 0x6d184e7d
mov rbx, qword [rsp + 0x3020]
test r15, r15
je 0x6d185657
nop dword [rax]
mov r10, qword [r15 + 0x38]
test r10, r10
je 0x6d18564e
mov r8d, dword [r15 + 0x14]
mov edx, dword [r15 + 0x40]
cmp r8d, edx
jle 0x6d185646
mov qword [rsp + 0x20], r10
mov r9, r15
mov rcx, rbx
call fcn.6d1e3cf0
mov qword [r15 + 0x38], 0
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x6d185620
mov rdx, qword [rsp + 0x70]
xor eax, eax
mov rdi, rdx
mov r13, rdx
test rdx, rdx
je 0x6d185a95
mov qword [rsp + 0x68], rbp
mov r14d, eax
jmp 0x6d18599d
test rbx, rbx
je 0x6d185a70
mov rax, qword [r13 + 0x30]
mov rbp, rax
and eax, 1
and rbp, 0xfffffffffffffffe
cmp rbx, rbp
je 0x6d1862d8
mov rax, qword [rbx + 0x30]
mov r8, rax
and r8, 0xfffffffffffffffe
cmp r13, r8
je 0x6d187348
mov ecx, dword [r13]
mov r9d, dword [rbx]
mov r12d, dword [r13 + 4]
mov r11d, dword [rbx + 4]
cmp ecx, r9d
mov ebp, dword [rbx + 0xc]
mov r15d, dword [r13 + 0xc]
sete sil
mov r8d, dword [r13 + 8]
mov r10d, dword [rbx + 8]
sete byte [rsp + 0x60]
movzx eax, sil
mov dword [rsp + 0x40], ebp
mov edx, eax
mov dword [rsp + 0x48], r15d
or edx, 2
cmp r12d, r11d
cmovne edx, eax
cmp r8d, r10d
je 0x6d186450
mov esi, edx
or esi, 0x10
cmp dword [rsp + 0x40], r15d
cmove edx, esi
mov ebp, r10d
mov r15d, r8d
sub ebp, r9d
sub r15d, ecx
mov dword [rsp + 0x58], r15d
je 0x6d1862b0
test ebp, ebp
je 0x6d185766
mov esi, r15d
xor esi, ebp
js 0x6d185766
mov esi, dword [rsp + 0x40]
movsxd r15, r15d
sub esi, r11d
movsxd rsi, esi
imul rsi, r15
mov qword [rsp + 0x80], rsi
mov esi, dword [rsp + 0x48]
sub esi, r12d
movsxd r15, esi
movsxd rsi, ebp
imul r15, rsi
cmp qword [rsp + 0x80], r15
je 0x6d1862b9
mov qword [r13 + 0x30], rbx
mov rax, qword [rdi + 0x38]
cmp rax, r13
je 0x6d185997
nop word [rax + rax]
test rax, rax
je 0x6d1858ab
mov rdx, qword [rax + 0x30]
mov rbx, rdx
and edx, 1
and rbx, 0xfffffffffffffffe
cmp r13, rbx
je 0x6d186358
mov rdx, qword [r13 + 0x30]
mov r9, rdx
and r9, 0xfffffffffffffffe
cmp rax, r9
je 0x6d187718
mov r8d, dword [rax]
mov r10d, dword [r13]
mov ebp, dword [rax + 4]
mov ebx, dword [r13 + 4]
cmp r8d, r10d
mov r15d, dword [r13 + 0xc]
mov r12d, dword [rax + 0xc]
sete r11b
mov r9d, dword [rax + 8]
sete byte [rsp + 0x60]
movzx edx, r11b
mov r11d, dword [r13 + 8]
mov dword [rsp + 0x40], r15d
mov ecx, edx
mov dword [rsp + 0x48], r12d
or ecx, 2
cmp ebp, ebx
cmovne ecx, edx
cmp r9d, r11d
je 0x6d1874a0
mov esi, ecx
or esi, 0x10
cmp dword [rsp + 0x40], r12d
cmove ecx, esi
mov esi, r11d
mov r15d, r9d
sub esi, r10d
sub r15d, r8d
mov dword [rsp + 0x58], r15d
je 0x6d186330
test esi, esi
je 0x6d185879
mov r12d, r15d
xor r12d, esi
js 0x6d185879
mov r12d, dword [rsp + 0x40]
movsxd r15, r15d
mov qword [rsp + 0x80], r15
mov r15, qword [rsp + 0x80]
sub r12d, ebx
movsxd r12, r12d
imul r15, r12
mov r12d, dword [rsp + 0x48]
sub r12d, ebp
mov qword [rsp + 0x80], r15
movsxd r12, r12d
movsxd r15, esi
imul r12, r15
cmp qword [rsp + 0x80], r12
je 0x6d186339
mov qword [rax + 0x30], r13
mov edx, dword [rdi + 0x40]
mov r8d, dword [rsp + 0x38]
cmp edx, r8d
jge 0x6d1858a3
mov rax, qword [rdi + 0x38]
mov rcx, qword [rsp + 0x3020]
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.6d1e3cf0
mov qword [rdi + 0x38], 0
mov rax, qword [rdi + 0x30]
mov r10, rax
and eax, 1
and r10, 0xfffffffffffffffe
cmp r13, r10
je 0x6d186320
mov rax, qword [r13 + 0x30]
mov r12, rax
and r12, 0xfffffffffffffffe
cmp rdi, r12
je 0x6d1876f8
mov ecx, dword [rdi]
mov r9d, dword [r13]
mov r12d, dword [rdi + 4]
mov ebp, dword [r13 + 4]
cmp ecx, r9d
mov ebx, dword [r13 + 0xc]
mov r8d, dword [rdi + 8]
sete r15b
mov r10d, dword [r13 + 8]
sete byte [rsp + 0x58]
mov r11d, dword [rdi + 0xc]
movzx eax, r15b
mov dword [rsp + 0x40], ebx
mov edx, eax
or edx, 2
cmp r12d, ebp
cmovne edx, eax
cmp r8d, r10d
je 0x6d187448
mov esi, edx
or esi, 0x10
cmp dword [rsp + 0x40], r11d
cmove edx, esi
mov esi, r10d
mov r15d, r8d
sub esi, r9d
sub r15d, ecx
mov dword [rsp + 0x48], r15d
je 0x6d1862f8
test esi, esi
je 0x6d18597b
mov ebx, r15d
xor ebx, esi
js 0x6d18597b
mov ebx, dword [rsp + 0x40]
movsxd r15, r15d
sub ebx, ebp
movsxd rbx, ebx
imul rbx, r15
mov qword [rsp + 0x60], rbx
mov ebx, r11d
sub ebx, r12d
movsxd r15, ebx
movsxd rbx, esi
imul r15, rbx
cmp qword [rsp + 0x60], r15
je 0x6d186301
mov qword [rdi + 0x30], r13
mov ecx, dword [rsp + 0x38]
mov dword [rdi + 0x40], ecx
mov qword [rdi + 0x38], r13
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x6d185a90
mov rdi, rbx
mov r13, rbx
mov rbx, qword [r13 + 0x28]
add r14d, dword [r13 + 0x18]
test dword [rsp + 0x3c], r14d
je 0x6d185680
test rbx, rbx
je 0x6d185a90
cmp rdi, rbx
je 0x6d18599a
cmp qword [rbx + 0x38], 0
je 0x6d18599a
cmp qword [rdi + 0x38], 0
je 0x6d186368
mov edx, dword [rbx + 0x40]
mov r8d, dword [rsp + 0x38]
cmp edx, r8d
jge 0x6d1859f6
mov rsi, qword [rbx + 0x38]
mov rcx, qword [rsp + 0x3020]
mov r9, rbx
mov qword [rsp + 0x20], rsi
call fcn.6d1e3cf0
mov qword [rbx + 0x38], 0
jmp 0x6d18599a
cmp r12d, r11d
jge 0x6d187680
cmp r9d, r10d
mov esi, r10d
cmovle esi, r9d
cmp ecx, esi
jl 0x6d185a68
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x6d185a68
movzx r8d, byte [rsp + 0x60]
test ebp, ebp
je 0x6d1862d1
sub ecx, r9d
mov edx, ebp
xor edx, ecx
js 0x6d185a68
mov r10d, dword [rsp + 0x40]
mov eax, r12d
movsxd r8, ebp
movsxd rcx, ecx
sub eax, r11d
sub r10d, r11d
cdqe
movsxd r11, r10d
imul r8, rax
imul r11, rcx
cmp r8, r11
je 0x6d186465
nop dword [rax]
mov qword [r13 + 0x30], rbx
nop dword [rax]
mov rax, qword [rdi + 0x38]
cmp rax, r13
jne 0x6d185780
test rbx, rbx
jne 0x6d185997
nop word cs:[rax + rax]
mov rbp, qword [rsp + 0x68]
mov edi, dword [rbp + 8]
mov r13d, dword [rbp]
xor r15d, r15d
mov dword [rsp + 0x38], edi
cmp r13d, 1
jne 0x6d185524
mov r14, qword [rsp + 0xb90]
mov rsi, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x18]
mov qword [rbp], r14
mov qword [rsp + 0xb90], rbp
cmp rbx, qword [rsi + 0x28]
jne 0x6d185537
mov rdi, qword [rsi + 0x20]
mov r13, qword [rbx + 0x28]
test rdi, rdi
je 0x6d187c1e
mov qword [rdi + 0x28], rbx
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x6d187d52
mov qword [r12 + 0x20], rsi
mov rdx, qword [rbx + 0x28]
mov qword [rsi + 0x28], rdx
mov qword [rbx + 0x28], rsi
mov r8, qword [rsi + 0x20]
mov qword [rbx + 0x20], r8
mov qword [rsi + 0x20], rbx
movsxd r12, dword [rdi + 8]
movsxd rax, dword [rdi]
movsxd r11, dword [rbx + 8]
movsxd rdx, dword [rbx]
cmp r12d, eax
mov r10d, eax
cmovge r10d, r12d
mov ecx, edx
cmp r11d, edx
cmovle ecx, r11d
cmp r10d, ecx
jle 0x6d185f02
cmp eax, edx
je 0x6d187e29
mov ecx, r12d
sub ecx, eax
je 0x6d187cd0
mov r10d, r11d
sub r10d, edx
je 0x6d187cd5
mov r8d, ecx
xor r8d, r10d
js 0x6d187cd5
mov r14d, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
movsxd rcx, ecx
movsxd r10, r10d
mov r9d, dword [rbx + 0xc]
mov dword [rsp + 0x40], r14d
mov r14d, dword [rbx + 4]
mov dword [rsp + 0x68], r8d
sub r8d, dword [rsp + 0x40]
mov dword [rsp + 0x60], r9d
sub r9d, r14d
movsxd r8, r8d
movsxd r9, r9d
imul r10, r8
mov dword [rsp + 0x48], r14d
imul r9, rcx
cmp r9, r10
jle 0x6d185f02
mov r8d, dword [rsp + 0x40]
mov ecx, edx
sub r8d, dword [rsp + 0x68]
mov r10d, eax
movsxd r9, r8d
sub ecx, r11d
mov r8d, dword [rsp + 0x48]
sub r8d, dword [rsp + 0x40]
mov qword [rsp + 0x58], r9
movsxd r9, ecx
mov rcx, qword [rsp + 0x58]
sub r10d, r12d
mov r14d, dword [rsp + 0x48]
sub r14d, dword [rsp + 0x60]
movsxd r10, r10d
imul rcx, r9
movsxd r14, r14d
mov qword [rsp + 0x80], r10
mov qword [rsp + 0xa8], r14
imul r10, r14
mov qword [rsp + 0xa0], rcx
movsxd rcx, r8d
mov r8d, edx
sub r8d, eax
imul rcx, r9
movsxd r8, r8d
imul r8, r14
sub rcx, r8
sub r10, qword [rsp + 0xa0]
js 0x6d187ec3
cmp r10, rcx
jle 0x6d185f02
mov r14d, eax
mov r8d, dword [rsp + 0x40]
sub r8d, dword [rsp + 0x48]
sub r14d, edx
movsxd rcx, r14d
imul rcx, qword [rsp + 0x58]
movsxd r14, r8d
imul r14, qword [rsp + 0x80]
sub rcx, r14
cmp r10, rcx
jle 0x6d185f02
movsxd r14, dword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x68]
imul r12, r14
lea r14, [rsp + 0xc0]
imul rax, rcx
sub rax, r12
lea r12, [rsp + 0xb0]
mov rcx, rax
mov qword [rsp + 0x40], rax
movsxd rax, dword [rsp + 0x60]
imul rdx, rax
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x48], r10
imul r11, rax
mov rax, r9
sub rdx, r11
mov r11, rdx
imul rcx
mov rcx, r14
mov qword [rsp + 0x60], r11
mov r8, rax
mov rax, qword [rsp + 0x80]
mov r9, rdx
imul r11
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, r10
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0xc0]
cmp rdx, r10
je 0x6d185f02
test rdx, rdx
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0xd4], 0
je 0x6d185d60
mov r8, r10
mov rcx, rdx
mov rax, rdx
shr r8, 0x3f
shr rcx, 0x3f
neg rax
cmp r8b, cl
cmove rax, rdx
add rax, rax
cmp r10, rax
jg 0x6d18818b
mov rdx, r9
sar rdx, 0x3f
or rdx, 1
add r9, rdx
mov rax, qword [rsp + 0xa8]
imul qword [rsp + 0x40]
mov dword [rsp + 0x48], r9d
mov rcx, r14
mov dword [rsp + 0xd0], r9d
mov qword [rsp + 0x40], r10
mov r8, rax
mov rax, qword [rsp + 0x58]
mov r9, rdx
imul r11
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, r10
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0xc0]
cmp rdx, r10
je 0x6d185f02
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x6d185e14
mov r11, r10
mov r9, rdx
mov r14, rdx
shr r11, 0x3f
shr r9, 0x3f
neg r14
cmp r11b, r9b
cmove r14, rdx
add r14, r14
cmp r10, r14
jg 0x6d188135
mov r10, r12
sar r10, 0x3f
or r10, 1
add r12, r10
lea r14, [rsp + 0xd0]
mov rcx, rdi
mov dword [rsp + 0xd8], r12d
mov rdx, r14
call fcn.6d18a960
test eax, eax
je 0x6d185f02
mov rdx, r14
mov rcx, rbx
call fcn.6d18a960
test eax, eax
je 0x6d185f02
mov r8, qword [rbp]
movq xmm0, rdi
movq xmm2, rbx
mov ebx, dword [rsp + 0x48]
punpcklqdq xmm0, xmm2
mov dword [rbp + 8], r12d
mov qword [rsp + 0xb90], r8
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp], 1
mov dword [rbp + 4], ebx
mov edi, dword [rsp + 0xfb0]
lea ecx, [rdi + 1]
cmp ecx, dword [rsp + 0xfb4]
je 0x6d1881a5
mov dword [rsp + 0xfb0], ecx
mov r9, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6d185ebc
jmp 0x6d187ff6
mov qword [r8], rdx
cmp ecx, 1
je 0x6d187ff6
movsxd r11, ecx
sar ecx, 1
mov r14d, dword [rbp + 8]
movsxd rax, ecx
mov rdx, qword [r9 + rax*8]
sub r14d, dword [rdx + 8]
jne 0x6d185ef6
mov r14d, dword [rbp + 4]
sub r14d, dword [rdx + 4]
jne 0x6d185ef6
mov r14d, dword [rbp]
sub r14d, dword [rdx]
jne 0x6d185ef6
mov r10, rbp
sub r10, rdx
sar r10, 2
imul r14d, r10d, 0xaaaaaaab
lea r8, [r9 + r11*8]
test r14d, r14d
js 0x6d185eb0
mov qword [r8], rbp
test r13, r13
je 0x6d185537
movsxd rcx, dword [rsi + 8]
movsxd rax, dword [rsi]
movsxd r8, dword [r13 + 8]
movsxd rdx, dword [r13]
cmp ecx, eax
mov ebp, eax
cmovge ebp, ecx
mov ebx, edx
cmp r8d, edx
cmovle ebx, r8d
cmp ebp, ebx
jle 0x6d185537
cmp eax, edx
je 0x6d187e58
mov r9d, ecx
sub r9d, eax
je 0x6d187d0e
mov ebp, r8d
sub ebp, edx
je 0x6d187d14
mov r11d, r9d
xor r11d, ebp
js 0x6d187d14
mov ebx, dword [rsi + 0xc]
mov r14d, dword [r13 + 0xc]
movsxd r9, r9d
movsxd rbp, ebp
movsxd r10, dword [rsi + 4]
movsxd r12, dword [r13 + 4]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x48], r14d
sub ebx, r10d
sub r14d, r12d
movsxd rdi, r14d
movsxd r11, ebx
imul rdi, r9
imul r11, rbp
cmp rdi, r11
jle 0x6d185537
mov r11d, r10d
mov r9d, edx
sub r11d, dword [rsp + 0x40]
mov ebp, r12d
sub ebp, dword [rsp + 0x48]
sub r9d, r8d
mov edi, eax
movsxd r14, ebp
movsxd rbp, r11d
movsxd rbx, r9d
mov r9d, r12d
mov r11, rbp
sub r9d, r10d
sub edi, ecx
imul r11, rbx
movsxd r9, r9d
movsxd rdi, edi
imul r9, rbx
mov qword [rsp + 0x58], rdi
imul rdi, r14
mov qword [rsp + 0x60], r11
mov r11d, edx
sub r11d, eax
movsxd r11, r11d
imul r11, r14
sub r9, r11
sub rdi, qword [rsp + 0x60]
js 0x6d187f08
cmp rdi, r9
jle 0x6d185537
mov r9d, eax
mov r11d, r10d
sub r9d, edx
sub r11d, r12d
movsxd r9, r9d
movsxd r11, r11d
imul r9, rbp
imul r11, qword [rsp + 0x58]
sub r9, r11
cmp rdi, r9
jle 0x6d185537
movsxd r9, dword [rsp + 0x40]
imul rcx, r10
lea r10, [rsp + 0xc0]
imul r8, r12
lea r12, [rsp + 0xb0]
imul rax, r9
sub rax, rcx
mov r11, rax
movsxd rax, dword [rsp + 0x48]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x60], r11
imul rax, rdx
sub rax, r8
mov r8, rdi
mov r9, rax
mov qword [rsp + 0x40], rax
mov rax, rbx
imul r11
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov rbx, rdx
imul r9
sub rcx, rax
sbb rbx, rdx
mov qword [rsp + 0xb0], rcx
mov rdx, r12
mov rcx, r10
mov qword [rsp + 0xb8], rbx
call fcn.6d1aeee0
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rcx, rdi
je 0x6d185537
test rcx, rcx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0xd4], 0
je 0x6d18610b
mov rbx, rdi
mov r8, rcx
mov rdx, rcx
shr rbx, 0x3f
shr r8, 0x3f
neg rdx
cmp bl, r8b
cmove rdx, rcx
add rdx, rdx
cmp rdi, rdx
jg 0x6d18816b
cqo
or rdx, 1
add rax, rdx
mov dword [rsp + 0x48], eax
mov r8, rdi
mov dword [rsp + 0xd0], eax
mov rax, r14
imul r11
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov rbx, rdx
imul rbp
sub rcx, rax
sbb rbx, rdx
mov qword [rsp + 0xb0], rcx
mov rdx, r12
mov rcx, r10
mov qword [rsp + 0xb8], rbx
call fcn.6d1aeee0
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rcx, rdi
je 0x6d185537
mov dword [rsp + 0xdc], 0
test rcx, rcx
je 0x6d1861a7
mov r10, rdi
mov r12, rcx
mov r14, rcx
shr r10, 0x3f
shr r12, 0x3f
neg r14
cmp r10b, r12b
cmove r14, rcx
add r14, r14
cmp rdi, r14
jg 0x6d18817b
cqo
or rdx, 1
add rax, rdx
lea rdi, [rsp + 0xd0]
mov rcx, rsi
mov dword [rsp + 0xd8], eax
mov ebp, eax
mov rdx, rdi
call fcn.6d18a960
test eax, eax
je 0x6d185537
mov rdx, rdi
mov rcx, r13
call fcn.6d18a960
test eax, eax
je 0x6d185537
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x6d1881f0
mov rax, qword [rdi]
mov qword [rsp + 0xb90], rax
movq xmm5, rsi
movq xmm1, r13
mov esi, dword [rsp + 0x48]
mov dword [rdi + 8], ebp
punpcklqdq xmm5, xmm1
mov dword [rdi], 1
mov dword [rdi + 4], esi
movups xmmword [rdi + 0x10], xmm5
mov r13d, dword [rsp + 0xfb0]
lea eax, [r13 + 1]
cmp eax, dword [rsp + 0xfb4]
je 0x6d1881cc
mov dword [rsp + 0xfb0], eax
mov r9, qword [rsp + 0xfb8]
cmp eax, 1
jne 0x6d18625d
jmp 0x6d187fff
mov qword [rbp], r12
cmp eax, 1
je 0x6d187fff
movsxd r8, eax
sar eax, 1
mov edx, dword [rdi + 8]
movsxd r10, eax
mov r12, qword [r9 + r10*8]
sub edx, dword [r12 + 8]
jne 0x6d186296
mov edx, dword [rdi + 4]
sub edx, dword [r12 + 4]
jne 0x6d186296
mov edx, dword [rdi]
sub edx, dword [r12]
jne 0x6d186296
mov r14, rdi
sub r14, r12
sar r14, 2
imul edx, r14d, 0xaaaaaaab
lea rbp, [r9 + r8*8]
test edx, edx
js 0x6d186250
mov qword [rbp], rdi
jmp 0x6d185537
cmp r9d, r10d
jne 0x6d185766
test edx, edx
je 0x6d185a00
mov eax, edx
shr eax, 1
and eax, edx
mov r8d, eax
and eax, 1
and r8d, 1
or r8, rbx
mov qword [r13 + 0x30], r8
test eax, eax
jne 0x6d1859b9
mov rax, qword [rdi + 0x38]
cmp rax, r13
jne 0x6d185780
jmp 0x6d185a7d
cmp r9d, r10d
jne 0x6d18597b
test edx, edx
je 0x6d1874d0
mov eax, edx
shr eax, 1
and eax, edx
mov r8d, eax
and eax, 1
and r8d, 1
or r8, r13
mov qword [rdi + 0x30], r8
test eax, eax
jne 0x6d18598a
jmp 0x6d18597f
cmp r10d, r11d
jne 0x6d185879
test ecx, ecx
je 0x6d1875f8
mov edx, ecx
shr edx, 1
and edx, ecx
mov r9d, edx
and edx, 1
and r9d, 1
or r9, r13
mov qword [rax + 0x30], r9
test edx, edx
je 0x6d18587d
jmp 0x6d185986
mov rax, qword [rdi + 0x30]
mov r13, rax
and eax, 1
and r13, 0xfffffffffffffffe
cmp rbx, r13
je 0x6d187408
mov rax, qword [rbx + 0x30]
mov r12, rax
and r12, 0xfffffffffffffffe
cmp rdi, r12
je 0x6d187ad7
mov ecx, dword [rdi]
mov r9d, dword [rbx]
mov r13d, dword [rdi + 4]
mov r12d, dword [rbx + 4]
cmp ecx, r9d
mov r8d, dword [rdi + 8]
mov r10d, dword [rbx + 8]
sete sil
sete byte [rsp + 0x58]
mov r11d, dword [rdi + 0xc]
movzx eax, sil
mov esi, dword [rbx + 0xc]
mov edx, eax
or edx, 2
cmp r13d, r12d
cmovne edx, eax
cmp r8d, r10d
je 0x6d1877f0
mov ebp, edx
or ebp, 0x10
cmp esi, r11d
cmove edx, ebp
mov r15d, r10d
mov ebp, r8d
sub r15d, r9d
sub ebp, ecx
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], ebp
je 0x6d1873e0
movsxd r15, dword [rsp + 0x48]
test r15d, r15d
je 0x6d186440
mov ebp, dword [rsp + 0x40]
xor ebp, r15d
js 0x6d186440
mov ebp, esi
sub ebp, r12d
movsxd rbp, ebp
mov qword [rsp + 0x60], rbp
movsxd rbp, dword [rsp + 0x40]
imul rbp, qword [rsp + 0x60]
mov qword [rsp + 0x60], rbp
mov ebp, r11d
sub ebp, r13d
movsxd rbp, ebp
imul rbp, r15
cmp qword [rsp + 0x60], rbp
je 0x6d1873e9
mov qword [rdi + 0x30], rbx
jmp 0x6d1859d0
cmp ebp, r15d
jne 0x6d187670
or edx, 0x18
cmp edx, 0x1b
jne 0x6d18570c
mov rbp, rbx
or rbp, 1
mov qword [r13 + 0x30], rbp
jmp 0x6d1859b9
mov r13, qword [rbp + 0x10]
mov r9, qword [rsp + 0xb90]
mov qword [rbp], r9
mov rbx, qword [r13 + 0x20]
mov qword [rsp + 0xb90], rbp
mov rsi, qword [r13 + 0x28]
test rbx, rbx
je 0x6d1877c0
mov qword [rbx + 0x28], rsi
mov r8, qword [r13 + 0x28]
test r8, r8
je 0x6d1864b6
mov r11, qword [r13 + 0x20]
mov qword [r8 + 0x20], r11
cmp r13, qword [rsp + 0x50]
je 0x6d1877d0
cmp qword [r13 + 0x38], 0
je 0x6d1864e0
mov qword [r13 + 0x28], r15
test r15, r15
je 0x6d1864d5
mov qword [r15 + 0x20], r13
mov qword [r13 + 0x20], 0
mov r15, r13
test rbx, rbx
je 0x6d185537
test rsi, rsi
je 0x6d185537
movsxd rcx, dword [rbx + 8]
movsxd rax, dword [rbx]
movsxd r8, dword [rsi + 8]
movsxd rdx, dword [rsi]
cmp ecx, eax
mov edi, eax
cmovge edi, ecx
mov r10d, edx
cmp r8d, edx
cmovle r10d, r8d
cmp edi, r10d
jle 0x6d185537
cmp eax, edx
je 0x6d187c9c
mov r9d, ecx
sub r9d, eax
je 0x6d187af1
mov r10d, r8d
sub r10d, edx
je 0x6d187af7
mov r11d, r9d
xor r11d, r10d
js 0x6d187af7
movsxd r14, dword [rsi + 0xc]
mov edi, dword [rbx + 0xc]
movsxd r9, r9d
movsxd r10, r10d
mov r13d, dword [rbx + 4]
movsxd r12, dword [rsi + 4]
mov r11d, r14d
mov dword [rsp + 0x58], edi
sub r11d, r12d
sub edi, r13d
movsxd r11, r11d
movsxd rdi, edi
imul r11, r9
imul r10, rdi
cmp r11, r10
jle 0x6d185537
mov r11d, r12d
mov r9d, edx
mov r10d, r13d
sub r10d, dword [rsp + 0x58]
sub r11d, r14d
sub r9d, r8d
movsxd r10, r10d
mov edi, eax
movsxd r11, r11d
mov qword [rsp + 0x48], r10
sub edi, ecx
mov qword [rsp + 0x40], r11
movsxd r11, r9d
mov r9d, r12d
movsxd rdi, edi
imul r10, r11
sub r9d, r13d
mov qword [rsp + 0x68], rdi
movsxd r9, r9d
imul rdi, qword [rsp + 0x40]
imul r9, r11
mov qword [rsp + 0x60], r10
mov r10d, edx
sub r10d, eax
movsxd r10, r10d
imul r10, qword [rsp + 0x40]
sub r9, r10
sub rdi, qword [rsp + 0x60]
js 0x6d187d97
cmp rdi, r9
jle 0x6d185537
mov r9d, eax
mov r10d, r13d
sub r9d, edx
sub r10d, r12d
movsxd r9, r9d
imul r9, qword [rsp + 0x48]
movsxd r10, r10d
imul r10, qword [rsp + 0x68]
sub r9, r10
cmp rdi, r9
jle 0x6d185537
movsxd r9, dword [rsp + 0x58]
imul r12, r8
imul rdx, r14
lea r14, [rsp + 0xc0]
imul rax, r9
movsxd r9, r13d
imul rcx, r9
sub rdx, r12
lea r12, [rsp + 0xb0]
mov r13, rdx
sub rax, rcx
mov rcx, r14
mov r10, rax
mov rax, r11
imul r10
mov qword [rsp + 0x58], r10
mov r8, rax
mov rax, qword [rsp + 0x68]
mov r9, rdx
imul r13
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, rdi
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rax, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xc0]
cmp rax, rdi
je 0x6d185537
test rax, rax
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0xd4], 0
je 0x6d1866f2
mov rcx, rax
mov r8, rdi
mov rdx, rax
shr r8, 0x3f
shr rcx, 0x3f
neg rdx
cmp r8b, cl
cmovne rax, rdx
add rax, rax
cmp rdi, rax
jg 0x6d188008
mov rax, r9
sar rax, 0x3f
or rax, 1
add r9, rax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x58], r9d
mov rcx, r14
mov dword [rsp + 0xd0], r9d
imul r10
mov r8, rax
mov rax, qword [rsp + 0x48]
mov r9, rdx
imul r13
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, rdi
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rdi
je 0x6d185537
mov dword [rsp + 0xdc], 0
mov r13, rax
test rdx, rdx
jne 0x6d187f77
lea r12, [rsp + 0xd0]
mov rcx, rbx
mov dword [rsp + 0xd8], r13d
mov rdx, r12
call fcn.6d18a960
test eax, eax
je 0x6d185537
mov rdx, r12
mov rcx, rsi
call fcn.6d18a960
test eax, eax
je 0x6d185537
mov r9, qword [rbp]
movq xmm0, rbx
mov ebx, dword [rsp + 0x58]
mov dword [rbp + 8], r13d
movq xmm2, rsi
punpcklqdq xmm0, xmm2
mov qword [rsp + 0xb90], r9
movups xmmword [rbp + 0x10], xmm0
mov dword [rbp], 1
mov dword [rbp + 4], ebx
mov esi, dword [rsp + 0xfb0]
lea ecx, [rsi + 1]
cmp ecx, dword [rsp + 0xfb4]
je 0x6d188145
mov dword [rsp + 0xfb0], ecx
mov rdi, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6d18680c
jmp 0x6d187eb2
mov qword [r11], r13
cmp ecx, 1
je 0x6d187eb2
movsxd r8, ecx
sar ecx, 1
mov r14d, dword [rbp + 8]
movsxd rdx, ecx
mov r13, qword [rdi + rdx*8]
sub r14d, dword [r13 + 8]
jne 0x6d186847
mov r14d, dword [rbp + 4]
sub r14d, dword [r13 + 4]
jne 0x6d186847
mov r14d, dword [rbp]
sub r14d, dword [r13]
jne 0x6d186847
mov rax, rbp
sub rax, r13
sar rax, 2
imul r14d, eax, 0xaaaaaaab
lea r11, [rdi + r8*8]
test r14d, r14d
js 0x6d186800
mov qword [r11], rbp
jmp 0x6d185537
mov rsi, qword [rsp + 0x50]
lea r13, [rbp + 0x10]
test rsi, rsi
je 0x6d187550
mov r8d, dword [rsp + 0x38]
mov rdx, r13
mov rcx, rsi
call fcn.6d231250
test eax, eax
jne 0x6d187a63
mov ecx, dword [rsi + 0x14]
cmp dword [rbp + 0x24], ecx
js 0x6d187918
jne 0x6d187a69
mov rbx, qword [rsp + 0x50]
mov qword [rbp + 0x30], rbx
mov r8, qword [rbx + 0x28]
mov qword [rbp + 0x38], r8
test r8, r8
je 0x6d1868b6
mov qword [r8 + 0x20], r13
mov r10, qword [rsp + 0x50]
mov qword [r10 + 0x28], r13
mov r14d, dword [rbp + 0x24]
mov r8d, dword [rbp + 0x14]
cmp r14d, r8d
je 0x6d18756e
mov ecx, dword [rbp + 0x1c]
cmp r14d, ecx
je 0x6d187ae9
sub ecx, r8d
mov esi, dword [rbp + 0x10]
movsxd r10, ecx
je 0x6d186902
mov eax, dword [rbp + 0x18]
mov edx, r14d
sub edx, r8d
sub eax, esi
movsxd rbx, edx
cdqe
imul rax, rbx
cqo
idiv r10
add esi, eax
mov rbx, qword [rsp + 0xb90]
test rbx, rbx
je 0x6d187582
mov r9, qword [rbx]
mov qword [rsp + 0xb90], r9
mov dword [rbx], 0
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0
mov dword [rbx + 4], esi
mov dword [rbx + 8], r14d
mov r14d, dword [rsp + 0xfb0]
lea ecx, [r14 + 1]
cmp ecx, dword [rsp + 0xfb4]
je 0x6d187bf8
mov dword [rsp + 0xfb0], ecx
mov r9, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6d18697c
jmp 0x6d1875e8
mov qword [r11], rdx
cmp ecx, 1
je 0x6d1875e8
movsxd rsi, ecx
sar ecx, 1
mov r12d, dword [rbx + 8]
movsxd r10, ecx
mov rdx, qword [r9 + r10*8]
sub r12d, dword [rdx + 8]
jne 0x6d1869b5
mov r12d, dword [rbx + 4]
sub r12d, dword [rdx + 4]
jne 0x6d1869b5
mov r12d, dword [rbx]
sub r12d, dword [rdx]
jne 0x6d1869b5
mov rax, rbx
sub rax, rdx
sar rax, 2
imul r12d, eax, 0xaaaaaaab
lea r11, [r9 + rsi*8]
test r12d, r12d
js 0x6d186970
mov qword [r11], rbx
test r15, r15
je 0x6d186aea
mov qword [rsp + 0x60], r15
mov ebx, dword [rbp + 0x20]
mov rdi, r15
mov qword [rsp + 0x48], r13
jmp 0x6d1869ed
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x6d186ae0
cmp ebx, dword [rdi + 0x14]
jg 0x6d1869e0
mov rax, qword [rbp + 0x40]
mov r15, rax
and eax, 1
and r15, 0xfffffffffffffffe
cmp rdi, r15
je 0x6d187278
mov rax, qword [rdi + 0x30]
mov r13, rax
and r13, 0xfffffffffffffffe
cmp qword [rsp + 0x48], r13
je 0x6d187480
mov ecx, dword [rbp + 0x10]
mov r9d, dword [rdi]
mov r13d, dword [rdi + 4]
mov esi, dword [rdi + 0xc]
cmp ecx, r9d
mov r8d, dword [rbp + 0x18]
mov r10d, dword [rdi + 8]
sete r14b
sete byte [rsp + 0x58]
mov r11d, dword [rbp + 0x1c]
movzx eax, r14b
mov r14d, dword [rbp + 0x14]
mov dword [rsp + 0x40], esi
mov edx, eax
or edx, 2
cmp r14d, r13d
cmovne edx, eax
cmp r8d, r10d
je 0x6d1872a8
mov r12d, edx
or r12d, 0x10
cmp dword [rsp + 0x40], r11d
cmove edx, r12d
mov r12d, r10d
mov r15d, r8d
sub r12d, r9d
sub r15d, ecx
mov dword [rsp + 0x50], r15d
je 0x6d187250
test r12d, r12d
je 0x6d186ac9
mov esi, r15d
xor esi, r12d
js 0x6d186ac9
mov esi, dword [rsp + 0x40]
movsxd r15, r15d
sub esi, r13d
movsxd rsi, esi
imul rsi, r15
mov qword [rsp + 0x68], rsi
mov esi, r11d
sub esi, r14d
movsxd r15, esi
movsxd rsi, r12d
imul r15, rsi
cmp qword [rsp + 0x68], r15
je 0x6d187259
mov qword [rbp + 0x40], rdi
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x6d1869ed
nop word [rax + rax]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x38]
test rbx, rbx
je 0x6d186eb0
movsxd rcx, dword [rbx + 8]
movsxd rax, dword [rbx]
movsxd r9, dword [rbp + 0x18]
movsxd rdx, dword [rbp + 0x10]
cmp ecx, eax
mov r11d, eax
cmovge r11d, ecx
mov esi, edx
cmp r9d, edx
cmovle esi, r9d
cmp r11d, esi
jle 0x6d186eb0
cmp eax, edx
je 0x6d187b1a
mov r8d, ecx
sub r8d, eax
je 0x6d18798c
mov r10d, r9d
sub r10d, edx
je 0x6d187992
mov edi, r8d
xor edi, r10d
js 0x6d187992
mov edi, dword [rbx + 0xc]
mov esi, dword [rbp + 0x1c]
movsxd r8, r8d
movsxd r10, r10d
movsxd r11, dword [rbx + 4]
mov r12d, dword [rbp + 0x14]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x50], esi
sub edi, r11d
sub esi, r12d
movsxd rsi, esi
movsxd rdi, edi
imul rsi, r8
imul r10, rdi
cmp rsi, r10
jle 0x6d186eb0
mov edi, eax
mov r8d, edx
mov r10d, r11d
sub r10d, dword [rsp + 0x48]
sub edi, ecx
sub r8d, r9d
movsxd r10, r10d
mov esi, r12d
movsxd rdi, edi
sub esi, dword [rsp + 0x50]
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x40], rdi
movsxd rdi, r8d
mov r8, qword [rsp + 0x40]
movsxd rsi, esi
imul r10, rdi
mov qword [rsp + 0x58], rsi
imul r8, rsi
mov esi, r12d
sub esi, r11d
mov qword [rsp + 0x60], r10
movsxd r10, esi
mov esi, edx
sub esi, eax
imul r10, rdi
movsxd rsi, esi
imul rsi, qword [rsp + 0x58]
sub r10, rsi
sub r8, qword [rsp + 0x60]
mov rsi, r8
js 0x6d187c64
cmp r8, r10
jle 0x6d186eb0
mov r8d, eax
mov r10d, r11d
sub r8d, edx
sub r10d, r12d
movsxd r8, r8d
imul r8, qword [rsp + 0x68]
movsxd r10, r10d
imul r10, qword [rsp + 0x40]
sub r8, r10
cmp rsi, r8
jle 0x6d186eb0
movsxd r8, dword [rsp + 0x48]
imul r11, rcx
lea r10, [rsp + 0xc0]
imul rax, r8
sub rax, r11
mov rcx, rax
mov qword [rsp + 0x48], rax
movsxd rax, dword [rsp + 0x50]
imul rdx, rax
movsxd rax, r12d
lea r12, [rsp + 0xb0]
imul rax, r9
sub rdx, rax
mov rax, rdi
mov r11, rdx
imul rcx
mov rcx, r10
mov qword [rsp + 0x50], r11
mov r8, rax
mov rax, qword [rsp + 0x40]
mov r9, rdx
mov qword [rsp + 0x40], r10
imul r11
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, rsi
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rsi
je 0x6d186eb0
test rdx, rdx
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0xd4], 0
je 0x6d186d11
mov rdi, rdx
mov r9, rsi
mov rcx, rdx
shr r9, 0x3f
shr rdi, 0x3f
neg rcx
cmp r9b, dil
cmovne rdx, rcx
add rdx, rdx
cmp rsi, rdx
jg 0x6d187fbd
cqo
or rdx, 1
add rax, rdx
mov dword [rsp + 0x40], eax
mov rcx, r10
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x58]
imul qword [rsp + 0x48]
mov r8, rax
mov rax, qword [rsp + 0x68]
mov r9, rdx
imul r11
sub r8, rax
sbb r9, rdx
mov qword [rsp + 0xb0], r8
mov rdx, r12
mov r8, rsi
mov qword [rsp + 0xb8], r9
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rsi, rdx
je 0x6d186eb0
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x6d186db1
mov r11, rdx
mov r12, rsi
mov r8, rdx
shr r12, 0x3f
shr r11, 0x3f
neg r8
cmp r12b, r11b
cmovne rdx, r8
add rdx, rdx
cmp rsi, rdx
jg 0x6d187fcd
cqo
or rdx, 1
add rax, rdx
lea rdi, [rsp + 0xd0]
mov rcx, rbx
mov dword [rsp + 0xd8], eax
mov esi, eax
mov rdx, rdi
call fcn.6d18a960
test eax, eax
je 0x6d186eb0
mov rdx, rdi
mov rcx, r13
call fcn.6d18a960
test eax, eax
je 0x6d186eb0
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x6d18804e
mov rax, qword [rdi]
mov qword [rsp + 0xb90], rax
movq xmm5, rbx
movq xmm1, r13
mov ebx, dword [rsp + 0x40]
mov dword [rdi + 8], esi
punpcklqdq xmm5, xmm1
mov dword [rdi], 1
mov dword [rdi + 4], ebx
movups xmmword [rdi + 0x10], xmm5
mov r12d, dword [rsp + 0xfb0]
lea r8d, [r12 + 1]
cmp r8d, dword [rsp + 0xfb4]
je 0x6d188028
mov dword [rsp + 0xfb0], r8d
mov r9, qword [rsp + 0xfb8]
cmp r8d, 1
jne 0x6d186e6d
jmp 0x6d187dfc
mov qword [rbx], r10
cmp r8d, 1
je 0x6d187dfc
movsxd rdx, r8d
sar r8d, 1
mov ecx, dword [rdi + 8]
movsxd rsi, r8d
mov r10, qword [r9 + rsi*8]
sub ecx, dword [r10 + 8]
jne 0x6d186ea3
mov ecx, dword [rdi + 4]
sub ecx, dword [r10 + 4]
jne 0x6d186ea3
mov ecx, dword [rdi]
sub ecx, dword [r10]
jne 0x6d186ea3
mov rax, rdi
sub rax, r10
sar rax, 2
imul ecx, eax, 0xaaaaaaab
lea rbx, [r9 + rdx*8]
test ecx, ecx
js 0x6d186e60
mov qword [rbx], rdi
nop
test r14, r14
je 0x6d187338
movsxd r8, dword [rbp + 0x18]
movsxd rdx, dword [rbp + 0x10]
movsxd r9, dword [r14 + 8]
movsxd rcx, dword [r14]
cmp r8d, edx
mov r12d, edx
cmovge r12d, r8d
mov r11d, ecx
cmp r9d, ecx
cmovle r11d, r9d
cmp r12d, r11d
jle 0x6d187338
cmp edx, ecx
je 0x6d187bc0
mov eax, r8d
sub eax, edx
je 0x6d187a38
mov r12d, r9d
sub r12d, ecx
je 0x6d187a3d
mov ebx, eax
xor ebx, r12d
js 0x6d187a3d
mov edi, dword [rbp + 0x1c]
movsxd rbx, dword [rbp + 0x14]
cdqe
movsxd r10, r12d
mov ebp, dword [r14 + 0xc]
movsxd r11, dword [r14 + 4]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x48], ebp
sub ebp, r11d
movsxd rsi, ebp
imul rsi, rax
mov eax, edi
sub eax, ebx
cdqe
imul r10, rax
cmp rsi, r10
jle 0x6d187338
mov r10d, ebx
mov eax, ecx
sub r10d, dword [rsp + 0x40]
mov esi, r11d
sub esi, dword [rsp + 0x48]
sub eax, r9d
mov ebp, edx
movsxd rdi, esi
movsxd rsi, r10d
movsxd r10, eax
sub ebp, r8d
mov rax, rsi
mov qword [rsp + 0x50], rsi
mov rsi, r10
movsxd r12, ebp
mov qword [rsp + 0x58], r10
imul rax, r10
mov r10d, r11d
mov rbp, r12
sub r10d, ebx
imul rbp, rdi
movsxd r10, r10d
imul r10, rsi
mov esi, ecx
sub esi, edx
movsxd rsi, esi
imul rsi, rdi
sub r10, rsi
sub rbp, rax
js 0x6d187305
cmp rbp, r10
jle 0x6d187338
mov eax, edx
mov esi, ebx
sub eax, ecx
sub esi, r11d
movsxd r10, eax
imul r10, qword [rsp + 0x50]
movsxd rax, esi
imul rax, r12
sub r10, rax
cmp rbp, r10
jle 0x6d187338
movsxd r10, dword [rsp + 0x40]
imul rbx, r8
mov rax, qword [rsp + 0x58]
mov r8, rbp
imul r11, r9
imul rdx, r10
mov rsi, rdx
movsxd rdx, dword [rsp + 0x48]
sub rsi, rbx
imul rcx, rdx
imul rsi
sub rcx, r11
lea r11, [rsp + 0xc0]
mov r10, rcx
mov rcx, rax
mov rax, r12
mov rbx, rdx
imul r10
lea r12, [rsp + 0xb0]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r11
sub rcx, rax
sbb rbx, rdx
mov qword [rsp + 0xb0], rcx
mov rdx, r12
mov rcx, r11
mov qword [rsp + 0xb8], rbx
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rbp
je 0x6d187338
test rdx, rdx
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0xd4], 0
je 0x6d1870b5
mov r8, rdx
mov r9, rbp
mov rcx, rdx
shr r9, 0x3f
shr r8, 0x3f
neg rcx
cmp r9b, r8b
cmovne rdx, rcx
add rdx, rdx
cmp rbp, rdx
jg 0x6d187fad
cqo
or rdx, 1
add rax, rdx
mov dword [rsp + 0xd0], eax
mov ebx, eax
mov rax, rdi
mov r8, rbp
imul rsi
mov rcx, r11
mov rsi, rax
mov rax, qword [rsp + 0x50]
mov rdi, rdx
imul r10
sub rsi, rax
sbb rdi, rdx
mov rdx, r12
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], rdi
call fcn.6d1aeee0
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rbp
je 0x6d187338
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x6d18714f
mov r12, rdx
mov r11, rbp
mov rdi, rdx
shr r11, 0x3f
shr r12, 0x3f
neg rdi
cmp r11b, r12b
cmovne rdx, rdi
add rdx, rdx
cmp rbp, rdx
jg 0x6d187fdd
cqo
or rdx, 1
add rax, rdx
lea rsi, [rsp + 0xd0]
mov rcx, r13
mov dword [rsp + 0xd8], eax
mov ebp, eax
mov rdx, rsi
call fcn.6d18a960
test eax, eax
je 0x6d187338
mov rdx, rsi
mov rcx, r14
call fcn.6d18a960
test eax, eax
je 0x6d187338
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x6d1880bd
mov rax, qword [rdi]
mov qword [rsp + 0xb90], rax
movq xmm3, r14
movq xmm4, r13
mov dword [rdi], 1
punpcklqdq xmm4, xmm3
mov dword [rdi + 4], ebx
mov dword [rdi + 8], ebp
movups xmmword [rdi + 0x10], xmm4
mov r14d, dword [rsp + 0xfb0]
lea ecx, [r14 + 1]
cmp ecx, dword [rsp + 0xfb4]
je 0x6d188111
mov dword [rsp + 0xfb0], ecx
mov r10, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6d187204
jmp 0x6d187e0e
mov qword [rax], rdx
cmp ecx, 1
je 0x6d187e0e
movsxd r11, ecx
sar ecx, 1
mov esi, dword [rdi + 8]
movsxd r12, ecx
mov rdx, qword [r10 + r12*8]
sub esi, dword [rdx + 8]
jne 0x6d187236
mov esi, dword [rdi + 4]
sub esi, dword [rdx + 4]
jne 0x6d187236
mov esi, dword [rdi]
sub esi, dword [rdx]
jne 0x6d187236
mov rbp, rdi
sub rbp, rdx
sar rbp, 2
imul esi, ebp, 0xaaaaaaab
lea rax, [r10 + r11*8]
test esi, esi
js 0x6d1871f8
mov qword [rax], rdi
mov qword [rsp + 0x50], r13
jmp 0x6d185537
cmp r9d, r10d
jne 0x6d186ac9
test edx, edx
je 0x6d187368
mov eax, edx
shr eax, 1
and eax, edx
mov r8d, eax
and eax, 1
and r8d, 1
or r8, rdi
mov qword [rbp + 0x40], r8
test eax, eax
je 0x6d1869e0
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
jmp 0x6d1872d2
add rbx, 8
mov qword [rsp + 0x2fc0], rbx
jmp 0x6d185509
cmp esi, r11d
jne 0x6d1877b0
or edx, 0x18
cmp edx, 0x1b
jne 0x6d186a74
mov rbx, rdi
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
or rbx, 1
mov qword [rbp + 0x40], rbx
movdqu xmm2, xmmword [rdi + 0x38]
movups xmmword [rbp + 0x48], xmm2
mov r12, qword [rdi + 0x20]
test r12, r12
je 0x6d187d77
mov r14, qword [rdi + 0x28]
mov qword [rdi + 0x20], r14
mov r12, r14
test r14, r14
je 0x6d186aea
mov qword [r14 + 0x20], r12
jmp 0x6d186aea
cmp rbp, r10
jge 0x6d187338
mov r10d, edx
mov esi, ebx
sub r10d, ecx
sub esi, r11d
movsxd rax, r10d
imul rax, qword [rsp + 0x50]
movsxd r10, esi
imul r10, r12
sub rax, r10
cmp rbp, rax
jl 0x6d186fda
nop dword [rax]
mov qword [rsp + 0x50], r13
jmp 0x6d185537
and eax, 1
mov r15d, eax
or r15, rbx
mov qword [r13 + 0x30], r15
test eax, eax
jne 0x6d1859b9
jmp 0x6d1862e0
cmp r14d, r13d
jge 0x6d187738
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp ecx, r11d
jl 0x6d186ac9
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x6d186ac9
movzx r8d, byte [rsp + 0x58]
test r12d, r12d
je 0x6d187271
sub ecx, r9d
mov r15d, r12d
xor r15d, ecx
js 0x6d186ac9
mov esi, dword [rsp + 0x40]
mov eax, r14d
movsxd rdx, r12d
movsxd r10, ecx
sub eax, r13d
sub esi, r13d
cdqe
movsxd r8, esi
imul rdx, rax
imul r8, r10
cmp rdx, r8
jne 0x6d186ac9
jmp 0x6d1872bd
cmp r9d, r10d
jne 0x6d186440
test edx, edx
je 0x6d1879b8
mov eax, edx
shr eax, 1
and eax, edx
mov r8d, eax
and eax, 1
and r8d, 1
or r8, rbx
mov qword [rdi + 0x30], r8
test eax, eax
je 0x6d1859d0
movdqu xmm3, xmmword [rbx + 0x38]
movups xmmword [rdi + 0x38], xmm3
mov qword [rbx + 0x38], 0
jmp 0x6d18599a
mov qword [r12 + 8], 0
mov rbp, r13
jmp 0x6d185509
cmp ebx, r11d
jne 0x6d187890
or edx, 0x18
cmp edx, 0x1b
jne 0x6d185929
mov r8, r13
or r8, 1
mov qword [rdi + 0x30], r8
mov rbx, qword [r13 + 0x28]
jmp 0x6d18598e
mov r8, rdi
jmp 0x6d185503
and eax, 1
mov ecx, eax
or rcx, rdi
mov qword [rbp + 0x40], rcx
test eax, eax
je 0x6d1869e0
jmp 0x6d187280
cmp dword [rsp + 0x40], r12d
jne 0x6d187910
or ecx, 0x18
cmp ecx, 0x1b
jne 0x6d18580c
mov rdx, r13
or rdx, 1
mov qword [rax + 0x30], rdx
jmp 0x6d185986
cmp r12d, ebp
jge 0x6d187818
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp r11d, ecx
jg 0x6d18597b
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x6d18597b
movzx r8d, byte [rsp + 0x58]
test esi, esi
je 0x6d186319
sub ecx, r9d
mov r15d, esi
xor r15d, ecx
js 0x6d18597b
mov eax, r12d
movsxd r12, esi
movsxd rbx, ecx
sub eax, ebp
cdqe
imul r12, rax
mov eax, dword [rsp + 0x40]
sub eax, ebp
cdqe
imul rax, rbx
cmp r12, rax
jne 0x6d18597b
mov rdx, r13
or rdx, 1
mov qword [rdi + 0x30], rdx
jmp 0x6d18598a
mov r14d, dword [rbp + 0x24]
mov r8d, dword [rbp + 0x14]
mov qword [rsp + 0x70], r13
mov qword [rbp + 0x38], 0
cmp r14d, r8d
jne 0x6d1868d0
mov rbx, qword [rsp + 0xb90]
mov esi, dword [rbp + 0x10]
test rbx, rbx
jne 0x6d186913
mov r12, qword [rsp + 0xb98]
mov r11d, dword [rsp + 0xba8]
mov edi, dword [r12 + 0xc]
cmp r11d, edi
ja 0x6d1880a8
mov rbx, qword [r12 + 0x10]
add r11, rbx
mov qword [r12 + 0x10], r11
sub edi, dword [rsp + 0xba8]
mov dword [r12 + 0xc], edi
test rbx, rbx
jne 0x6d18691e
mov ecx, 1
call fcn.6d19a530
test eax, eax
je 0x6d1869c1
mov r12, qword [rsp + 0xfb8]
mov ebx, eax
jmp 0x6d1855ca
lea r11, [r9 + 8]
jmp 0x6d1869be
cmp ebp, ebx
jge 0x6d187898
cmp r10d, r11d
mov r12d, r11d
cmovle r12d, r10d
cmp r8d, r12d
jl 0x6d185879
cmp r10d, r11d
cmovge r11d, r10d
cmp r8d, r11d
jg 0x6d185879
movzx r9d, byte [rsp + 0x60]
test esi, esi
je 0x6d186351
sub r8d, r10d
mov r15d, esi
xor r15d, r8d
js 0x6d185879
mov r11d, dword [rsp + 0x40]
sub ebp, ebx
movsxd r9, esi
movsxd r8, r8d
movsxd rcx, ebp
sub r11d, ebx
imul r9, rcx
movsxd rbx, r11d
imul rbx, r8
cmp r9, rbx
jne 0x6d185879
jmp 0x6d1874b7
or edx, 8
jmp 0x6d18570c
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp edx, r9d
jg 0x6d185a68
cmp ecx, r8d
cmovge r8d, ecx
cmp r9d, r8d
jg 0x6d185a68
mov r10d, dword [rsp + 0x58]
movzx r8d, byte [rsp + 0x60]
test r10d, r10d
je 0x6d1862d1
sub r9d, ecx
mov ecx, dword [rsp + 0x58]
xor ecx, r9d
js 0x6d185a68
mov r15d, dword [rsp + 0x48]
sub r11d, r12d
movsxd rax, dword [rsp + 0x58]
movsxd r9, r9d
movsxd rbp, r11d
sub r15d, r12d
imul rbp, rax
movsxd r12, r15d
imul r12, r9
cmp rbp, r12
jne 0x6d185a68
jmp 0x6d186465
and eax, 1
mov r10d, eax
or r10, r13
mov qword [rdi + 0x30], r10
test eax, eax
jne 0x6d18598a
jmp 0x6d18597f
and edx, 1
mov esi, edx
or rsi, r13
mov qword [rax + 0x30], rsi
test edx, edx
je 0x6d18587d
jmp 0x6d185986
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x6d186ac9
cmp ecx, r8d
cmovge r8d, ecx
cmp r8d, r9d
jl 0x6d186ac9
mov r10d, dword [rsp + 0x50]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x6d187271
sub r9d, ecx
mov ecx, dword [rsp + 0x50]
xor ecx, r9d
js 0x6d186ac9
sub r13d, r14d
movsxd rax, dword [rsp + 0x50]
sub r11d, r14d
movsxd r9, r9d
movsxd r12, r13d
movsxd r14, r11d
imul r12, rax
imul r14, r9
cmp r12, r14
jne 0x6d186ac9
jmp 0x6d1872bd
or edx, 8
jmp 0x6d186a74
mov qword [rsp + 0x70], rsi
mov r8, rsi
jmp 0x6d1864a9
mov r12, qword [r13 + 0x20]
test r12, r12
je 0x6d187c4d
mov qword [rsp + 0x50], r12
jmp 0x6d1864c1
cmp esi, r11d
jne 0x6d187bf0
or edx, 0x18
cmp edx, 0x1b
jne 0x6d1863de
mov rcx, rbx
or rcx, 1
mov qword [rdi + 0x30], rcx
jmp 0x6d187410
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x6d18597b
cmp ecx, r8d
cmovge r8d, ecx
cmp r8d, r9d
jl 0x6d18597b
mov r10d, dword [rsp + 0x48]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x6d186319
sub r9d, ecx
mov ecx, dword [rsp + 0x48]
xor ecx, r9d
js 0x6d18597b
movsxd rax, dword [rsp + 0x48]
sub ebp, r12d
movsxd r9, r9d
movsxd rsi, ebp
imul rsi, rax
mov eax, r11d
sub eax, r12d
cdqe
imul rax, r9
cmp rsi, rax
jne 0x6d18597b
jmp 0x6d18753f
or edx, 8
jmp 0x6d185929
cmp r8d, r9d
mov ecx, r9d
cmovle ecx, r8d
cmp r10d, ecx
jl 0x6d185879
cmp r8d, r9d
cmovge r9d, r8d
cmp r9d, r10d
jl 0x6d185879
mov r11d, dword [rsp + 0x58]
movzx r9d, byte [rsp + 0x60]
test r11d, r11d
je 0x6d186351
sub r10d, r8d
mov r8d, dword [rsp + 0x58]
xor r8d, r10d
js 0x6d185879
mov esi, dword [rsp + 0x48]
sub ebx, ebp
movsxd rdx, dword [rsp + 0x58]
movsxd r10, r10d
movsxd rbx, ebx
sub esi, ebp
imul rbx, rdx
movsxd rbp, esi
imul rbp, r10
cmp rbx, rbp
jne 0x6d185879
jmp 0x6d1874b7
or ecx, 8
jmp 0x6d18580c
mov rax, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x38]
mov r14, qword [rax + 0x28]
mov rdi, rax
test r14, r14
jne 0x6d18794b
jmp 0x6d187d3a
mov r11, qword [r14 + 0x28]
mov rdi, r14
test r11, r11
je 0x6d187d3d
mov r14, r11
mov r8d, r12d
mov rdx, r13
mov rcx, r14
call fcn.6d231250
test eax, eax
jne 0x6d187964
mov eax, dword [rbp + 0x24]
sub eax, dword [r14 + 0x14]
test eax, eax
js 0x6d187938
movq xmm3, rdi
movq xmm0, r14
mov qword [rdi + 0x28], r13
punpcklqdq xmm3, xmm0
mov qword [rsp + 0x50], rdi
movups xmmword [rbp + 0x30], xmm3
mov qword [r14 + 0x20], r13
jmp 0x6d1868bf
mov r8d, edx
sub r8d, r9d
test r8d, r8d
jle 0x6d186eb0
mov esi, dword [rbx + 0xc]
mov r8d, dword [rbp + 0x1c]
movsxd r11, dword [rbx + 4]
mov r12d, dword [rbp + 0x14]
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x50], r8d
jmp 0x6d186b8a
cmp r13d, r12d
jge 0x6d187b48
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp ecx, r11d
jl 0x6d186440
cmp r9d, r10d
cmovge r10d, r9d
cmp r10d, ecx
jl 0x6d186440
mov r15d, dword [rsp + 0x48]
movzx r8d, byte [rsp + 0x58]
test r15d, r15d
je 0x6d187401
mov ebp, dword [rsp + 0x48]
sub ecx, r9d
xor ebp, ecx
js 0x6d186440
mov eax, esi
movsxd r8, dword [rsp + 0x48]
sub r13d, r12d
movsxd r10, ecx
sub eax, r12d
movsxd rdx, r13d
cdqe
imul rdx, r8
imul rax, r10
cmp rdx, rax
jne 0x6d186440
jmp 0x6d187805
mov eax, ecx
sub eax, r9d
test eax, eax
jle 0x6d187338
mov r12d, dword [rbp + 0x1c]
mov edi, dword [r14 + 0xc]
movsxd rbx, dword [rbp + 0x14]
movsxd r11, dword [r14 + 4]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x48], edi
jmp 0x6d186f48
js 0x6d187918
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov rbx, qword [r12 + 0x20]
mov rsi, r12
test rbx, rbx
jne 0x6d187a9b
jmp 0x6d187dd8
mov rdx, qword [rbx + 0x20]
mov rsi, rbx
test rdx, rdx
je 0x6d187ddb
mov rbx, rdx
mov r8d, r14d
mov rdx, r13
mov rcx, rbx
call fcn.6d231250
test eax, eax
jne 0x6d187ab3
mov eax, dword [rbp + 0x24]
sub eax, dword [rbx + 0x14]
test eax, eax
jg 0x6d187a88
mov qword [rsp + 0x50], rsi
movq xmm4, rbx
mov qword [rsi + 0x20], r13
movhps xmm4, qword [rsp + 0x50]
movups xmmword [rbp + 0x30], xmm4
mov qword [rbx + 0x28], r13
jmp 0x6d1868bf
and eax, 1
mov r12d, eax
or r12, rbx
mov qword [rdi + 0x30], r12
jmp 0x6d187408
mov esi, dword [rbp + 0x18]
jmp 0x6d186902
mov r9d, edx
sub r9d, r8d
test r9d, r9d
jle 0x6d185537
mov r14d, dword [rbx + 0xc]
mov r13d, dword [rbx + 4]
movsxd r12, dword [rsi + 4]
mov dword [rsp + 0x58], r14d
movsxd r14, dword [rsi + 0xc]
jmp 0x6d18657f
mov r8d, dword [rbp + 0x14]
cmp dword [rbx + 4], r8d
jne 0x6d186b2d
cmp ecx, r9d
jne 0x6d186b2d
mov r10d, dword [rbp + 0x1c]
cmp dword [rbx + 0xc], r10d
jne 0x6d186b2d
jmp 0x6d186eb0
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x6d186440
cmp ecx, r8d
cmovge r8d, ecx
cmp r9d, r8d
jg 0x6d186440
mov r10d, dword [rsp + 0x40]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x6d187401
sub r9d, ecx
mov ecx, dword [rsp + 0x40]
xor ecx, r9d
js 0x6d186440
movsxd rax, dword [rsp + 0x40]
sub r12d, r13d
movsxd r9, r9d
movsxd rsi, r12d
imul rsi, rax
mov eax, r11d
sub eax, r13d
cdqe
imul rax, r9
cmp rsi, rax
jne 0x6d186440
jmp 0x6d187805
mov esi, dword [r14 + 4]
cmp dword [rbp + 0x14], esi
jne 0x6d186eed
cmp r8d, r9d
jne 0x6d186eed
mov r10d, dword [r14 + 0xc]
cmp dword [rbp + 0x1c], r10d
jne 0x6d186eed
jmp 0x6d187338
or edx, 8
jmp 0x6d1863de
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov r8d, dword [rsp + 0xfb0]
lea ecx, [r8 + 1]
jmp 0x6d186950
test r13, r13
je 0x6d187e90
mov qword [r13 + 0x20], rsi
mov r9, qword [rbx + 0x28]
mov qword [rsp + 0x70], rbx
mov qword [rsi + 0x28], r9
mov qword [rbx + 0x28], rsi
mov r11, qword [rsi + 0x20]
mov qword [rbx + 0x20], r11
mov qword [rsi + 0x20], rbx
jmp 0x6d185f0b
mov r12, qword [r13 + 0x28]
jmp 0x6d1877dd
neg ebx
mov edi, ebx
sar edi, 8
neg edi
jmp 0x6d184e1a
cmp r8, r10
jge 0x6d186eb0
mov r8d, eax
mov r10d, r11d
sub r8d, edx
sub r10d, r12d
movsxd r8, r8d
imul r8, qword [rsp + 0x68]
movsxd r10, r10d
imul r10, qword [rsp + 0x40]
sub r8, r10
cmp rsi, r8
jl 0x6d186c2e
jmp 0x6d186eb0
mov r14d, dword [rsi + 4]
cmp dword [rbx + 4], r14d
jne 0x6d186522
cmp ecx, r8d
jne 0x6d186522
mov r13d, dword [rsi + 0xc]
cmp dword [rbx + 0xc], r13d
jne 0x6d186522
jmp 0x6d185537
mov ecx, edx
sub ecx, r11d
test ecx, ecx
jle 0x6d185f02
mov r14d, dword [rdi + 4]
mov r9d, dword [rbx + 4]
mov ecx, dword [rdi + 0xc]
mov r8d, dword [rbx + 0xc]
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x60], r8d
jmp 0x6d185bb0
lea r8, [r12 + 8]
jmp 0x6d185503
mov r9d, edx
sub r9d, r8d
test r9d, r9d
jle 0x6d185537
mov ebx, dword [rsi + 0xc]
mov r14d, dword [r13 + 0xc]
movsxd r10, dword [rsi + 4]
movsxd r12, dword [r13 + 4]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x48], r14d
jmp 0x6d185f98
mov r14, rax
mov qword [r14 + 0x28], r13
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 0
jmp 0x6d1868bf
mov qword [rsi + 0x28], 0
mov qword [rbx + 0x28], rsi
mov rax, qword [rsi + 0x20]
mov qword [rbx + 0x20], rax
mov qword [rsi + 0x20], rbx
jmp 0x6d185b12
mov r11d, dword [rcx]
jmp 0x6d184f29
mov r15, qword [rdi + 0x28]
mov r14, r15
jmp 0x6d1872f3
movsxd r13, edx
lea rsi, [rbx + r13*8]
mov rcx, rbx
call fcn.6d18b090
jmp 0x6d185339
cmp rdi, r9
jge 0x6d185537
mov r9d, eax
mov r10d, r13d
sub r9d, edx
sub r10d, r12d
movsxd r9, r9d
imul r9, qword [rsp + 0x48]
movsxd r10, r10d
imul r10, qword [rsp + 0x68]
sub r9, r10
cmp rdi, r9
jl 0x6d18661e
jmp 0x6d185537
mov r11d, dword [rcx + 8]
jmp 0x6d184f29
mov rbx, r12
mov qword [rbx + 0x20], r13
mov qword [rsp + 0x70], r13
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x30], 0
jmp 0x6d1868bf
xor ebx, ebx
jmp 0x6d184e7d
lea rbx, [r9 + 8]
jmp 0x6d186eab
mov qword [rbx + r8*8], r9
jmp 0x6d185239
lea rax, [r10 + 8]
jmp 0x6d18723e
mov qword [rbx + r14*8], r10
jmp 0x6d1850e0
mov qword [rbx + r8*8], r9
jmp 0x6d185035
mov r14d, dword [rbx + 4]
cmp dword [rdi + 4], r14d
jne 0x6d185b44
cmp r12d, r11d
jne 0x6d185b44
mov r9d, dword [rbx + 0xc]
cmp dword [rdi + 0xc], r9d
jne 0x6d185b44
jmp 0x6d185f02
mov edi, dword [r13 + 4]
cmp dword [rsi + 4], edi
jne 0x6d185f3a
cmp ecx, r8d
jne 0x6d185f3a
mov r12d, dword [r13 + 0xc]
cmp dword [rsi + 0xc], r12d
jne 0x6d185f3a
jmp 0x6d185537
mov r14d, dword [rcx]
jmp 0x6d1851f2
mov qword [rsi + 0x28], 0
mov qword [rbx + 0x28], rsi
mov rbp, qword [rsi + 0x20]
mov qword [rsp + 0x70], rbx
mov qword [rbx + 0x20], rbp
mov qword [rsi + 0x20], rbx
jmp 0x6d185537
lea r11, [rdi + 8]
jmp 0x6d186850
mov r11d, dword [rcx]
jmp 0x6d184fec
cmp r10, rcx
jge 0x6d185f02
mov ecx, eax
mov r8d, dword [rsp + 0x40]
sub r8d, dword [rsp + 0x48]
sub ecx, edx
movsxd r14, r8d
imul r14, qword [rsp + 0x80]
movsxd rcx, ecx
imul rcx, qword [rsp + 0x58]
sub rcx, r14
cmp r10, rcx
jl 0x6d185c6e
jmp 0x6d185f02
mov ecx, dword [rcx + 0x1c]
jmp 0x6d185096
cmp rdi, r9
jge 0x6d185537
mov r9d, eax
mov r11d, r10d
sub r9d, edx
sub r11d, r12d
movsxd r9, r9d
movsxd r11, r11d
imul r9, rbp
imul r11, qword [rsp + 0x58]
sub r9, r11
cmp rdi, r9
jl 0x6d18602b
jmp 0x6d185537
mov r14d, dword [rcx + 8]
jmp 0x6d1851f2
mov r11d, dword [rcx + 8]
jmp 0x6d184fec
lea rcx, [rsp + 0x3a0]
lea rsi, [rsp + 0xe0]
xor edx, edx
mov qword [rsp + 0x98], rcx
mov rbx, rsi
mov qword [rsp + 0x78], rcx
jmp 0x6d187d8a
mov r12, rdi
mov r14, rdx
mov r11, rdx
shr r12, 0x3f
shr r14, 0x3f
neg r11
cmp r12b, r14b
cmove r11, rdx
add r11, r11
cmp rdi, r11
jg 0x6d188018
mov rdi, rax
sar rdi, 0x3f
or rdi, 1
add r13, rdi
jmp 0x6d186769
mov dword [rsp + 0xd4], 1
jmp 0x6d1870b5
mov dword [rsp + 0xd4], 1
jmp 0x6d186d11
mov dword [rsp + 0xdc], 1
jmp 0x6d186db1
mov dword [rsp + 0xdc], 1
jmp 0x6d18714f
mov ecx, dword [r11 + 8]
jmp 0x6d185096
lea r8, [r9 + 8]
jmp 0x6d185eff
lea rbp, [r9 + 8]
jmp 0x6d18629e
mov dword [rsp + 0xd4], 1
jmp 0x6d1866f2
mov dword [rsp + 0xdc], 1
jmp 0x6d186769
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov r11d, dword [rsp + 0xfb0]
lea r8d, [r11 + 1]
jmp 0x6d186e41
mov r10, qword [rsp + 0xb98]
mov r9d, dword [rsp + 0xba8]
mov ecx, dword [r10 + 0xc]
cmp r9d, ecx
ja 0x6d18823f
mov rdi, qword [r10 + 0x10]
add r9, rdi
mov qword [r10 + 0x10], r9
sub ecx, dword [rsp + 0xba8]
mov dword [r10 + 0xc], ecx
test rdi, rdi
jne 0x6d186e04
mov ecx, 1
call fcn.6d19a530
test eax, eax
jne 0x6d1875d4
jmp 0x6d186eb0
mov rcx, qword [rsp + 0x88]
call fcn.6d19b620
mov rbx, rax
jmp 0x6d1875b9
mov r10, qword [rsp + 0xb98]
mov r9d, dword [rsp + 0xba8]
mov r8d, dword [r10 + 0xc]
cmp r9d, r8d
ja 0x6d188270
mov rdi, qword [r10 + 0x10]
add r9, rdi
mov qword [r10 + 0x10], r9
sub r8d, dword [rsp + 0xba8]
mov dword [r10 + 0xc], r8d
test rdi, rdi
jne 0x6d1871a2
mov ecx, 1
call fcn.6d19a530
test eax, eax
jne 0x6d1875d4
jmp 0x6d187338
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov ebx, dword [rsp + 0xfb0]
lea ecx, [rbx + 1]
jmp 0x6d1871d9
mov dword [rsp + 0xdc], 1
jmp 0x6d185e14
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov r10d, dword [rsp + 0xfb0]
lea ecx, [r10 + 1]
jmp 0x6d1867e6
mov dword [rsp + 0xd4], 1
jmp 0x6d18610b
mov dword [rsp + 0xdc], 1
jmp 0x6d1861a7
mov dword [rsp + 0xd4], 1
jmp 0x6d185d60
mov qword [rsp + 0x78], r12
jmp 0x6d185264
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov r12d, dword [rsp + 0xfb0]
lea ecx, [r12 + 1]
jmp 0x6d185e91
lea rcx, [rsp + 0xfb0]
call fcn.6d2035c0
test eax, eax
jne 0x6d1875d4
mov ebx, dword [rsp + 0xfb0]
lea eax, [rbx + 1]
jmp 0x6d186235
mov r9, qword [rsp + 0xb98]
mov r11d, dword [rsp + 0xba8]
mov ecx, dword [r9 + 0xc]
cmp r11d, ecx
ja 0x6d188254
mov rdi, qword [r9 + 0x10]
add r11, rdi
mov qword [r9 + 0x10], r11
sub ecx, dword [rsp + 0xba8]
mov dword [r9 + 0xc], ecx
test rdi, rdi
jne 0x6d1861fa
mov ecx, 1
call fcn.6d19a530
test eax, eax
jne 0x6d1875d4
jmp 0x6d185537
mov rcx, qword [rsp + 0x88]
call fcn.6d19b620
mov rdi, rax
jmp 0x6d188081
mov rcx, qword [rsp + 0x88]
call fcn.6d19b620
mov rdi, rax
jmp 0x6d18821f
mov rsi, rbx
jmp 0x6d185324
mov rcx, qword [rsp + 0x88]
call fcn.6d19b620
mov rdi, rax
jmp 0x6d1880f1