Function at 0x69733d50
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.6968cea0
sub rsp, rax
mov esi, dword [rdx + 0x34]
mov qword [rsp + 0x3020], rcx
mov r14, rdx
mov ebp, r8d
test esi, esi
je 0x69736d85
mov edx, dword [rdx + 0x30]
test edx, edx
je 0x69733e23
mov r13d, dword [r14 + 0x18]
mov ebx, dword [r14 + 0x20]
sar r13d, 8
test ebx, ebx
jle 0x69736be6
lea edi, [rbx - 1]
sar edi, 8
add edi, 1
sub edi, r13d
cmp edi, 0x40
jle 0x69734203
lea ecx, [rdi*8]
call sub.msvcrt.dll_malloc
mov r12, rax
test rax, rax
je 0x69733e01
movsxd r8, edi
xor edx, edx
mov rcx, r12
shl r8, 3
call sub.msvcrt.dll_memset
cmp esi, 0x17
jle 0x69734210
cmp esi, 0x1555554
jle 0x69734289
lea r9, [rsp + 0x1a0]
cmp r12, r9
jne 0x6973712b
mov ecx, 1
call fcn.697494c0
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 0x697341e3
xor r12d, r12d
test esi, esi
jle 0x69736ee0
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 0x69736cff
mov r9d, dword [rcx + 0xc]
cmp r9d, r8d
je 0x69736d5f
mov r11d, dword [rcx]
sub r9d, edx
je 0x69733eb9
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 0x6973423a
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 0x69734085
test r10d, r10d
jne 0x69734131
mov dword [r9], 2
mov r10d, dword [rcx + 0x10]
mov dword [r9 + 8], r10d
mov eax, dword [rcx + 4]
cmp eax, r10d
je 0x69736e4b
mov edx, dword [rcx + 0xc]
cmp edx, r10d
je 0x69736ed7
mov r11d, dword [rcx]
sub edx, eax
je 0x69733f7c
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 0x69736db0
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 0x69736e90
mov eax, dword [r11 + 0xc]
cmp eax, r8d
je 0x69736f7d
mov ecx, dword [r11]
sub eax, r9d
je 0x69734026
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 0x69736da7
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 0x69733f2c
test esi, esi
mov edx, 1
cmovg edx, esi
test r12, r12
je 0x69736d13
test esi, esi
jle 0x697371f6
test edi, edi
jle 0x697371f6
mov r14d, 1
xor r9d, r9d
mov rax, qword [r12 + r14*8 - 8]
test rax, rax
je 0x69734111
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 0x697340d0
cmp r10d, r15d
jl 0x69734120
cmp edi, r14d
setg dl
cmp esi, r15d
setg r8b
add r14, 1
test dl, r8b
je 0x697342b0
mov rax, qword [r12 + r14*8 - 8]
movsxd r9, r15d
test rax, rax
jne 0x697340c0
movsxd r15, r9d
lea r10d, [r9 + 1]
cmp r10d, r15d
jge 0x697340ea
nop dword [rax]
mov edx, r15d
lea rcx, [rbx + r9*8]
sub edx, r9d
call fcn.6973a020
jmp 0x697340ea
mov dword [r9], 2
mov r10d, dword [rcx + 0x10]
mov dword [r9 + 8], r10d
mov eax, dword [rcx + 4]
cmp eax, r10d
je 0x69736e18
mov r11d, dword [rcx + 0xc]
cmp r11d, r10d
je 0x69736ece
mov r14d, dword [rcx]
sub r11d, eax
je 0x69734182
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 0x69736d95
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 0x69733f2c
jmp 0x69734085
mov qword [rsp + 0x78], 0
cmp esi, 0x1555554
jle 0x69734245
mov rcx, qword [rsp + 0x78]
call fcn.6969b170
jmp 0x69733e01
lea r12, [rsp + 0x1a0]
jmp 0x69733dca
test esi, esi
jg 0x69733e37
lea rdi, [rsp + 0x3a0]
lea rsi, [rsp + 0xe0]
mov qword [rsp + 0x98], rdi
mov rbx, rsi
mov qword [rsp + 0x78], rdi
jmp 0x697342b4
mov qword [rbx], r15
mov rax, r15
jmp 0x69733f0c
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 0x697341f4
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 0x69733e54
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 0x69734260
jmp 0x69733df0
lea rsi, [rbx + r15*8]
lea rdi, [rsp + 0x1a0]
cmp r12, rdi
je 0x697342c9
mov rcx, r12
call fcn.6969b170
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.6974a6c0
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 0x697344e8
nop dword [rax + rax]
test rbp, rbp
je 0x697343ad
mov r10d, dword [rbp + 8]
sub r10d, dword [r13 + 8]
jne 0x697343a4
mov r10d, dword [rbp + 4]
sub r10d, dword [r13 + 4]
jne 0x697343a4
mov r10d, dword [rbp]
sub r10d, dword [r13]
jne 0x697343a4
mov rsi, rbp
sub rsi, r13
sar rsi, 2
imul r10d, esi, 0xaaaaaaab
test r10d, r10d
js 0x69736220
movsxd r11, dword [rsp + 0xfb0]
lea esi, [r11 - 1]
mov dword [rsp + 0xfb0], esi
test esi, esi
je 0x697363c0
mov r9, qword [r12 + r11*8]
mov r8d, 2
mov r11d, 1
cmp esi, 1
jg 0x69734402
jmp 0x69736c94
mov qword [r8], rdx
mov esi, dword [rsp + 0xfb0]
lea r8d, [r10 + r10]
cmp esi, r8d
jl 0x69736408
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 0x69734462
lea r14, [r12 + r14 + 8]
mov rsi, qword [r14]
mov ebp, dword [rsi + 8]
mov ecx, ebp
sub ecx, eax
jne 0x6973444c
mov ecx, dword [rsi + 4]
sub ecx, ebx
jne 0x6973444c
mov ecx, dword [rsi]
sub ecx, dword [rdx]
jne 0x6973444c
mov rcx, rsi
sub rcx, rdx
sar rcx, 2
imul ecx, ecx, 0xaaaaaaab
mov r10d, r8d
test ecx, ecx
jns 0x69734462
mov ebx, dword [rsi + 4]
add r10d, 1
mov eax, ebp
mov rdx, rsi
mov rdi, r14
sub eax, dword [r9 + 8]
jne 0x69734487
mov eax, ebx
sub eax, dword [r9 + 4]
jne 0x69734487
mov eax, dword [rdx]
sub eax, dword [r9]
jne 0x69734487
mov rax, rdx
sub rax, r9
sar rax, 2
imul eax, eax, 0xaaaaaaab
lea r8, [r12 + r11*8]
test eax, eax
js 0x697343e8
mov qword [r8], r9
mov rbp, r13
mov ecx, dword [rsp + 0x38]
cmp dword [rbp + 8], ecx
jne 0x697345a0
mov r13d, dword [rbp]
cmp r13d, 1
je 0x69734a3d
cmp r13d, 2
je 0x697357f0
test r13d, r13d
je 0x69735408
mov r12, qword [rsp + 0xfb8]
mov rbx, qword [rsp + 0x2fc0]
mov r13, qword [r12 + 8]
mov rbp, qword [rbx]
test r13, r13
jne 0x69734370
add rbx, 8
mov qword [rsp + 0x2fc0], rbx
test rbp, rbp
jne 0x69734499
test r15, r15
je 0x6973454f
mov r12, qword [rsp + 0x3020]
nop word cs:[rax + rax]
mov r14, qword [r15 + 0x38]
test r14, r14
je 0x6973453e
mov r8d, dword [r15 + 0x14]
mov edx, dword [r15 + 0x40]
cmp r8d, edx
jle 0x69734536
mov qword [rsp + 0x20], r14
mov r9, r15
mov rcx, r12
call fcn.69792c80
mov qword [r15 + 0x38], 0
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x69734510
mov r12, qword [rsp + 0xfb8]
mov r15, qword [rsp + 0x3020]
mov ebx, dword [r15]
cmp r12, qword [rsp + 0x90]
je 0x6973456c
mov rcx, r12
call fcn.6969b170
mov rcx, qword [rsp + 0x88]
call fcn.6974a660
mov r15, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x98]
cmp r15, rbp
je 0x69733e0d
mov rcx, r15
call fcn.6969b170
jmp 0x69733e0d
mov rbx, qword [rsp + 0x3020]
test r15, r15
je 0x697345e7
nop dword [rax]
mov r10, qword [r15 + 0x38]
test r10, r10
je 0x697345de
mov r8d, dword [r15 + 0x14]
mov edx, dword [r15 + 0x40]
cmp r8d, edx
jle 0x697345d6
mov qword [rsp + 0x20], r10
mov r9, r15
mov rcx, rbx
call fcn.69792c80
mov qword [r15 + 0x38], 0
mov r15, qword [r15 + 0x28]
test r15, r15
jne 0x697345b0
mov rdx, qword [rsp + 0x70]
xor eax, eax
mov rdi, rdx
mov r13, rdx
test rdx, rdx
je 0x69734a25
mov qword [rsp + 0x68], rbp
mov r14d, eax
jmp 0x6973492d
test rbx, rbx
je 0x69734a00
mov rax, qword [r13 + 0x30]
mov rbp, rax
and eax, 1
and rbp, 0xfffffffffffffffe
cmp rbx, rbp
je 0x69735268
mov rax, qword [rbx + 0x30]
mov r8, rax
and r8, 0xfffffffffffffffe
cmp r13, r8
je 0x697362d8
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 0x697353e0
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 0x69735240
test ebp, ebp
je 0x697346f6
mov esi, r15d
xor esi, ebp
js 0x697346f6
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 0x69735249
mov qword [r13 + 0x30], rbx
mov rax, qword [rdi + 0x38]
cmp rax, r13
je 0x69734927
nop word [rax + rax]
test rax, rax
je 0x6973483b
mov rdx, qword [rax + 0x30]
mov rbx, rdx
and edx, 1
and rbx, 0xfffffffffffffffe
cmp r13, rbx
je 0x697352e8
mov rdx, qword [r13 + 0x30]
mov r9, rdx
and r9, 0xfffffffffffffffe
cmp rax, r9
je 0x697366a8
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 0x69736430
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 0x697352c0
test esi, esi
je 0x69734809
mov r12d, r15d
xor r12d, esi
js 0x69734809
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 0x697352c9
mov qword [rax + 0x30], r13
mov edx, dword [rdi + 0x40]
mov r8d, dword [rsp + 0x38]
cmp edx, r8d
jge 0x69734833
mov rax, qword [rdi + 0x38]
mov rcx, qword [rsp + 0x3020]
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.69792c80
mov qword [rdi + 0x38], 0
mov rax, qword [rdi + 0x30]
mov r10, rax
and eax, 1
and r10, 0xfffffffffffffffe
cmp r13, r10
je 0x697352b0
mov rax, qword [r13 + 0x30]
mov r12, rax
and r12, 0xfffffffffffffffe
cmp rdi, r12
je 0x69736688
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 0x697363d8
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 0x69735288
test esi, esi
je 0x6973490b
mov ebx, r15d
xor ebx, esi
js 0x6973490b
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 0x69735291
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 0x69734a20
mov rdi, rbx
mov r13, rbx
mov rbx, qword [r13 + 0x28]
add r14d, dword [r13 + 0x18]
test dword [rsp + 0x3c], r14d
je 0x69734610
test rbx, rbx
je 0x69734a20
cmp rdi, rbx
je 0x6973492a
cmp qword [rbx + 0x38], 0
je 0x6973492a
cmp qword [rdi + 0x38], 0
je 0x697352f8
mov edx, dword [rbx + 0x40]
mov r8d, dword [rsp + 0x38]
cmp edx, r8d
jge 0x69734986
mov rsi, qword [rbx + 0x38]
mov rcx, qword [rsp + 0x3020]
mov r9, rbx
mov qword [rsp + 0x20], rsi
call fcn.69792c80
mov qword [rbx + 0x38], 0
jmp 0x6973492a
cmp r12d, r11d
jge 0x69736610
cmp r9d, r10d
mov esi, r10d
cmovle esi, r9d
cmp ecx, esi
jl 0x697349f8
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x697349f8
movzx r8d, byte [rsp + 0x60]
test ebp, ebp
je 0x69735261
sub ecx, r9d
mov edx, ebp
xor edx, ecx
js 0x697349f8
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 0x697353f5
nop dword [rax]
mov qword [r13 + 0x30], rbx
nop dword [rax]
mov rax, qword [rdi + 0x38]
cmp rax, r13
jne 0x69734710
test rbx, rbx
jne 0x69734927
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 0x697344b4
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 0x697344c7
mov rdi, qword [rsi + 0x20]
mov r13, qword [rbx + 0x28]
test rdi, rdi
je 0x69736bae
mov qword [rdi + 0x28], rbx
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x69736ce2
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 0x69734e92
cmp eax, edx
je 0x69736db9
mov ecx, r12d
sub ecx, eax
je 0x69736c60
mov r10d, r11d
sub r10d, edx
je 0x69736c65
mov r8d, ecx
xor r8d, r10d
js 0x69736c65
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 0x69734e92
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 0x69736e53
cmp r10, rcx
jle 0x69734e92
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 0x69734e92
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0xc0]
cmp rdx, r10
je 0x69734e92
test rdx, rdx
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0xd4], 0
je 0x69734cf0
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 0x6973711b
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x40]
mov r12, qword [rsp + 0xc0]
cmp rdx, r10
je 0x69734e92
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x69734da4
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 0x697370c5
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.697398f0
test eax, eax
je 0x69734e92
mov rdx, r14
mov rcx, rbx
call fcn.697398f0
test eax, eax
je 0x69734e92
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 0x69737135
mov dword [rsp + 0xfb0], ecx
mov r9, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x69734e4c
jmp 0x69736f86
mov qword [r8], rdx
cmp ecx, 1
je 0x69736f86
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 0x69734e86
mov r14d, dword [rbp + 4]
sub r14d, dword [rdx + 4]
jne 0x69734e86
mov r14d, dword [rbp]
sub r14d, dword [rdx]
jne 0x69734e86
mov r10, rbp
sub r10, rdx
sar r10, 2
imul r14d, r10d, 0xaaaaaaab
lea r8, [r9 + r11*8]
test r14d, r14d
js 0x69734e40
mov qword [r8], rbp
test r13, r13
je 0x697344c7
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 0x697344c7
cmp eax, edx
je 0x69736de8
mov r9d, ecx
sub r9d, eax
je 0x69736c9e
mov ebp, r8d
sub ebp, edx
je 0x69736ca4
mov r11d, r9d
xor r11d, ebp
js 0x69736ca4
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 0x697344c7
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 0x69736e98
cmp rdi, r9
jle 0x697344c7
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 0x697344c7
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.6975de70
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rcx, rdi
je 0x697344c7
test rcx, rcx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0xd4], 0
je 0x6973509b
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 0x697370fb
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.6975de70
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rcx, rdi
je 0x697344c7
mov dword [rsp + 0xdc], 0
test rcx, rcx
je 0x69735137
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 0x6973710b
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.697398f0
test eax, eax
je 0x697344c7
mov rdx, rdi
mov rcx, r13
call fcn.697398f0
test eax, eax
je 0x697344c7
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x69737180
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 0x6973715c
mov dword [rsp + 0xfb0], eax
mov r9, qword [rsp + 0xfb8]
cmp eax, 1
jne 0x697351ed
jmp 0x69736f8f
mov qword [rbp], r12
cmp eax, 1
je 0x69736f8f
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 0x69735226
mov edx, dword [rdi + 4]
sub edx, dword [r12 + 4]
jne 0x69735226
mov edx, dword [rdi]
sub edx, dword [r12]
jne 0x69735226
mov r14, rdi
sub r14, r12
sar r14, 2
imul edx, r14d, 0xaaaaaaab
lea rbp, [r9 + r8*8]
test edx, edx
js 0x697351e0
mov qword [rbp], rdi
jmp 0x697344c7
cmp r9d, r10d
jne 0x697346f6
test edx, edx
je 0x69734990
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 0x69734949
mov rax, qword [rdi + 0x38]
cmp rax, r13
jne 0x69734710
jmp 0x69734a0d
cmp r9d, r10d
jne 0x6973490b
test edx, edx
je 0x69736460
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 0x6973491a
jmp 0x6973490f
cmp r10d, r11d
jne 0x69734809
test ecx, ecx
je 0x69736588
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 0x6973480d
jmp 0x69734916
mov rax, qword [rdi + 0x30]
mov r13, rax
and eax, 1
and r13, 0xfffffffffffffffe
cmp rbx, r13
je 0x69736398
mov rax, qword [rbx + 0x30]
mov r12, rax
and r12, 0xfffffffffffffffe
cmp rdi, r12
je 0x69736a67
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 0x69736780
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 0x69736370
movsxd r15, dword [rsp + 0x48]
test r15d, r15d
je 0x697353d0
mov ebp, dword [rsp + 0x40]
xor ebp, r15d
js 0x697353d0
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 0x69736379
mov qword [rdi + 0x30], rbx
jmp 0x69734960
cmp ebp, r15d
jne 0x69736600
or edx, 0x18
cmp edx, 0x1b
jne 0x6973469c
mov rbp, rbx
or rbp, 1
mov qword [r13 + 0x30], rbp
jmp 0x69734949
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 0x69736750
mov qword [rbx + 0x28], rsi
mov r8, qword [r13 + 0x28]
test r8, r8
je 0x69735446
mov r11, qword [r13 + 0x20]
mov qword [r8 + 0x20], r11
cmp r13, qword [rsp + 0x50]
je 0x69736760
cmp qword [r13 + 0x38], 0
je 0x69735470
mov qword [r13 + 0x28], r15
test r15, r15
je 0x69735465
mov qword [r15 + 0x20], r13
mov qword [r13 + 0x20], 0
mov r15, r13
test rbx, rbx
je 0x697344c7
test rsi, rsi
je 0x697344c7
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 0x697344c7
cmp eax, edx
je 0x69736c2c
mov r9d, ecx
sub r9d, eax
je 0x69736a81
mov r10d, r8d
sub r10d, edx
je 0x69736a87
mov r11d, r9d
xor r11d, r10d
js 0x69736a87
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 0x697344c7
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 0x69736d27
cmp rdi, r9
jle 0x697344c7
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 0x697344c7
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.6975de70
mov rax, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xc0]
cmp rax, rdi
je 0x697344c7
test rax, rax
mov r10, qword [rsp + 0x58]
mov dword [rsp + 0xd4], 0
je 0x69735682
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 0x69736f98
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rdi
je 0x697344c7
mov dword [rsp + 0xdc], 0
mov r13, rax
test rdx, rdx
jne 0x69736f07
lea r12, [rsp + 0xd0]
mov rcx, rbx
mov dword [rsp + 0xd8], r13d
mov rdx, r12
call fcn.697398f0
test eax, eax
je 0x697344c7
mov rdx, r12
mov rcx, rsi
call fcn.697398f0
test eax, eax
je 0x697344c7
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 0x697370d5
mov dword [rsp + 0xfb0], ecx
mov rdi, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6973579c
jmp 0x69736e42
mov qword [r11], r13
cmp ecx, 1
je 0x69736e42
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 0x697357d7
mov r14d, dword [rbp + 4]
sub r14d, dword [r13 + 4]
jne 0x697357d7
mov r14d, dword [rbp]
sub r14d, dword [r13]
jne 0x697357d7
mov rax, rbp
sub rax, r13
sar rax, 2
imul r14d, eax, 0xaaaaaaab
lea r11, [rdi + r8*8]
test r14d, r14d
js 0x69735790
mov qword [r11], rbp
jmp 0x697344c7
mov rsi, qword [rsp + 0x50]
lea r13, [rbp + 0x10]
test rsi, rsi
je 0x697364e0
mov r8d, dword [rsp + 0x38]
mov rdx, r13
mov rcx, rsi
call fcn.697e01e0
test eax, eax
jne 0x697369f3
mov ecx, dword [rsi + 0x14]
cmp dword [rbp + 0x24], ecx
js 0x697368a8
jne 0x697369f9
mov rbx, qword [rsp + 0x50]
mov qword [rbp + 0x30], rbx
mov r8, qword [rbx + 0x28]
mov qword [rbp + 0x38], r8
test r8, r8
je 0x69735846
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 0x697364fe
mov ecx, dword [rbp + 0x1c]
cmp r14d, ecx
je 0x69736a79
sub ecx, r8d
mov esi, dword [rbp + 0x10]
movsxd r10, ecx
je 0x69735892
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 0x69736512
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 0x69736b88
mov dword [rsp + 0xfb0], ecx
mov r9, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x6973590c
jmp 0x69736578
mov qword [r11], rdx
cmp ecx, 1
je 0x69736578
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 0x69735945
mov r12d, dword [rbx + 4]
sub r12d, dword [rdx + 4]
jne 0x69735945
mov r12d, dword [rbx]
sub r12d, dword [rdx]
jne 0x69735945
mov rax, rbx
sub rax, rdx
sar rax, 2
imul r12d, eax, 0xaaaaaaab
lea r11, [r9 + rsi*8]
test r12d, r12d
js 0x69735900
mov qword [r11], rbx
test r15, r15
je 0x69735a7a
mov qword [rsp + 0x60], r15
mov ebx, dword [rbp + 0x20]
mov rdi, r15
mov qword [rsp + 0x48], r13
jmp 0x6973597d
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x69735a70
cmp ebx, dword [rdi + 0x14]
jg 0x69735970
mov rax, qword [rbp + 0x40]
mov r15, rax
and eax, 1
and r15, 0xfffffffffffffffe
cmp rdi, r15
je 0x69736208
mov rax, qword [rdi + 0x30]
mov r13, rax
and r13, 0xfffffffffffffffe
cmp qword [rsp + 0x48], r13
je 0x69736410
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 0x69736238
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 0x697361e0
test r12d, r12d
je 0x69735a59
mov esi, r15d
xor esi, r12d
js 0x69735a59
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 0x697361e9
mov qword [rbp + 0x40], rdi
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x6973597d
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 0x69735e40
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 0x69735e40
cmp eax, edx
je 0x69736aaa
mov r8d, ecx
sub r8d, eax
je 0x6973691c
mov r10d, r9d
sub r10d, edx
je 0x69736922
mov edi, r8d
xor edi, r10d
js 0x69736922
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 0x69735e40
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 0x69736bf4
cmp r8, r10
jle 0x69735e40
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 0x69735e40
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rsi
je 0x69735e40
test rdx, rdx
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0xd4], 0
je 0x69735ca1
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 0x69736f4d
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rsi, rdx
je 0x69735e40
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x69735d41
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 0x69736f5d
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.697398f0
test eax, eax
je 0x69735e40
mov rdx, rdi
mov rcx, r13
call fcn.697398f0
test eax, eax
je 0x69735e40
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x69736fde
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 0x69736fb8
mov dword [rsp + 0xfb0], r8d
mov r9, qword [rsp + 0xfb8]
cmp r8d, 1
jne 0x69735dfd
jmp 0x69736d8c
mov qword [rbx], r10
cmp r8d, 1
je 0x69736d8c
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 0x69735e33
mov ecx, dword [rdi + 4]
sub ecx, dword [r10 + 4]
jne 0x69735e33
mov ecx, dword [rdi]
sub ecx, dword [r10]
jne 0x69735e33
mov rax, rdi
sub rax, r10
sar rax, 2
imul ecx, eax, 0xaaaaaaab
lea rbx, [r9 + rdx*8]
test ecx, ecx
js 0x69735df0
mov qword [rbx], rdi
nop
test r14, r14
je 0x697362c8
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 0x697362c8
cmp edx, ecx
je 0x69736b50
mov eax, r8d
sub eax, edx
je 0x697369c8
mov r12d, r9d
sub r12d, ecx
je 0x697369cd
mov ebx, eax
xor ebx, r12d
js 0x697369cd
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 0x697362c8
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 0x69736295
cmp rbp, r10
jle 0x697362c8
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 0x697362c8
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rbp
je 0x697362c8
test rdx, rdx
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov dword [rsp + 0xd4], 0
je 0x69736045
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 0x69736f3d
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.6975de70
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
cmp rdx, rbp
je 0x697362c8
mov dword [rsp + 0xdc], 0
test rdx, rdx
je 0x697360df
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 0x69736f6d
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.697398f0
test eax, eax
je 0x697362c8
mov rdx, rsi
mov rcx, r14
call fcn.697398f0
test eax, eax
je 0x697362c8
mov rdi, qword [rsp + 0xb90]
test rdi, rdi
je 0x6973704d
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 0x697370a1
mov dword [rsp + 0xfb0], ecx
mov r10, qword [rsp + 0xfb8]
cmp ecx, 1
jne 0x69736194
jmp 0x69736d9e
mov qword [rax], rdx
cmp ecx, 1
je 0x69736d9e
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 0x697361c6
mov esi, dword [rdi + 4]
sub esi, dword [rdx + 4]
jne 0x697361c6
mov esi, dword [rdi]
sub esi, dword [rdx]
jne 0x697361c6
mov rbp, rdi
sub rbp, rdx
sar rbp, 2
imul esi, ebp, 0xaaaaaaab
lea rax, [r10 + r11*8]
test esi, esi
js 0x69736188
mov qword [rax], rdi
mov qword [rsp + 0x50], r13
jmp 0x697344c7
cmp r9d, r10d
jne 0x69735a59
test edx, edx
je 0x697362f8
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 0x69735970
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
jmp 0x69736262
add rbx, 8
mov qword [rsp + 0x2fc0], rbx
jmp 0x69734499
cmp esi, r11d
jne 0x69736740
or edx, 0x18
cmp edx, 0x1b
jne 0x69735a04
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 0x69736d07
mov r14, qword [rdi + 0x28]
mov qword [rdi + 0x20], r14
mov r12, r14
test r14, r14
je 0x69735a7a
mov qword [r14 + 0x20], r12
jmp 0x69735a7a
cmp rbp, r10
jge 0x697362c8
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 0x69735f6a
nop dword [rax]
mov qword [rsp + 0x50], r13
jmp 0x697344c7
and eax, 1
mov r15d, eax
or r15, rbx
mov qword [r13 + 0x30], r15
test eax, eax
jne 0x69734949
jmp 0x69735270
cmp r14d, r13d
jge 0x697366c8
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp ecx, r11d
jl 0x69735a59
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x69735a59
movzx r8d, byte [rsp + 0x58]
test r12d, r12d
je 0x69736201
sub ecx, r9d
mov r15d, r12d
xor r15d, ecx
js 0x69735a59
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 0x69735a59
jmp 0x6973624d
cmp r9d, r10d
jne 0x697353d0
test edx, edx
je 0x69736948
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 0x69734960
movdqu xmm3, xmmword [rbx + 0x38]
movups xmmword [rdi + 0x38], xmm3
mov qword [rbx + 0x38], 0
jmp 0x6973492a
mov qword [r12 + 8], 0
mov rbp, r13
jmp 0x69734499
cmp ebx, r11d
jne 0x69736820
or edx, 0x18
cmp edx, 0x1b
jne 0x697348b9
mov r8, r13
or r8, 1
mov qword [rdi + 0x30], r8
mov rbx, qword [r13 + 0x28]
jmp 0x6973491e
mov r8, rdi
jmp 0x69734493
and eax, 1
mov ecx, eax
or rcx, rdi
mov qword [rbp + 0x40], rcx
test eax, eax
je 0x69735970
jmp 0x69736210
cmp dword [rsp + 0x40], r12d
jne 0x697368a0
or ecx, 0x18
cmp ecx, 0x1b
jne 0x6973479c
mov rdx, r13
or rdx, 1
mov qword [rax + 0x30], rdx
jmp 0x69734916
cmp r12d, ebp
jge 0x697367a8
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp r11d, ecx
jg 0x6973490b
cmp r9d, r10d
cmovge r10d, r9d
cmp ecx, r10d
jg 0x6973490b
movzx r8d, byte [rsp + 0x58]
test esi, esi
je 0x697352a9
sub ecx, r9d
mov r15d, esi
xor r15d, ecx
js 0x6973490b
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 0x6973490b
mov rdx, r13
or rdx, 1
mov qword [rdi + 0x30], rdx
jmp 0x6973491a
mov r14d, dword [rbp + 0x24]
mov r8d, dword [rbp + 0x14]
mov qword [rsp + 0x70], r13
mov qword [rbp + 0x38], 0
cmp r14d, r8d
jne 0x69735860
mov rbx, qword [rsp + 0xb90]
mov esi, dword [rbp + 0x10]
test rbx, rbx
jne 0x697358a3
mov r12, qword [rsp + 0xb98]
mov r11d, dword [rsp + 0xba8]
mov edi, dword [r12 + 0xc]
cmp r11d, edi
ja 0x69737038
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 0x697358ae
mov ecx, 1
call fcn.697494c0
test eax, eax
je 0x69735951
mov r12, qword [rsp + 0xfb8]
mov ebx, eax
jmp 0x6973455a
lea r11, [r9 + 8]
jmp 0x6973594e
cmp ebp, ebx
jge 0x69736828
cmp r10d, r11d
mov r12d, r11d
cmovle r12d, r10d
cmp r8d, r12d
jl 0x69734809
cmp r10d, r11d
cmovge r11d, r10d
cmp r8d, r11d
jg 0x69734809
movzx r9d, byte [rsp + 0x60]
test esi, esi
je 0x697352e1
sub r8d, r10d
mov r15d, esi
xor r15d, r8d
js 0x69734809
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 0x69734809
jmp 0x69736447
or edx, 8
jmp 0x6973469c
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp edx, r9d
jg 0x697349f8
cmp ecx, r8d
cmovge r8d, ecx
cmp r9d, r8d
jg 0x697349f8
mov r10d, dword [rsp + 0x58]
movzx r8d, byte [rsp + 0x60]
test r10d, r10d
je 0x69735261
sub r9d, ecx
mov ecx, dword [rsp + 0x58]
xor ecx, r9d
js 0x697349f8
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 0x697349f8
jmp 0x697353f5
and eax, 1
mov r10d, eax
or r10, r13
mov qword [rdi + 0x30], r10
test eax, eax
jne 0x6973491a
jmp 0x6973490f
and edx, 1
mov esi, edx
or rsi, r13
mov qword [rax + 0x30], rsi
test edx, edx
je 0x6973480d
jmp 0x69734916
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x69735a59
cmp ecx, r8d
cmovge r8d, ecx
cmp r8d, r9d
jl 0x69735a59
mov r10d, dword [rsp + 0x50]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x69736201
sub r9d, ecx
mov ecx, dword [rsp + 0x50]
xor ecx, r9d
js 0x69735a59
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 0x69735a59
jmp 0x6973624d
or edx, 8
jmp 0x69735a04
mov qword [rsp + 0x70], rsi
mov r8, rsi
jmp 0x69735439
mov r12, qword [r13 + 0x20]
test r12, r12
je 0x69736bdd
mov qword [rsp + 0x50], r12
jmp 0x69735451
cmp esi, r11d
jne 0x69736b80
or edx, 0x18
cmp edx, 0x1b
jne 0x6973536e
mov rcx, rbx
or rcx, 1
mov qword [rdi + 0x30], rcx
jmp 0x697363a0
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x6973490b
cmp ecx, r8d
cmovge r8d, ecx
cmp r8d, r9d
jl 0x6973490b
mov r10d, dword [rsp + 0x48]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x697352a9
sub r9d, ecx
mov ecx, dword [rsp + 0x48]
xor ecx, r9d
js 0x6973490b
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 0x6973490b
jmp 0x697364cf
or edx, 8
jmp 0x697348b9
cmp r8d, r9d
mov ecx, r9d
cmovle ecx, r8d
cmp r10d, ecx
jl 0x69734809
cmp r8d, r9d
cmovge r9d, r8d
cmp r9d, r10d
jl 0x69734809
mov r11d, dword [rsp + 0x58]
movzx r9d, byte [rsp + 0x60]
test r11d, r11d
je 0x697352e1
sub r10d, r8d
mov r8d, dword [rsp + 0x58]
xor r8d, r10d
js 0x69734809
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 0x69734809
jmp 0x69736447
or ecx, 8
jmp 0x6973479c
mov rax, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x38]
mov r14, qword [rax + 0x28]
mov rdi, rax
test r14, r14
jne 0x697368db
jmp 0x69736cca
mov r11, qword [r14 + 0x28]
mov rdi, r14
test r11, r11
je 0x69736ccd
mov r14, r11
mov r8d, r12d
mov rdx, r13
mov rcx, r14
call fcn.697e01e0
test eax, eax
jne 0x697368f4
mov eax, dword [rbp + 0x24]
sub eax, dword [r14 + 0x14]
test eax, eax
js 0x697368c8
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 0x6973584f
mov r8d, edx
sub r8d, r9d
test r8d, r8d
jle 0x69735e40
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 0x69735b1a
cmp r13d, r12d
jge 0x69736ad8
cmp r9d, r10d
mov r11d, r10d
cmovle r11d, r9d
cmp ecx, r11d
jl 0x697353d0
cmp r9d, r10d
cmovge r10d, r9d
cmp r10d, ecx
jl 0x697353d0
mov r15d, dword [rsp + 0x48]
movzx r8d, byte [rsp + 0x58]
test r15d, r15d
je 0x69736391
mov ebp, dword [rsp + 0x48]
sub ecx, r9d
xor ebp, ecx
js 0x697353d0
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 0x697353d0
jmp 0x69736795
mov eax, ecx
sub eax, r9d
test eax, eax
jle 0x697362c8
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 0x69735ed8
js 0x697368a8
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x38]
mov rbx, qword [r12 + 0x20]
mov rsi, r12
test rbx, rbx
jne 0x69736a2b
jmp 0x69736d68
mov rdx, qword [rbx + 0x20]
mov rsi, rbx
test rdx, rdx
je 0x69736d6b
mov rbx, rdx
mov r8d, r14d
mov rdx, r13
mov rcx, rbx
call fcn.697e01e0
test eax, eax
jne 0x69736a43
mov eax, dword [rbp + 0x24]
sub eax, dword [rbx + 0x14]
test eax, eax
jg 0x69736a18
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 0x6973584f
and eax, 1
mov r12d, eax
or r12, rbx
mov qword [rdi + 0x30], r12
jmp 0x69736398
mov esi, dword [rbp + 0x18]
jmp 0x69735892
mov r9d, edx
sub r9d, r8d
test r9d, r9d
jle 0x697344c7
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 0x6973550f
mov r8d, dword [rbp + 0x14]
cmp dword [rbx + 4], r8d
jne 0x69735abd
cmp ecx, r9d
jne 0x69735abd
mov r10d, dword [rbp + 0x1c]
cmp dword [rbx + 0xc], r10d
jne 0x69735abd
jmp 0x69735e40
cmp ecx, r8d
mov edx, r8d
cmovle edx, ecx
cmp r9d, edx
jl 0x697353d0
cmp ecx, r8d
cmovge r8d, ecx
cmp r9d, r8d
jg 0x697353d0
mov r10d, dword [rsp + 0x40]
movzx r8d, byte [rsp + 0x58]
test r10d, r10d
je 0x69736391
sub r9d, ecx
mov ecx, dword [rsp + 0x40]
xor ecx, r9d
js 0x697353d0
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 0x697353d0
jmp 0x69736795
mov esi, dword [r14 + 4]
cmp dword [rbp + 0x14], esi
jne 0x69735e7d
cmp r8d, r9d
jne 0x69735e7d
mov r10d, dword [r14 + 0xc]
cmp dword [rbp + 0x1c], r10d
jne 0x69735e7d
jmp 0x697362c8
or edx, 8
jmp 0x6973536e
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov r8d, dword [rsp + 0xfb0]
lea ecx, [r8 + 1]
jmp 0x697358e0
test r13, r13
je 0x69736e20
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 0x69734e9b
mov r12, qword [r13 + 0x28]
jmp 0x6973676d
neg ebx
mov edi, ebx
sar edi, 8
neg edi
jmp 0x69733daa
cmp r8, r10
jge 0x69735e40
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 0x69735bbe
jmp 0x69735e40
mov r14d, dword [rsi + 4]
cmp dword [rbx + 4], r14d
jne 0x697354b2
cmp ecx, r8d
jne 0x697354b2
mov r13d, dword [rsi + 0xc]
cmp dword [rbx + 0xc], r13d
jne 0x697354b2
jmp 0x697344c7
mov ecx, edx
sub ecx, r11d
test ecx, ecx
jle 0x69734e92
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 0x69734b40
lea r8, [r12 + 8]
jmp 0x69734493
mov r9d, edx
sub r9d, r8d
test r9d, r9d
jle 0x697344c7
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 0x69734f28
mov r14, rax
mov qword [r14 + 0x28], r13
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 0
jmp 0x6973584f
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 0x69734aa2
mov r11d, dword [rcx]
jmp 0x69733eb9
mov r15, qword [rdi + 0x28]
mov r14, r15
jmp 0x69736283
movsxd r13, edx
lea rsi, [rbx + r13*8]
mov rcx, rbx
call fcn.6973a020
jmp 0x697342c9
cmp rdi, r9
jge 0x697344c7
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 0x697355ae
jmp 0x697344c7
mov r11d, dword [rcx + 8]
jmp 0x69733eb9
mov rbx, r12
mov qword [rbx + 0x20], r13
mov qword [rsp + 0x70], r13
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x30], 0
jmp 0x6973584f
xor ebx, ebx
jmp 0x69733e0d
lea rbx, [r9 + 8]
jmp 0x69735e3b
mov qword [rbx + r8*8], r9
jmp 0x697341c9
lea rax, [r10 + 8]
jmp 0x697361ce
mov qword [rbx + r14*8], r10
jmp 0x69734070
mov qword [rbx + r8*8], r9
jmp 0x69733fc5
mov r14d, dword [rbx + 4]
cmp dword [rdi + 4], r14d
jne 0x69734ad4
cmp r12d, r11d
jne 0x69734ad4
mov r9d, dword [rbx + 0xc]
cmp dword [rdi + 0xc], r9d
jne 0x69734ad4
jmp 0x69734e92
mov edi, dword [r13 + 4]
cmp dword [rsi + 4], edi
jne 0x69734eca
cmp ecx, r8d
jne 0x69734eca
mov r12d, dword [r13 + 0xc]
cmp dword [rsi + 0xc], r12d
jne 0x69734eca
jmp 0x697344c7
mov r14d, dword [rcx]
jmp 0x69734182
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 0x697344c7
lea r11, [rdi + 8]
jmp 0x697357e0
mov r11d, dword [rcx]
jmp 0x69733f7c
cmp r10, rcx
jge 0x69734e92
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 0x69734bfe
jmp 0x69734e92
mov ecx, dword [rcx + 0x1c]
jmp 0x69734026
cmp rdi, r9
jge 0x697344c7
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 0x69734fbb
jmp 0x697344c7
mov r14d, dword [rcx + 8]
jmp 0x69734182
mov r11d, dword [rcx + 8]
jmp 0x69733f7c
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 0x69736d1a
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 0x69736fa8
mov rdi, rax
sar rdi, 0x3f
or rdi, 1
add r13, rdi
jmp 0x697356f9
mov dword [rsp + 0xd4], 1
jmp 0x69736045
mov dword [rsp + 0xd4], 1
jmp 0x69735ca1
mov dword [rsp + 0xdc], 1
jmp 0x69735d41
mov dword [rsp + 0xdc], 1
jmp 0x697360df
mov ecx, dword [r11 + 8]
jmp 0x69734026
lea r8, [r9 + 8]
jmp 0x69734e8f
lea rbp, [r9 + 8]
jmp 0x6973522e
mov dword [rsp + 0xd4], 1
jmp 0x69735682
mov dword [rsp + 0xdc], 1
jmp 0x697356f9
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov r11d, dword [rsp + 0xfb0]
lea r8d, [r11 + 1]
jmp 0x69735dd1
mov r10, qword [rsp + 0xb98]
mov r9d, dword [rsp + 0xba8]
mov ecx, dword [r10 + 0xc]
cmp r9d, ecx
ja 0x697371cf
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 0x69735d94
mov ecx, 1
call fcn.697494c0
test eax, eax
jne 0x69736564
jmp 0x69735e40
mov rcx, qword [rsp + 0x88]
call fcn.6974a5b0
mov rbx, rax
jmp 0x69736549
mov r10, qword [rsp + 0xb98]
mov r9d, dword [rsp + 0xba8]
mov r8d, dword [r10 + 0xc]
cmp r9d, r8d
ja 0x69737200
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 0x69736132
mov ecx, 1
call fcn.697494c0
test eax, eax
jne 0x69736564
jmp 0x697362c8
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov ebx, dword [rsp + 0xfb0]
lea ecx, [rbx + 1]
jmp 0x69736169
mov dword [rsp + 0xdc], 1
jmp 0x69734da4
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov r10d, dword [rsp + 0xfb0]
lea ecx, [r10 + 1]
jmp 0x69735776
mov dword [rsp + 0xd4], 1
jmp 0x6973509b
mov dword [rsp + 0xdc], 1
jmp 0x69735137
mov dword [rsp + 0xd4], 1
jmp 0x69734cf0
mov qword [rsp + 0x78], r12
jmp 0x697341f4
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov r12d, dword [rsp + 0xfb0]
lea ecx, [r12 + 1]
jmp 0x69734e21
lea rcx, [rsp + 0xfb0]
call fcn.697b2550
test eax, eax
jne 0x69736564
mov ebx, dword [rsp + 0xfb0]
lea eax, [rbx + 1]
jmp 0x697351c5
mov r9, qword [rsp + 0xb98]
mov r11d, dword [rsp + 0xba8]
mov ecx, dword [r9 + 0xc]
cmp r11d, ecx
ja 0x697371e4
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 0x6973518a
mov ecx, 1
call fcn.697494c0
test eax, eax
jne 0x69736564
jmp 0x697344c7
mov rcx, qword [rsp + 0x88]
call fcn.6974a5b0
mov rdi, rax
jmp 0x69737011
mov rcx, qword [rsp + 0x88]
call fcn.6974a5b0
mov rdi, rax
jmp 0x697371af
mov rsi, rbx
jmp 0x697342b4
mov rcx, qword [rsp + 0x88]
call fcn.6974a5b0
mov rdi, rax
jmp 0x69737081