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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x888
mov r13, r9
mov qword [rsp + 0x750], rdx
mov rbp, rcx
mov r10, qword [r8]
mov rax, qword [0x140294fc0]
xor rax, rsp
mov qword [rsp + 0x880], rax
mov qword [rsp + 0x850], r10
mov r11d, dword [r8 + 8]
mov dword [rsp + 0x858], r11d
mov eax, dword [rbp + 0xd4]
mov r14d, 0xfff
cmp eax, 0xfff
mov rdi, qword [rsp + 0x8f0]
cmovae eax, r14d
xor r14d, r14d
cmp dword [rbp + 0xd0], 3
lea rsi, [rbp + 0x50]
mov r9d, dword [rbp + 0x24]
lea rbx, [rdi + r13]
mov qword [rsp + 0x788], rbx
setne r14b
mov ebx, dword [rbp + 0x18]
add r14d, 3
mov r10, qword [rsi + 0x28]
lea r12, [r13 + rdi - 8]
mov r11, qword [rsi + 0x20]
add rbx, qword [rbp + 8]
mov r15, qword [rbp + 0xe0]
mov qword [rsp + 0x790], r13
mov dword [rsp + 0x760], eax
mov dword [rsp + 0x748], r9d
mov qword [rsp + 0x740], r10
mov qword [rsp + 0x7b8], r11
test r15, r15
je 0x1401576a2
mov rax, qword [r15]
mov qword [rsp + 0x640], rax
mov r9, qword [r15 + 8]
mov qword [rsp + 0x648], r9
mov r10, qword [r15 + 0x10]
mov qword [rsp + 0x650], r10
mov r11, qword [r15 + 0x18]
mov qword [rsp + 0x658], r11
mov r15, qword [r15 + 0x20]
mov qword [rsp + 0x660], r15
xor eax, eax
mov r15d, edi
xor edx, edx
lea rcx, [rsp + 0x640]
mov r8d, r15d
mov dword [rcx + 0x30], eax
mov dword [rcx + 0x28], eax
mov dword [rcx + 0x2c], eax
call fcn.140130880
mov rcx, rsi
mov rdx, r13
mov r8, rdi
mov r9d, 2
call fcn.140130be0
xor eax, eax
cmp r13, rbx
sete al
mov ebx, eax
add rbx, r13
cmp rbx, r12
jae 0x140157190
vmovdqu xmm0, xmmword [0x140227750]
lea r11d, [r14 - 1]
mov r10d, r11d
mov qword [rsp + 0x780], rsi
lea r9, [r13 + rdi - 0x20]
vmovups xmmword [rsp + 0x3d0], xmm15
vmovdqa xmm15, xmm0
mov qword [rsp + 0x768], r9
mov qword [rsp + 0x698], r10
mov dword [rsp + 0x6d8], r11d
mov dword [rsp + 0x6a0], r15d
mov dword [rsp + 0x708], r14d
mov qword [rsp + 0x7a0], r12
mov qword [rsp + 0x798], r13
mov rdi, qword [rsp + 0x7b8]
mov rsi, qword [rsp + 0x740]
mov r12, rbx
mov r14d, dword [rbp + 0x24]
mov eax, r14d
mov r15, qword [rbp + 8]
add rax, r15
sub r12, qword [rsp + 0x790]
mov r9d, dword [rbp + 0xd0]
cmp rbx, rax
jae 0x14015384a
xor eax, eax
jmp 0x140154ee0
mov r13, rbx
sub r13, r15
cmp r14d, r13d
jae 0x1401538b3
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x7b8], rdi
mov rdi, rbx
mov rsi, qword [rsp + 0x788]
mov ebx, r9d
mov rax, rsp
mov rcx, rbp
mov edx, r14d
mov r8, rsi
add rdx, r15
mov r9d, ebx
mov dword [rax + 0x20], 0
call fcn.14012fd50
add r14d, eax
cmp r14d, r13d
jb 0x140153873
mov rsi, qword [rsp + 0x740]
mov r9d, ebx
mov r15, qword [rbp + 8]
mov rbx, rdi
mov rdi, qword [rsp + 0x7b8]
mov dword [rbp + 0x24], r13d
cmp r9d, 3
je 0x1401548ad
cmp r9d, 5
jne 0x140153e1a
movabs r14, 0xcf1bbcdcbb000000
mov eax, 0xfff
imul r14, qword [rbx]
mov r11d, dword [rbp + 0xd4]
cmp r11d, 0xfff
mov ecx, dword [rbp + 0xc8]
cmovae r11d, eax
xor r10d, r10d
neg ecx
shr r14, cl
mov rax, rbx
mov dword [rsp + 0x6b0], r11d
sub rax, r15
mov r11, qword [rbp + 0x30]
mov r13d, 1
mov qword [rsp + 0x560], r11
mov r8d, eax
mov ecx, dword [rbp + 0xc4]
xor r9d, r9d
mov r11d, dword [r11 + r14*4]
add ecx, 0x1f
mov qword [rsp + 0x558], r14
mov r14d, 1
mov dword [rsp + 0x4b8], r11d
shl r14d, cl
mov r11d, dword [rbp + 0x18]
dec r14d
mov dword [rsp + 0x728], r11d
mov r11d, eax
sub r11d, r14d
cmp r14d, eax
mov ecx, dword [rbp + 0xc0]
cmovae r11d, r10d
shl r13d, cl
mov ecx, dword [rbp + 0x1c]
sub r8d, ecx
mov dword [rsp + 0x4c8], r11d
mov r11d, eax
sub r11d, r13d
cmp r8d, r13d
cmovbe r11d, ecx
mov r13d, 1
cmp dword [rbp + 0x20], 0
mov rdx, qword [rbp + 0x40]
cmovne r11d, ecx
test r11d, r11d
mov qword [rsp + 0x4c0], r9
cmovne r13d, r11d
test r12d, r12d
mov dword [rsp + 0x4e8], r13d
mov r13d, eax
sete r10b
and r13d, r14d
mov qword [rsp + 0x510], r9
add r13d, r13d
mov qword [rsp + 0x528], r9
mov r9d, 1
mov ecx, dword [rbp + 0xcc]
shl r9d, cl
lea r13, [rdx + r13*4]
mov dword [rsp + 0x4f8], r9d
mov r9, qword [rsp + 0x698]
mov qword [rsp + 0x540], rdx
lea edx, [rax + 9]
mov dword [rsp + 0x530], edx
mov qword [rsp + 0x500], r9
lea r9d, [r10 + 3]
mov dword [rsp + 0x520], r14d
lea r14, [r13 + 4]
mov dword [rsp + 0x548], r10d
mov dword [rsp + 0x6e8], r9d
mov edx, dword [rsp + 0x728]
mov rcx, qword [rsp + 0x558]
mov r8, qword [rsp + 0x560]
neg edx
lea r9, [rbx + 4]
add edx, eax
mov r10d, dword [rsp + 0x850]
mov qword [rsp + 0x410], r14
dec r10d
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x758], rbp
mov qword [rsp + 0x3e0], r9
mov dword [rsp + 0x678], r10d
mov qword [rsp + 0x418], r13
mov dword [rsp + 0x728], edx
mov dword [rsp + 0x420], r11d
mov qword [rsp + 0x558], rcx
mov qword [rsp + 0x560], r8
mov dword [rsp + 0x428], eax
mov qword [rsp + 0x458], r15
mov r14d, dword [rsp + 0x548]
mov rsi, qword [rsp + 0x500]
mov rbp, qword [rsp + 0x528]
cmp r14d, 3
jne 0x140153ae0
mov r15d, dword [rsp + 0x678]
jmp 0x140153ae8
mov r15d, dword [rsp + r14*4 + 0x850]
xor r13d, r13d
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x728]
jae 0x140153b81
mov rcx, rbx
mov edx, 4
call fcn.14012fc60
mov ecx, r15d
mov edx, 4
neg rcx
add rcx, rbx
mov dword [rsp + 0x370], eax
mov qword [rsp + 0x368], rcx
call fcn.14012fc60
neg r15d
xor r9d, r9d
add r15d, dword [rsp + 0x428]
xor r10d, r10d
cmp r15d, dword [rsp + 0x420]
setae r10b
cmp eax, dword [rsp + 0x370]
sete r9b
test r9d, r10d
je 0x140153b81
mov rdx, qword [rsp + 0x368]
add rdx, 4
mov rcx, qword [rsp + 0x3e0]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r13d, eax
add r13d, 4
mov r10d, r13d
cmp r10, rsi
jbe 0x140153bd5
xor r11d, r11d
xor r9d, r9d
test r12d, r12d
mov rsi, r10
sete r9b
add r10, rbx
cmp r13d, dword [rsp + 0x6b0]
mov eax, ebp
mov dword [rdi + rbp*8 + 4], r13d
mov r13d, r11d
seta r13b
neg r9d
cmp r10, qword [rsp + 0x788]
sete r11b
inc eax
add r9d, r14d
mov dword [rdi + rbp*8], r9d
mov ebp, eax
or r13d, r11d
jne 0x14015723f
inc r14d
cmp r14d, dword [rsp + 0x6e8]
jb 0x140153ad0
mov qword [rsp + 0x500], rsi
mov qword [rsp + 0x528], rbp
mov r14, qword [rsp + 0x410]
mov r13, qword [rsp + 0x418]
mov rcx, qword [rsp + 0x558]
mov r8, qword [rsp + 0x560]
mov eax, dword [rsp + 0x428]
mov r15, qword [rsp + 0x458]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x740], rsi
mov dword [r8 + rcx*4], eax
mov dword [rsp + 0x428], eax
mov dword [rsp + 0x330], r12d
mov qword [rsp + 0x7b8], rdi
mov qword [rsp + 0x758], rbp
mov esi, dword [rsp + 0x4f8]
mov r15d, dword [rsp + 0x4b8]
test esi, esi
je 0x140153dd4
dec esi
cmp r15d, dword [rsp + 0x4e8]
jb 0x140153dd4
mov r12, qword [rsp + 0x540]
mov ebp, dword [rsp + 0x520]
and ebp, r15d
add ebp, ebp
mov r9, qword [rsp + 0x4c0]
lea rdi, [r12 + rbp*4]
mov rbp, qword [rsp + 0x510]
cmp r9, rbp
mov r12d, r15d
cmovb rbp, r9
add r12, qword [rsp + 0x458]
mov r8, qword [rsp + 0x788]
lea rcx, [rbx + rbp]
lea rdx, [r12 + rbp]
call fcn.140128780
mov rdx, rax
add rdx, rbp
cmp rdx, qword [rsp + 0x500]
jbe 0x140153d79
mov r10d, dword [rsp + 0x530]
mov ebp, r10d
sub ebp, r15d
lea r9d, [r15 + rdx]
cmp rdx, rbp
mov rax, rdx
mov rbp, qword [rsp + 0x7b8]
cmova r10d, r9d
mov r9, qword [rsp + 0x528]
mov r11d, dword [rsp + 0x428]
sub r11d, r15d
add r11d, 2
mov dword [rbp + r9*8], r11d
mov dword [rbp + r9*8 + 4], edx
xor ebp, ebp
inc r9d
cmp rdx, 0x1000
mov dword [rsp + 0x530], r10d
lea r10, [rbx + rdx]
mov qword [rsp + 0x528], r9
mov r9d, ebp
seta r9b
cmp r10, qword [rsp + 0x788]
mov qword [rsp + 0x500], rax
sete bpl
or r9d, ebp
jne 0x140153dd4
jmp 0x140153d80
mov rax, rdx
lea r10, [rbx + rdx]
mov bpl, byte [rdx + r12]
cmp bpl, byte [r10]
jae 0x140153db0
mov dword [r13], r15d
mov qword [rsp + 0x4c0], rax
cmp r15d, dword [rsp + 0x4c8]
jbe 0x140157254
mov r15d, dword [rdi + 4]
lea r13, [rdi + 4]
jmp 0x140153c77
mov dword [r14], r15d
mov qword [rsp + 0x510], rax
cmp r15d, dword [rsp + 0x4c8]
jbe 0x14015727b
mov r15d, dword [rdi]
mov r14, rdi
jmp 0x140153c77
mov r12d, dword [rsp + 0x330]
mov rdi, qword [rsp + 0x7b8]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
xor eax, eax
mov dword [r14], eax
mov dword [r13], eax
mov r9d, dword [rsp + 0x530]
mov rax, qword [rsp + 0x528]
add r9d, 0xfffffff8
mov dword [rbp + 0x24], r9d
jmp 0x140154ee0
add r9d, 0xfffffffa
cmp r9d, 1
ja 0x140154377
movabs r14, 0xcf1bbcdcbf9b0000
mov eax, 0xfff
imul r14, qword [rbx]
mov r11d, dword [rbp + 0xd4]
cmp r11d, 0xfff
mov ecx, dword [rbp + 0xc8]
cmovae r11d, eax
xor r10d, r10d
neg ecx
shr r14, cl
mov rax, rbx
mov dword [rsp + 0x6c0], r11d
sub rax, r15
mov r11, qword [rbp + 0x30]
mov r13d, 1
mov qword [rsp + 0x638], r11
mov r8d, eax
mov ecx, dword [rbp + 0xc4]
xor r9d, r9d
mov r11d, dword [r11 + r14*4]
add ecx, 0x1f
mov qword [rsp + 0x630], r14
mov r14d, 1
mov dword [rsp + 0x568], r11d
shl r14d, cl
mov r11d, dword [rbp + 0x18]
dec r14d
mov dword [rsp + 0x738], r11d
mov r11d, eax
sub r11d, r14d
cmp r14d, eax
mov ecx, dword [rbp + 0xc0]
cmovae r11d, r10d
shl r13d, cl
mov ecx, dword [rbp + 0x1c]
sub r8d, ecx
mov dword [rsp + 0x590], r11d
mov r11d, eax
sub r11d, r13d
cmp r8d, r13d
cmovbe r11d, ecx
mov r13d, 1
cmp dword [rbp + 0x20], 0
mov rdx, qword [rbp + 0x40]
cmovne r11d, ecx
test r11d, r11d
mov qword [rsp + 0x578], r9
cmovne r13d, r11d
test r12d, r12d
mov dword [rsp + 0x5a0], r13d
mov r13d, eax
sete r10b
and r13d, r14d
mov qword [rsp + 0x5d0], r9
add r13d, r13d
mov qword [rsp + 0x5f0], r9
mov r9d, 1
mov ecx, dword [rbp + 0xcc]
shl r9d, cl
lea r13, [rdx + r13*4]
mov dword [rsp + 0x5b0], r9d
mov r9, qword [rsp + 0x698]
mov qword [rsp + 0x608], rdx
lea edx, [rax + 9]
mov dword [rsp + 0x600], edx
mov qword [rsp + 0x5b8], r9
lea r9d, [r10 + 3]
mov dword [rsp + 0x5d8], r14d
lea r14, [r13 + 4]
mov dword [rsp + 0x620], r10d
mov dword [rsp + 0x700], r9d
mov edx, dword [rsp + 0x738]
mov rcx, qword [rsp + 0x630]
mov r8, qword [rsp + 0x638]
neg edx
lea r9, [rbx + 4]
add edx, eax
mov r10d, dword [rsp + 0x850]
mov qword [rsp + 0x470], r14
dec r10d
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x758], rbp
mov qword [rsp + 0x438], r9
mov dword [rsp + 0x688], r10d
mov qword [rsp + 0x478], r13
mov dword [rsp + 0x738], edx
mov dword [rsp + 0x480], r11d
mov qword [rsp + 0x630], rcx
mov qword [rsp + 0x638], r8
mov dword [rsp + 0x488], eax
mov qword [rsp + 0x458], r15
mov r14d, dword [rsp + 0x620]
mov rsi, qword [rsp + 0x5b8]
mov rbp, qword [rsp + 0x5f0]
cmp r14d, 3
jne 0x14015403d
mov r15d, dword [rsp + 0x688]
jmp 0x140154045
mov r15d, dword [rsp + r14*4 + 0x850]
xor r13d, r13d
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x738]
jae 0x1401540de
mov rcx, rbx
mov edx, 4
call fcn.14012fc60
mov ecx, r15d
mov edx, 4
neg rcx
add rcx, rbx
mov dword [rsp + 0x390], eax
mov qword [rsp + 0x388], rcx
call fcn.14012fc60
neg r15d
xor r9d, r9d
add r15d, dword [rsp + 0x488]
xor r10d, r10d
cmp r15d, dword [rsp + 0x480]
setae r10b
cmp eax, dword [rsp + 0x390]
sete r9b
test r9d, r10d
je 0x1401540de
mov rdx, qword [rsp + 0x388]
add rdx, 4
mov rcx, qword [rsp + 0x438]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r13d, eax
add r13d, 4
mov r10d, r13d
cmp r10, rsi
jbe 0x140154132
xor r11d, r11d
xor r9d, r9d
test r12d, r12d
mov rsi, r10
sete r9b
add r10, rbx
cmp r13d, dword [rsp + 0x6c0]
mov eax, ebp
mov dword [rdi + rbp*8 + 4], r13d
mov r13d, r11d
seta r13b
neg r9d
cmp r10, qword [rsp + 0x788]
sete r11b
inc eax
add r9d, r14d
mov dword [rdi + rbp*8], r9d
mov ebp, eax
or r13d, r11d
jne 0x14015723f
inc r14d
cmp r14d, dword [rsp + 0x700]
jb 0x14015402d
mov qword [rsp + 0x5b8], rsi
mov qword [rsp + 0x5f0], rbp
mov r14, qword [rsp + 0x470]
mov r13, qword [rsp + 0x478]
mov rcx, qword [rsp + 0x630]
mov r8, qword [rsp + 0x638]
mov eax, dword [rsp + 0x488]
mov r15, qword [rsp + 0x458]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x740], rsi
mov dword [r8 + rcx*4], eax
mov dword [rsp + 0x488], eax
mov dword [rsp + 0x330], r12d
mov qword [rsp + 0x7b8], rdi
mov qword [rsp + 0x758], rbp
mov esi, dword [rsp + 0x5b0]
mov r15d, dword [rsp + 0x568]
test esi, esi
je 0x140154331
dec esi
cmp r15d, dword [rsp + 0x5a0]
jb 0x140154331
mov r12, qword [rsp + 0x608]
mov ebp, dword [rsp + 0x5d8]
and ebp, r15d
add ebp, ebp
mov r9, qword [rsp + 0x578]
lea rdi, [r12 + rbp*4]
mov rbp, qword [rsp + 0x5d0]
cmp r9, rbp
mov r12d, r15d
cmovb rbp, r9
add r12, qword [rsp + 0x458]
mov r8, qword [rsp + 0x788]
lea rcx, [rbx + rbp]
lea rdx, [r12 + rbp]
call fcn.140128780
mov rdx, rax
add rdx, rbp
cmp rdx, qword [rsp + 0x5b8]
jbe 0x1401542d6
mov r10d, dword [rsp + 0x600]
mov ebp, r10d
sub ebp, r15d
lea r9d, [r15 + rdx]
cmp rdx, rbp
mov rax, rdx
mov rbp, qword [rsp + 0x7b8]
cmova r10d, r9d
mov r9, qword [rsp + 0x5f0]
mov r11d, dword [rsp + 0x488]
sub r11d, r15d
add r11d, 2
mov dword [rbp + r9*8], r11d
mov dword [rbp + r9*8 + 4], edx
xor ebp, ebp
inc r9d
cmp rdx, 0x1000
mov dword [rsp + 0x600], r10d
lea r10, [rbx + rdx]
mov qword [rsp + 0x5f0], r9
mov r9d, ebp
seta r9b
cmp r10, qword [rsp + 0x788]
mov qword [rsp + 0x5b8], rax
sete bpl
or r9d, ebp
jne 0x140154331
jmp 0x1401542dd
mov rax, rdx
lea r10, [rbx + rdx]
mov bpl, byte [rdx + r12]
cmp bpl, byte [r10]
jae 0x14015430d
mov dword [r13], r15d
mov qword [rsp + 0x578], rax
cmp r15d, dword [rsp + 0x590]
jbe 0x1401572a2
mov r15d, dword [rdi + 4]
lea r13, [rdi + 4]
jmp 0x1401541d4
mov dword [r14], r15d
mov qword [rsp + 0x5d0], rax
cmp r15d, dword [rsp + 0x590]
jbe 0x1401572c9
mov r15d, dword [rdi]
mov r14, rdi
jmp 0x1401541d4
mov r12d, dword [rsp + 0x330]
mov rdi, qword [rsp + 0x7b8]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
xor eax, eax
mov dword [r14], eax
mov dword [r13], eax
mov r9d, dword [rsp + 0x600]
mov rax, qword [rsp + 0x5f0]
add r9d, 0xfffffff8
mov dword [rbp + 0x24], r9d
jmp 0x140154ee0
mov r11d, dword [rbp + 0xd4]
mov r10d, 0xfff
cmp r11d, 0xfff
cmovae r11d, r10d
xor r9d, r9d
mov r10, rbx
mov dword [rsp + 0x6b8], r11d
sub r10, r15
imul r11d, dword [rbx], 0x9e3779b1
mov r13d, 1
mov ecx, dword [rbp + 0xc8]
mov r8d, r10d
mov r14, qword [rbp + 0x30]
neg ecx
shr r11d, cl
xor eax, eax
mov qword [rsp + 0x5f8], r11
mov ecx, dword [rbp + 0xc4]
mov r11d, dword [r14 + r11*4]
add ecx, 0x1f
mov qword [rsp + 0x628], r14
mov r14d, 1
mov dword [rsp + 0x570], r11d
shl r14d, cl
mov r11d, dword [rbp + 0x18]
dec r14d
mov dword [rsp + 0x730], r11d
mov r11d, r10d
sub r11d, r14d
cmp r14d, r10d
mov ecx, dword [rbp + 0xc0]
cmovae r11d, r9d
shl r13d, cl
mov ecx, dword [rbp + 0x1c]
sub r8d, ecx
mov dword [rsp + 0x588], r11d
mov r11d, r10d
sub r11d, r13d
cmp r8d, r13d
cmovbe r11d, ecx
mov r13d, 1
cmp dword [rbp + 0x20], 0
mov rdx, qword [rbp + 0x40]
cmovne r11d, ecx
test r11d, r11d
mov qword [rsp + 0x580], rax
cmovne r13d, r11d
test r12d, r12d
mov dword [rsp + 0x598], r13d
mov r13d, r10d
sete r9b
and r13d, r14d
mov qword [rsp + 0x5c8], rax
add r13d, r13d
mov qword [rsp + 0x5e8], rax
mov eax, 1
mov ecx, dword [rbp + 0xcc]
shl eax, cl
lea r13, [rdx + r13*4]
mov dword [rsp + 0x5a8], eax
mov rax, qword [rsp + 0x698]
mov qword [rsp + 0x5c0], rax
lea eax, [r9 + 3]
mov dword [rsp + 0x6f8], eax
mov qword [rsp + 0x618], rdx
lea edx, [r10 + 9]
mov dword [rsp + 0x5e0], r14d
lea r14, [r13 + 4]
mov dword [rsp + 0x610], r9d
mov r8d, dword [rsp + 0x730]
mov rax, qword [rsp + 0x628]
neg r8d
lea r9, [rbx + 4]
add r8d, r10d
mov ecx, dword [rsp + 0x850]
mov qword [rsp + 0x440], r14
dec ecx
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x758], rbp
mov qword [rsp + 0x430], r9
mov dword [rsp + 0x690], ecx
mov qword [rsp + 0x448], r13
mov dword [rsp + 0x730], r8d
mov dword [rsp + 0x450], edx
mov dword [rsp + 0x460], r11d
mov qword [rsp + 0x628], rax
mov dword [rsp + 0x468], r10d
mov qword [rsp + 0x458], r15
mov r14d, dword [rsp + 0x610]
mov rsi, qword [rsp + 0x5c0]
mov rbp, qword [rsp + 0x5e8]
cmp r14d, 3
jne 0x140154574
mov r15d, dword [rsp + 0x690]
jmp 0x14015457c
mov r15d, dword [rsp + r14*4 + 0x850]
xor r13d, r13d
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x730]
jae 0x140154615
mov rcx, rbx
mov edx, 4
call fcn.14012fc60
mov ecx, r15d
mov edx, 4
neg rcx
add rcx, rbx
mov dword [rsp + 0x380], eax
mov qword [rsp + 0x378], rcx
call fcn.14012fc60
neg r15d
xor r9d, r9d
add r15d, dword [rsp + 0x468]
xor r10d, r10d
cmp r15d, dword [rsp + 0x460]
setae r10b
cmp eax, dword [rsp + 0x380]
sete r9b
test r9d, r10d
je 0x140154615
mov rdx, qword [rsp + 0x378]
add rdx, 4
mov rcx, qword [rsp + 0x430]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r13d, eax
add r13d, 4
mov r10d, r13d
cmp r10, rsi
jbe 0x140154669
xor r11d, r11d
xor r9d, r9d
test r12d, r12d
mov rsi, r10
sete r9b
add r10, rbx
cmp r13d, dword [rsp + 0x6b8]
mov eax, ebp
mov dword [rdi + rbp*8 + 4], r13d
mov r13d, r11d
seta r13b
neg r9d
cmp r10, qword [rsp + 0x788]
sete r11b
inc eax
add r9d, r14d
mov dword [rdi + rbp*8], r9d
mov ebp, eax
or r13d, r11d
jne 0x14015723f
inc r14d
cmp r14d, dword [rsp + 0x6f8]
jb 0x140154564
mov qword [rsp + 0x5c0], rsi
mov qword [rsp + 0x5e8], rbp
mov r14, qword [rsp + 0x440]
mov r13, qword [rsp + 0x448]
mov edx, dword [rsp + 0x450]
mov rax, qword [rsp + 0x628]
mov r10d, dword [rsp + 0x468]
mov r15, qword [rsp + 0x458]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
mov r9, qword [rsp + 0x5f8]
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x758], rbp
mov dword [rax + r9*4], r10d
mov dword [rsp + 0x468], r10d
mov qword [rsp + 0x458], r15
mov r15, rbx
mov dword [rsp + 0x330], r12d
mov ebx, edx
mov qword [rsp + 0x7b8], rdi
mov esi, dword [rsp + 0x5a8]
mov ebp, dword [rsp + 0x570]
test esi, esi
je 0x14015486c
dec esi
cmp ebp, dword [rsp + 0x598]
jb 0x14015486c
mov r9, qword [rsp + 0x618]
mov r12d, dword [rsp + 0x5e0]
and r12d, ebp
mov r10, qword [rsp + 0x5c8]
add r12d, r12d
mov r11, qword [rsp + 0x580]
cmp r11, r10
mov r8, qword [rsp + 0x788]
lea rdi, [r9 + r12*4]
mov r12d, ebp
cmovb r10, r11
add r12, qword [rsp + 0x458]
mov qword [rsp + 0x3b8], r10
lea rcx, [r15 + r10]
lea rdx, [r12 + r10]
call fcn.140128780
mov rdx, rax
add rdx, qword [rsp + 0x3b8]
cmp rdx, qword [rsp + 0x5c0]
jbe 0x140154815
mov ecx, ebx
lea r8d, [rbp + rdx]
sub ecx, ebp
mov rax, rdx
mov r11, qword [rsp + 0x5e8]
cmp rdx, rcx
mov r10, qword [rsp + 0x7b8]
mov r9d, dword [rsp + 0x468]
cmova ebx, r8d
xor ecx, ecx
sub r9d, ebp
xor r8d, r8d
cmp rdx, 0x1000
seta r8b
add r9d, 2
mov dword [r10 + r11*8], r9d
lea r9, [r15 + rdx]
cmp r9, qword [rsp + 0x788]
mov dword [r10 + r11*8 + 4], edx
sete cl
inc r11d
mov qword [rsp + 0x5c0], rax
or r8d, ecx
mov qword [rsp + 0x5e8], r11
jne 0x1401572f0
jmp 0x14015481c
mov rax, rdx
lea r9, [r15 + rdx]
mov cl, byte [rdx + r12]
cmp cl, byte [r9]
jae 0x14015484a
mov dword [r13], ebp
mov qword [rsp + 0x580], rax
cmp ebp, dword [rsp + 0x588]
jbe 0x140157315
mov ebp, dword [rdi + 4]
lea r13, [rdi + 4]
jmp 0x140154718
mov dword [r14], ebp
mov qword [rsp + 0x5c8], rax
cmp ebp, dword [rsp + 0x588]
jbe 0x140157343
mov ebp, dword [rdi]
mov r14, rdi
jmp 0x140154718
mov r12d, dword [rsp + 0x330]
mov edx, ebx
mov rdi, qword [rsp + 0x7b8]
mov rbx, r15
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
xor eax, eax
add edx, 0xfffffff8
mov dword [r14], eax
mov dword [r13], eax
mov rax, qword [rsp + 0x5e8]
mov dword [rbp + 0x24], edx
jmp 0x140154ee0
mov r10d, dword [rbp + 0xd4]
mov r14d, 0xfff
cmp r10d, 0xfff
cmovae r10d, r14d
xor edx, edx
mov r14, rbx
mov dword [rsp + 0x6a8], r10d
sub r14, r15
imul r10d, dword [rbx], 0x9e3779b1
mov r9d, 1
mov ecx, dword [rbp + 0xc8]
mov r8d, r14d
mov r13, qword [rbp + 0x30]
neg ecx
shr r10d, cl
xor eax, eax
mov qword [rsp + 0x4f0], r10
mov ecx, dword [rbp + 0xc4]
mov r10d, dword [r13 + r10*4]
add ecx, 0x1f
mov qword [rsp + 0x550], r13
mov r13d, 1
mov dword [rsp + 0x490], r10d
shl r13d, cl
mov r10d, dword [rbp + 0x18]
dec r13d
mov dword [rsp + 0x720], r10d
mov r10d, r14d
sub r10d, r13d
cmp r13d, r14d
mov ecx, dword [rbp + 0xc0]
cmovae r10d, edx
shl r9d, cl
mov ecx, dword [rbp + 0x1c]
sub r8d, ecx
mov dword [rsp + 0x4a0], r10d
mov r10d, r14d
sub r10d, r9d
cmp r8d, r9d
cmovbe r10d, ecx
mov r9d, 1
cmp dword [rbp + 0x20], 0
mov r11, qword [rbp + 0x40]
cmovne r10d, ecx
test r10d, r10d
mov qword [rsp + 0x498], rax
cmovne r9d, r10d
test r12d, r12d
mov dword [rsp + 0x4a8], r9d
mov r9d, r14d
sete dl
and r9d, r13d
mov qword [rsp + 0x4d0], rax
add r9d, r9d
mov qword [rsp + 0x518], rax
mov eax, 1
mov ecx, dword [rbp + 0xcc]
shl eax, cl
mov dword [rsp + 0x4b0], eax
mov dword [rsp + 0x4d8], r13d
lea r13, [r11 + r9*4]
mov rax, qword [rsp + 0x698]
lea r9, [r13 + 4]
mov qword [rsp + 0x538], r11
lea r11d, [r14 + 9]
mov dword [rsp + 0x508], r11d
mov qword [rsp + 0x4e0], rax
lea eax, [rdx + 3]
mov ecx, dword [rsp + 0x720]
mov r11, qword [rsp + 0x550]
neg ecx
add ecx, r14d
mov r8d, dword [rsp + 0x850]
dec r8d
mov dword [rsp + 0x680], r8d
lea r8, [rbx + 3]
mov qword [rsp + 0x3f8], r13
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x3e8], r8
mov qword [rsp + 0x3f0], r9
mov dword [rsp + 0x720], ecx
mov dword [rsp + 0x6f0], eax
mov dword [rsp + 0x400], r10d
mov qword [rsp + 0x550], r11
mov dword [rsp + 0x408], r14d
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x758], rbp
mov ebp, edx
mov r13, qword [rsp + 0x4e0]
mov rsi, qword [rsp + 0x518]
cmp ebp, 3
jne 0x140154a9a
mov r15d, dword [rsp + 0x680]
jmp 0x140154aa2
mov r15d, dword [rsp + rbp*4 + 0x850]
xor r14d, r14d
lea r9d, [r15 - 1]
cmp r9d, dword [rsp + 0x720]
jae 0x140154b3b
mov rcx, rbx
mov edx, 3
call fcn.14012fc60
mov ecx, r15d
mov edx, 3
neg rcx
add rcx, rbx
mov dword [rsp + 0x360], eax
mov qword [rsp + 0x358], rcx
call fcn.14012fc60
neg r15d
xor r9d, r9d
add r15d, dword [rsp + 0x408]
xor r10d, r10d
cmp r15d, dword [rsp + 0x400]
setae r10b
cmp eax, dword [rsp + 0x360]
sete r9b
test r9d, r10d
je 0x140154b3b
mov rdx, qword [rsp + 0x358]
add rdx, 3
mov rcx, qword [rsp + 0x3e8]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r14d, eax
add r14d, 3
mov r10d, r14d
cmp r10, r13
jbe 0x140154b8f
xor r11d, r11d
xor r9d, r9d
test r12d, r12d
mov r13, r10
sete r9b
add r10, rbx
cmp r14d, dword [rsp + 0x6a8]
mov eax, esi
mov dword [rdi + rsi*8 + 4], r14d
mov r14d, r11d
seta r14b
neg r9d
cmp r10, qword [rsp + 0x788]
sete r11b
inc eax
add r9d, ebp
mov dword [rdi + rsi*8], r9d
mov esi, eax
or r14d, r11d
jne 0x14015723f
inc ebp
cmp ebp, dword [rsp + 0x6f0]
jb 0x140154a8b
mov qword [rsp + 0x4e0], r13
mov qword [rsp + 0x518], rsi
mov r9, qword [rsp + 0x3f0]
mov r13, qword [rsp + 0x3f8]
mov r11, qword [rsp + 0x550]
mov r14d, dword [rsp + 0x408]
mov r15, qword [rsp + 0x458]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
cmp qword [rsp + 0x4e0], 3
jae 0x140154ceb
mov rcx, rbp
lea rdx, [rsp + 0x748]
mov r8, rbx
mov qword [rdx - 0x358], r9
mov qword [rdx - 0x1f8], r11
call fcn.14012fc80
mov r11, qword [rsp + 0x550]
mov ecx, eax
mov r9, qword [rsp + 0x3f0]
mov eax, r14d
xor r10d, r10d
xor edx, edx
cmp ecx, dword [rsp + 0x4a8]
setae dl
sub eax, ecx
cmp eax, 0x40000
mov dword [rsp + 0x48], eax
setb r10b
test r10d, edx
je 0x140154ceb
mov edx, ecx
mov rcx, rbx
add rdx, r15
mov r8, qword [rsp + 0x788]
mov qword [rsp + 0x3f0], r9
mov qword [rsp + 0x550], r11
call fcn.140128780
mov rdx, rax
mov r11, qword [rsp + 0x550]
mov r9, qword [rsp + 0x3f0]
cmp rdx, 3
jb 0x140154ceb
mov eax, dword [rsp + 0x48]
add eax, 2
mov r10d, dword [rsp + 0x6a8]
cmp rdx, r10
mov dword [rdi], eax
mov eax, 0
mov qword [rsp + 0x4e0], rdx
mov r10d, eax
mov dword [rdi + 4], edx
seta r10b
add rdx, rbx
cmp rdx, qword [rsp + 0x788]
mov qword [rsp + 0x518], 1
sete al
or r10d, eax
je 0x140154ceb
inc r14d
mov eax, 1
mov dword [rbp + 0x24], r14d
jmp 0x140154ee0
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x7b8], rdi
mov dword [r11 + rax*4], r14d
mov dword [rsp + 0x408], r14d
mov dword [rsp + 0x330], r12d
mov qword [rsp + 0x740], rsi
mov rsi, r9
mov qword [rsp + 0x758], rbp
mov edi, dword [rsp + 0x4b0]
mov r15d, dword [rsp + 0x490]
test edi, edi
je 0x140154e9c
dec edi
cmp r15d, dword [rsp + 0x4a8]
jb 0x140154e9c
mov rbp, qword [rsp + 0x538]
mov r12d, dword [rsp + 0x4d8]
and r12d, r15d
add r12d, r12d
mov r14, qword [rsp + 0x498]
mov r8, qword [rsp + 0x788]
lea r12, [rbp + r12*4]
mov rbp, qword [rsp + 0x4d0]
cmp r14, rbp
cmovb rbp, r14
mov r14d, r15d
add r14, qword [rsp + 0x458]
lea rcx, [rbx + rbp]
lea rdx, [r14 + rbp]
call fcn.140128780
mov rdx, rax
add rdx, rbp
cmp rdx, qword [rsp + 0x4e0]
jbe 0x140154e3e
mov r11d, dword [rsp + 0x508]
mov ebp, r11d
sub ebp, r15d
lea r10d, [r15 + rdx]
cmp rdx, rbp
mov rax, rdx
mov ebp, dword [rsp + 0x408]
cmova r11d, r10d
sub ebp, r15d
mov dword [rsp + 0x508], r11d
add ebp, 2
mov r11, qword [rsp + 0x518]
cmp rdx, 0x1000
mov r10, qword [rsp + 0x7b8]
mov qword [rsp + 0x4e0], rax
mov dword [r10 + r11*8], ebp
mov ebp, 0
mov dword [r10 + r11*8 + 4], edx
mov r10d, ebp
seta r10b
inc r11d
mov qword [rsp + 0x518], r11
lea r11, [rbx + rdx]
cmp r11, qword [rsp + 0x788]
sete bpl
or r10d, ebp
jne 0x140154e9c
jmp 0x140154e45
mov rax, rdx
lea r11, [rbx + rdx]
mov bpl, byte [rdx + r14]
cmp bpl, byte [r11]
jae 0x140154e77
mov dword [r13], r15d
mov qword [rsp + 0x498], rax
cmp r15d, dword [rsp + 0x4a0]
jbe 0x140157371
mov r15d, dword [r12 + 4]
lea r13, [r12 + 4]
jmp 0x140154d39
mov dword [rsi], r15d
mov qword [rsp + 0x4d0], rax
cmp r15d, dword [rsp + 0x4a0]
jbe 0x14015739c
mov r15d, dword [r12]
mov rsi, r12
jmp 0x140154d39
mov r12d, dword [rsp + 0x330]
mov r9, rsi
mov rdi, qword [rsp + 0x7b8]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
xor eax, eax
mov dword [r9], eax
mov dword [r13], eax
mov r9d, dword [rsp + 0x508]
mov rax, qword [rsp + 0x518]
add r9d, 0xfffffff8
mov dword [rbp + 0x24], r9d
mov r10, rsp
mov r9, rbx
sub r9, qword [rsp + 0x798]
lea rcx, [rsp + 0x640]
mov rdx, rdi
lea r8, [rsp + 0x7f8]
mov dword [rcx + 0x1b8], eax
mov rax, qword [rcx + 0x148]
sub rax, rbx
mov dword [r10 + 0x20], eax
call fcn.140130790
mov r13d, dword [rsp + 0x7f8]
test r13d, r13d
jne 0x140154f2f
inc rbx
jmp 0x140157161
mov eax, dword [rsp + 0x850]
mov ecx, r12d
mov r9d, dword [rsp + 0x854]
mov r8d, 2
mov r10d, dword [rsp + 0x858]
mov rdx, qword [rsp + 0x780]
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x14], r9d
mov dword [rsi + 0x18], r10d
mov dword [rsi + 8], 0
mov dword [rsi + 0xc], r12d
call fcn.1401306e0
mov r15d, eax
lea eax, [r13 - 1]
mov dword [rsi], r15d
mov r9d, dword [rdi + rax*8 + 4]
mov eax, dword [rdi + rax*8]
cmp r9d, dword [rsp + 0x760]
jbe 0x140154fad
xor r14d, r14d
mov dword [rsp + 0x86c], r12d
mov dword [rsp + 0x868], r9d
mov dword [rsp + 0x864], eax
jmp 0x140156e9d
xor ecx, ecx
mov r8d, 2
mov rdx, qword [rsp + 0x780]
call fcn.1401306e0
nop
jmp 0x14015769a
mov r9d, 1
mov edx, dword [rsp + 0x6d8]
mov r11d, r9d
inc r14d
inc r9d
lea r10, [r11*4]
shl r11, 5
sub r11, r10
mov dword [rsi + r11], 0x40000000
cmp r14d, edx
jb 0x140154fd5
inc r14d
xor r9d, r9d
test r13d, r13d
jbe 0x140155198
xor r11d, r11d
add r15d, eax
mov qword [rsp + 0x6e0], rbx
xor eax, eax
mov dword [rsp + 0x808], r15d
mov qword [rsp + 0x758], rbp
lea rbp, [0x140000000]
mov rbx, qword [rsp + 0x780]
mov edx, dword [rdi + r9*8 + 4]
mov r8d, dword [rdi + r9*8]
mov r9d, eax
cmp r14d, edx
ja 0x140155179
sub edx, r14d
mov r15d, r14d
shl r15d, 8
inc edx
mov dword [rsp + 0x7d0], r15d
lea r10d, [r8 + 1]
mov dword [rsp + 0x800], edx
mov dword [rsp + 0x7c8], r11d
mov dword [rsp + 0x7c0], r13d
mov qword [rsp + 0x7b8], rdi
bsr edi, r10d
cmove edi, eax
cmp dword [rbx + 0x50], 1
je 0x14015765e
mov rdx, qword [rbx + 0x18]
mov r13d, dword [rbx + 0x4c]
mov r11d, dword [rdx + rdi*4]
lea edx, [r14 + r9]
inc r11d
bsr ecx, r11d
cmove ecx, eax
shl r11d, 8
sub edi, ecx
shr r11d, cl
shl edi, 8
sub r13d, r11d
add edi, r13d
lea r11d, [r14 + r9 - 3]
cmp r11d, 0x7f
ja 0x1401550dc
lea r11d, [r14 + r9 - 3]
movzx r11d, byte [rbp + r11 + 0x2275e0]
jmp 0x1401550e8
bsr r11d, r11d
cmove r11d, eax
add r11d, 0x24
mov r13, qword [rbx + 0x10]
mov r15d, dword [r13 + r11*4]
inc r15d
bsr ecx, r15d
mov r11d, dword [rbp + r11*4 + 0x227660]
cmove ecx, eax
shl r15d, 8
sub r11d, ecx
mov r13d, dword [rbx + 0x48]
shr r15d, cl
add r13d, edi
shl r11d, 8
sub r13d, r15d
lea r11d, [r11 + r13 + 0x33]
mov r13d, edx
inc r9d
add r11d, dword [rsp + 0x808]
lea rdi, [r13*4]
shl r13, 5
sub r13, rdi
mov dword [rsi + r13 + 8], edx
mov dword [rsi + r13 + 4], r8d
mov dword [rsi + r13 + 0xc], r12d
mov dword [rsi + r13], r11d
cmp r9d, dword [rsp + 0x800]
jb 0x140155084
mov r11d, dword [rsp + 0x7c8]
add r14d, r9d
mov r13d, dword [rsp + 0x7c0]
mov rdi, qword [rsp + 0x7b8]
inc r11d
mov r9d, r11d
cmp r11d, r13d
jb 0x140155038
mov rbx, qword [rsp + 0x6e0]
mov rbp, qword [rsp + 0x758]
dec r14d
mov r13d, 1
cmp r14d, 1
jb 0x140156e17
mov dword [rsp + 0x770], r14d
mov qword [rsp + 0x7b8], rdi
mov qword [rsp + 0x758], rbp
mov r14d, r13d
lea ebp, [r13 - 1]
lea rax, [rbp*4]
shl rbp, 5
sub rbp, rax
lea r15, [rbx + r14]
lea rdx, [rsi + rbp]
cmp dword [rdx + 8], 0
jne 0x1401551ef
mov edi, dword [rbp + rsi + 0xc]
inc edi
jmp 0x1401551f4
mov edi, 1
mov edx, 1
lea rcx, [rbx + r14 - 1]
mov r9d, 2
mov r8, qword [rsp + 0x780]
call fcn.140130680
mov ecx, edi
mov r8d, 2
mov rdx, qword [rsp + 0x780]
mov dword [rsp + 0x778], eax
call fcn.1401306e0
mov r8d, 2
lea ecx, [rdi - 1]
mov rdx, qword [rsp + 0x780]
mov r12d, eax
call fcn.1401306e0
mov r9d, dword [rsi + rbp]
sub r12d, eax
add r9d, dword [rsp + 0x778]
lea rdx, [r14*4]
add r9d, r12d
mov r12, r14
shl r12, 5
sub r12, rdx
cmp r9d, dword [rsi + r12]
jg 0x140155285
xor eax, eax
mov dword [r12 + rsi + 8], eax
mov dword [r12 + rsi + 4], eax
mov dword [r12 + rsi + 0xc], edi
mov dword [rsi + r12], r9d
mov eax, dword [r12 + rsi + 8]
test eax, eax
je 0x1401552e2
neg eax
xor r9d, r9d
add eax, r13d
lea rcx, [rsp + 0x840]
cmp dword [r12 + rsi + 0xc], 0
lea rbp, [rax*4]
mov r8d, dword [r12 + rsi + 4]
sete r9b
shl rax, 5
sub rax, rbp
lea rdx, [rsi + rax + 0x10]
call fcn.140130a20
mov rax, qword [rsp + 0x840]
lea rdi, [rsi + r12 + 0x10]
mov qword [rdi], rax
mov edx, dword [rsp + 0x848]
mov dword [rdi + 8], edx
jmp 0x1401552f6
mov rax, qword [rsi + rbp + 0x10]
lea rdi, [rsi + r12 + 0x10]
mov qword [rdi], rax
mov edx, dword [rsi + rbp + 0x18]
mov dword [rdi + 8], edx
cmp r15, qword [rsp + 0x7a0]
ja 0x140156dee
cmp r13d, dword [rsp + 0x770]
je 0x140156dff
mov eax, dword [r12 + rsi + 8]
mov dword [rsp + 0x6d0], eax
test eax, eax
jne 0x140155330
mov eax, dword [r12 + rsi + 0xc]
mov dword [rsp + 0x7b0], eax
jmp 0x14015533b
mov dword [rsp + 0x7b0], 0
mov eax, dword [rsi + r12]
xor ecx, ecx
mov r8d, 2
mov rdx, qword [rsp + 0x780]
mov dword [rsp + 0x6c8], eax
call fcn.1401306e0
mov rdx, qword [rsp + 0x758]
mov dword [rsp + 0x7f0], eax
mov r9d, dword [rdx + 0xd0]
mov rbp, qword [rdx + 8]
mov edx, dword [rdx + 0x24]
mov eax, edx
add rax, rbp
cmp r15, rax
jae 0x140155389
xor eax, eax
jmp 0x140156a19
mov rax, r15
sub rax, rbp
cmp edx, eax
jae 0x140155440
mov dword [rsp + 0x7e0], r13d
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x3c0], r15
mov r15, r12
mov qword [rsp + 0x3c8], r14
mov r12d, edx
mov qword [rsp + 0x6e0], rbx
mov ebx, eax
mov rsi, qword [rsp + 0x788]
mov r14d, r9d
mov r13, qword [rsp + 0x758]
mov r10, rsp
mov rcx, r13
mov edx, r12d
mov r8, rsi
add rdx, rbp
mov r9d, r14d
mov dword [r10 + 0x20], 0
call fcn.14012fd50
add r12d, eax
cmp r12d, ebx
jb 0x1401553da
mov qword [rsp + 0x758], r13
mov eax, ebx
mov rdx, r13
mov r9d, r14d
mov r14, qword [rsp + 0x3c8]
mov r12, r15
mov r15, qword [rsp + 0x3c0]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rdx + 8]
mov rdx, qword [rsp + 0x758]
mov dword [rdx + 0x24], eax
cmp r9d, 3
je 0x14015641c
cmp r9d, 5
jne 0x140155982
mov rax, rdx
mov r9d, 0xfff
mov rdx, r15
sub rdx, rbp
mov r10d, dword [rax + 0xd4]
cmp r10d, 0xfff
mov ecx, dword [rax + 0xc8]
cmovae r10d, r9d
movabs r9, 0xcf1bbcdcbb000000
imul r9, qword [r15]
neg ecx
shr r9, cl
mov r11, qword [rax + 0x30]
mov dword [rsp + 0x310], r10d
mov ecx, dword [rax + 0xc4]
mov r10d, dword [r11 + r9*4]
add ecx, 0x1f
mov dword [rsp + 0x160], r10d
mov r10d, 1
mov qword [rsp + 0x220], r9
xor r9d, r9d
mov qword [rsp + 0x180], r9
mov qword [rsp + 0x168], r9
shl r10d, cl
mov rcx, rax
mov r9d, dword [rax + 0x18]
dec r10d
mov dword [rsp + 0x398], r9d
mov r9d, edx
sub r9d, r10d
cmp r10d, edx
mov qword [rsp + 0x208], r11
mov dword [rsp + 0x1c8], r10d
mov r10d, 0
mov r11, qword [rax + 0x40]
cmovae r9d, r10d
mov dword [rsp + 0x218], edx
mov r8d, dword [rax + 0xc0]
mov qword [rsp + 0x1f8], r11
mov dword [rsp + 0x190], r9d
call fcn.140128f90
mov r11d, dword [rsp + 0x218]
mov edx, 1
test eax, eax
mov r9d, r11d
mov r10, qword [rsp + 0x1f8]
cmovne edx, eax
and r9d, dword [rsp + 0x1c8]
lea r8d, [r11 + 9]
add r9d, r9d
mov r11d, 1
mov dword [rsp + 0x1a0], edx
lea rdx, [r10 + r9*4]
mov r10, qword [rsp + 0x758]
lea r9, [rdx + 4]
mov dword [rsp + 0x1a8], eax
xor eax, eax
mov ecx, dword [r10 + 0xcc]
shl r11d, cl
xor ecx, ecx
cmp dword [rsp + 0x6d0], 0
mov r10, qword [rsp + 0x698]
setne cl
mov dword [rsp + 0x1d8], r11d
lea r11d, [rcx + 3]
mov qword [rsp + 0xe0], r9
lea r14, [rbx + r14 + 4]
mov qword [rsp + 0xc8], r14
mov r14d, dword [rsp + 0x398]
neg r14d
add r14d, dword [rsp + 0x218]
mov dword [rsp + 0x398], r14d
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0x340], r11d
mov dword [rsp + 0xf0], r8d
mov qword [rsp + 0x2e8], rbp
mov rbp, rax
mov dword [rsp + 0x7e0], r13d
mov r13, r10
mov qword [rsp + 0x6e0], rbx
mov ebx, ecx
mov qword [rsp + 0x740], rsi
cmp ebx, 3
jne 0x14015563e
mov rdx, qword [rsp + 0x740]
mov r14d, dword [r12 + rdx + 0x10]
dec r14d
jmp 0x140155642
mov r14d, dword [rdi + rbx*4]
xor esi, esi
lea edx, [r14 - 1]
cmp edx, dword [rsp + 0x398]
jae 0x1401556c5
mov rcx, r15
mov edx, 4
call fcn.14012fc60
mov ecx, r14d
mov edx, 4
neg rcx
add rcx, r15
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x70], rcx
call fcn.14012fc60
neg r14d
xor edx, edx
add r14d, dword [rsp + 0x218]
xor r9d, r9d
cmp r14d, dword [rsp + 0x1a8]
setae r9b
cmp eax, dword [rsp + 0x78]
sete dl
test edx, r9d
je 0x1401556c5
mov rdx, qword [rsp + 0x70]
add rdx, 4
mov rcx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov esi, eax
add esi, 4
mov r11d, esi
cmp r11, r13
jbe 0x140155721
xor r14d, r14d
mov r13, r11
xor edx, edx
cmp dword [rsp + 0x6d0], 0
mov r9, qword [rsp + 0x7b8]
mov eax, ebp
setne dl
add r11, r15
cmp esi, dword [rsp + 0x310]
mov dword [r9 + rbp*8 + 4], esi
mov esi, r14d
seta sil
neg edx
cmp r11, qword [rsp + 0x788]
sete r14b
inc eax
add edx, ebx
mov dword [r9 + rbp*8], edx
mov ebp, eax
or esi, r14d
jne 0x1401573c3
inc ebx
cmp ebx, dword [rsp + 0x340]
jb 0x140155627
mov r9, qword [rsp + 0xe0]
mov rax, rbp
mov rdx, qword [rsp + 0xe8]
mov r10, r13
mov r8d, dword [rsp + 0xf0]
mov rbp, qword [rsp + 0x2e8]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
mov rcx, qword [rsp + 0x208]
mov r14d, r8d
mov rdi, qword [rsp + 0x220]
mov r11d, dword [rsp + 0x218]
mov qword [rsp + 0x2f0], r12
mov qword [rsp + 0x6e0], rbx
mov dword [rcx + rdi*4], r11d
mov rdi, rdx
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0x2e8], rbp
mov rbp, rax
mov dword [rsp + 0x7e0], r13d
mov r13, r10
mov qword [rsp + 0x740], rsi
mov ebx, dword [rsp + 0x1d8]
mov r12d, dword [rsp + 0x160]
test ebx, ebx
je 0x140155933
dec ebx
cmp r12d, dword [rsp + 0x1a0]
jb 0x140155933
mov r9, qword [rsp + 0x1f8]
mov esi, dword [rsp + 0x1c8]
and esi, r12d
add esi, esi
mov r8, qword [rsp + 0x788]
lea r11, [r9 + rsi*4]
mov r9, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x180]
cmp rsi, r9
mov qword [rsp + 0xa8], r11
cmovb r9, rsi
mov esi, r12d
add rsi, qword [rsp + 0x2e8]
mov qword [rsp + 0xa0], r9
lea rcx, [r15 + r9]
lea rdx, [rsi + r9]
call fcn.140128780
add rax, qword [rsp + 0xa0]
cmp rax, r13
jbe 0x1401558bc
mov ecx, r14d
lea r13d, [r12 + rax]
sub ecx, r12d
lea rdx, [r15 + rax]
mov r11, qword [rsp + 0x7b8]
cmp rax, rcx
mov r9d, dword [rsp + 0x218]
cmova r14d, r13d
sub r9d, r12d
add r9d, 2
cmp rax, 0x1000
mov dword [r11 + rbp*8], r9d
mov r9d, 0
mov dword [r11 + rbp*8 + 4], eax
mov r11d, r9d
seta r11b
mov r13, rax
cmp rdx, qword [rsp + 0x788]
mov rcx, r13
sete r9b
inc ebp
or r11d, r9d
jne 0x140155933
jmp 0x1401558c3
mov rcx, rax
lea rdx, [r15 + rax]
mov sil, byte [rax + rsi]
cmp sil, byte [rdx]
jae 0x1401558fa
mov dword [rdi], r12d
mov qword [rsp + 0x180], rcx
cmp r12d, dword [rsp + 0x190]
jbe 0x1401573e0
mov rcx, qword [rsp + 0xa8]
mov r12d, dword [rcx + 4]
lea rdi, [rcx + 4]
jmp 0x1401557d5
mov rsi, qword [rsp + 0xe0]
mov qword [rsp + 0x168], rcx
mov dword [rsi], r12d
cmp r12d, dword [rsp + 0x190]
jbe 0x140157416
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xe0], rcx
mov r12d, dword [rcx]
jmp 0x1401557d5
mov r9, qword [rsp + 0xe0]
mov rax, rbp
mov r12, qword [rsp + 0x2f0]
mov rdx, rdi
mov r13d, dword [rsp + 0x7e0]
mov r8d, r14d
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
xor r10d, r10d
add r8d, 0xfffffff8
mov dword [r9], r10d
mov dword [rdx], r10d
mov rdx, qword [rsp + 0x758]
mov dword [rdx + 0x24], r8d
jmp 0x140156a19
add r9d, 0xfffffffa
cmp r9d, 1
ja 0x140155ec1
mov rax, rdx
mov r9d, 0xfff
mov rdx, r15
sub rdx, rbp
mov r10d, dword [rax + 0xd4]
cmp r10d, 0xfff
mov ecx, dword [rax + 0xc8]
cmovae r10d, r9d
movabs r9, 0xcf1bbcdcbf9b0000
imul r9, qword [r15]
neg ecx
shr r9, cl
mov r11, qword [rax + 0x30]
mov dword [rsp + 0x320], r10d
mov ecx, dword [rax + 0xc4]
mov r10d, dword [r11 + r9*4]
add ecx, 0x1f
mov dword [rsp + 0x228], r10d
mov r10d, 1
mov qword [rsp + 0x2d8], r9
xor r9d, r9d
mov qword [rsp + 0x240], r9
mov qword [rsp + 0x230], r9
shl r10d, cl
mov rcx, rax
mov r9d, dword [rax + 0x18]
dec r10d
mov dword [rsp + 0x3a8], r9d
mov r9d, edx
sub r9d, r10d
cmp r10d, edx
mov qword [rsp + 0x2c0], r11
mov dword [rsp + 0x280], r10d
mov r10d, 0
mov r11, qword [rax + 0x40]
cmovae r9d, r10d
mov dword [rsp + 0x2d0], edx
mov r8d, dword [rax + 0xc0]
mov qword [rsp + 0x2a0], r11
mov dword [rsp + 0x248], r9d
call fcn.140128f90
mov r11d, dword [rsp + 0x2d0]
mov r9d, 1
test eax, eax
mov edx, r11d
mov r10, qword [rsp + 0x2a0]
cmovne r9d, eax
and edx, dword [rsp + 0x280]
add edx, edx
mov dword [rsp + 0x278], eax
lea r8, [r10 + rdx*4]
mov r10, qword [rsp + 0x758]
lea edx, [r11 + 9]
mov r11d, 1
xor eax, eax
mov dword [rsp + 0x268], r9d
lea r9, [r8 + 4]
mov ecx, dword [r10 + 0xcc]
shl r11d, cl
xor ecx, ecx
cmp dword [rsp + 0x6d0], 0
mov r10, qword [rsp + 0x698]
setne cl
mov dword [rsp + 0x270], r11d
lea r11d, [rcx + 3]
mov qword [rsp + 0x130], r9
lea r14, [rbx + r14 + 4]
mov qword [rsp + 0xf8], r14
mov r14d, dword [rsp + 0x3a8]
neg r14d
add r14d, dword [rsp + 0x2d0]
mov dword [rsp + 0x3a8], r14d
mov qword [rsp + 0x138], r8
mov dword [rsp + 0x350], r11d
mov dword [rsp + 0x140], edx
mov qword [rsp + 0x2e8], rbp
mov rbp, rax
mov dword [rsp + 0x7e0], r13d
mov r13, r10
mov qword [rsp + 0x6e0], rbx
mov ebx, ecx
mov qword [rsp + 0x740], rsi
cmp ebx, 3
jne 0x140155b6f
mov rdx, qword [rsp + 0x740]
mov r14d, dword [r12 + rdx + 0x10]
dec r14d
jmp 0x140155b73
mov r14d, dword [rdi + rbx*4]
xor esi, esi
lea edx, [r14 - 1]
cmp edx, dword [rsp + 0x3a8]
jae 0x140155c06
mov rcx, r15
mov edx, 4
call fcn.14012fc60
mov ecx, r14d
mov edx, 4
neg rcx
add rcx, r15
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x90], rcx
call fcn.14012fc60
neg r14d
xor edx, edx
add r14d, dword [rsp + 0x2d0]
xor r9d, r9d
cmp r14d, dword [rsp + 0x278]
setae r9b
cmp eax, dword [rsp + 0x98]
sete dl
test edx, r9d
je 0x140155c06
mov rdx, qword [rsp + 0x90]
add rdx, 4
mov rcx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov esi, eax
add esi, 4
mov r11d, esi
cmp r11, r13
jbe 0x140155c62
xor r14d, r14d
mov r13, r11
xor edx, edx
cmp dword [rsp + 0x6d0], 0
mov r9, qword [rsp + 0x7b8]
mov eax, ebp
setne dl
add r11, r15
cmp esi, dword [rsp + 0x320]
mov dword [r9 + rbp*8 + 4], esi
mov esi, r14d
seta sil
neg edx
cmp r11, qword [rsp + 0x788]
sete r14b
inc eax
add edx, ebx
mov dword [r9 + rbp*8], edx
mov ebp, eax
or esi, r14d
jne 0x1401573c3
inc ebx
cmp ebx, dword [rsp + 0x350]
jb 0x140155b58
mov r9, qword [rsp + 0x130]
mov rax, rbp
mov r8, qword [rsp + 0x138]
mov r10, r13
mov edx, dword [rsp + 0x140]
mov rbp, qword [rsp + 0x2e8]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
mov rcx, qword [rsp + 0x2c0]
mov r14d, edx
mov rdi, qword [rsp + 0x2d8]
mov r11d, dword [rsp + 0x2d0]
mov qword [rsp + 0x2f0], r12
mov qword [rsp + 0x6e0], rbx
mov dword [rcx + rdi*4], r11d
mov rdi, r8
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x2e8], rbp
mov rbp, rax
mov dword [rsp + 0x7e0], r13d
mov r13, r10
mov qword [rsp + 0x740], rsi
mov ebx, dword [rsp + 0x270]
mov r12d, dword [rsp + 0x228]
test ebx, ebx
je 0x140155e73
dec ebx
cmp r12d, dword [rsp + 0x268]
jb 0x140155e73
mov r9, qword [rsp + 0x2a0]
mov esi, dword [rsp + 0x280]
and esi, r12d
add esi, esi
mov r8, qword [rsp + 0x788]
lea r11, [r9 + rsi*4]
mov r9, qword [rsp + 0x230]
mov rsi, qword [rsp + 0x240]
cmp rsi, r9
mov qword [rsp + 0xc0], r11
cmovb r9, rsi
mov esi, r12d
add rsi, qword [rsp + 0x2e8]
mov qword [rsp + 0xb8], r9
lea rcx, [r15 + r9]
lea rdx, [rsi + r9]
call fcn.140128780
add rax, qword [rsp + 0xb8]
cmp rax, r13
jbe 0x140155dfc
mov ecx, r14d
lea r13d, [r12 + rax]
sub ecx, r12d
lea rdx, [r15 + rax]
mov r11, qword [rsp + 0x7b8]
cmp rax, rcx
mov r9d, dword [rsp + 0x2d0]
cmova r14d, r13d
sub r9d, r12d
add r9d, 2
cmp rax, 0x1000
mov dword [r11 + rbp*8], r9d
mov r9d, 0
mov dword [r11 + rbp*8 + 4], eax
mov r11d, r9d
seta r11b
mov r13, rax
cmp rdx, qword [rsp + 0x788]
mov rcx, r13
sete r9b
inc ebp
or r11d, r9d
jne 0x140155e73
jmp 0x140155e03
mov rcx, rax
lea rdx, [r15 + rax]
mov sil, byte [rax + rsi]
cmp sil, byte [rdx]
jae 0x140155e3a
mov dword [rdi], r12d
mov qword [rsp + 0x240], rcx
cmp r12d, dword [rsp + 0x248]
jbe 0x140157449
mov rcx, qword [rsp + 0xc0]
mov r12d, dword [rcx + 4]
lea rdi, [rcx + 4]
jmp 0x140155d15
mov rsi, qword [rsp + 0x130]
mov qword [rsp + 0x230], rcx
mov dword [rsi], r12d
cmp r12d, dword [rsp + 0x248]
jbe 0x14015747f
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x130], rcx
mov r12d, dword [rcx]
jmp 0x140155d15
mov r9, qword [rsp + 0x130]
mov rax, rbp
mov r12, qword [rsp + 0x2f0]
mov r8, rdi
mov r13d, dword [rsp + 0x7e0]
mov edx, r14d
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
xor r10d, r10d
add edx, 0xfffffff8
mov dword [r9], r10d
mov r9, qword [rsp + 0x758]
mov dword [r8], r10d
mov dword [r9 + 0x24], edx
jmp 0x140156a19
mov r11, rdx
mov eax, 0xfff
mov qword [rsp + 0x308], rdi
xor edi, edi
mov r9d, 1
mov edx, dword [r11 + 0xd4]
cmp edx, 0xfff
mov ecx, dword [r11 + 0xc8]
cmovae edx, eax
neg ecx
mov dword [rsp + 0x328], edx
mov rax, r15
imul edx, dword [r15], 0x9e3779b1
sub rax, rbp
mov r10, qword [r11 + 0x30]
mov r8d, eax
shr edx, cl
mov qword [rsp + 0x2a8], rdx
mov ecx, dword [r11 + 0xc4]
mov edx, dword [r10 + rdx*4]
add ecx, 0x1f
mov qword [rsp + 0x2c8], r10
mov r10d, 1
mov dword [rsp + 0x238], edx
shl r10d, cl
mov edx, dword [r11 + 0x18]
dec r10d
mov dword [rsp + 0x3b0], edx
mov edx, eax
sub edx, r10d
cmp r10d, eax
mov ecx, dword [r11 + 0xc0]
cmovae edx, edi
shl r9d, cl
mov ecx, dword [r11 + 0x1c]
sub r8d, ecx
mov dword [rsp + 0x258], edx
mov edx, eax
sub edx, r9d
cmp r8d, r9d
mov qword [rsp + 0x2f0], r12
cmovbe edx, ecx
mov r9d, 1
cmp dword [r11 + 0x20], 0
mov r12, qword [r11 + 0x40]
cmovne edx, ecx
test edx, edx
mov ecx, dword [r11 + 0xcc]
cmovne r9d, edx
mov r11d, 1
shl r11d, cl
xor ecx, ecx
cmp dword [rsp + 0x6d0], 0
mov dword [rsp + 0x260], r9d
mov r9d, eax
setne cl
and r9d, r10d
add r9d, r9d
mov qword [rsp + 0x2b8], r12
mov dword [rsp + 0x2b0], r10d
lea r10, [r12 + r9*4]
mov r12, qword [rsp + 0x698]
lea r8, [r10 + 4]
mov qword [rsp + 0x2e8], rbp
xor ebp, ebp
mov qword [rsp + 0x250], rbp
lea r9d, [rax + 9]
mov qword [rsp + 0x288], rbp
mov qword [rsp + 0x2e0], rbp
lea ebp, [rcx + 3]
mov qword [rsp + 0x298], r12
mov dword [rsp + 0x348], ebp
mov dword [rsp + 0x290], r11d
mov rbp, qword [rsp + 0x2e8]
mov rdi, qword [rsp + 0x308]
mov r12, qword [rsp + 0x2f0]
mov r11d, dword [rsp + 0x3b0]
neg r11d
add r11d, eax
mov dword [rsp + 0x3b0], r11d
lea r11, [rbx + r14 + 4]
mov qword [rsp + 0x2e8], rbp
mov qword [rsp + 0x740], rsi
mov qword [rsp + 0x100], r8
mov qword [rsp + 0x108], r10
mov qword [rsp + 0x118], r11
mov dword [rsp + 0x110], r9d
mov dword [rsp + 0x120], edx
mov dword [rsp + 0x128], eax
mov dword [rsp + 0x7e0], r13d
mov qword [rsp + 0x6e0], rbx
mov rbx, rdi
mov rsi, qword [rsp + 0x298]
mov edi, ecx
mov rbp, qword [rsp + 0x2e0]
cmp edi, 3
jne 0x1401560d4
mov rax, qword [rsp + 0x740]
mov r14d, dword [r12 + rax + 0x10]
dec r14d
jmp 0x1401560d8
mov r14d, dword [rbx + rdi*4]
xor r13d, r13d
lea eax, [r14 - 1]
cmp eax, dword [rsp + 0x3b0]
jae 0x14015616e
mov rcx, r15
mov edx, 4
call fcn.14012fc60
mov ecx, r14d
mov edx, 4
neg rcx
add rcx, r15
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x80], rcx
call fcn.14012fc60
neg r14d
xor edx, edx
add r14d, dword [rsp + 0x128]
xor r9d, r9d
cmp r14d, dword [rsp + 0x120]
setae r9b
cmp eax, dword [rsp + 0x88]
sete dl
test edx, r9d
je 0x14015616e
mov rdx, qword [rsp + 0x80]
add rdx, 4
mov rcx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r13d, eax
add r13d, 4
mov r9d, r13d
cmp r9, rsi
jbe 0x1401561ca
xor r10d, r10d
mov rsi, r9
xor eax, eax
cmp dword [rsp + 0x6d0], 0
mov rdx, qword [rsp + 0x7b8]
setne al
xor r11d, r11d
add r9, r15
cmp r13d, dword [rsp + 0x328]
mov dword [rdx + rbp*8 + 4], r13d
seta r11b
neg eax
cmp r9, qword [rsp + 0x788]
sete r10b
add eax, edi
mov dword [rdx + rbp*8], eax
mov eax, ebp
inc eax
mov ebp, eax
or r11d, r10d
jne 0x1401573c3
inc edi
cmp edi, dword [rsp + 0x348]
jb 0x1401560bd
mov qword [rsp + 0x298], rsi
mov qword [rsp + 0x2e0], rbp
mov r8, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
mov r9d, dword [rsp + 0x110]
mov eax, dword [rsp + 0x128]
mov rbp, qword [rsp + 0x2e8]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
mov r11, qword [rsp + 0x2a8]
mov r14, r10
mov rdx, qword [rsp + 0x2c8]
mov qword [rsp + 0x2e8], rbp
mov qword [rsp + 0x740], rsi
mov dword [rdx + r11*4], eax
mov dword [rsp + 0x128], eax
mov qword [rsp + 0x2f0], r12
mov dword [rsp + 0x7e0], r13d
mov r13d, r9d
mov qword [rsp + 0x6e0], rbx
mov rbx, r8
mov esi, dword [rsp + 0x290]
mov ebp, dword [rsp + 0x238]
test esi, esi
je 0x1401563ce
dec esi
cmp ebp, dword [rsp + 0x260]
jb 0x1401563ce
mov r12, qword [rsp + 0x2b8]
mov edi, dword [rsp + 0x2b0]
and edi, ebp
mov rax, qword [rsp + 0x288]
add edi, edi
mov r11, qword [rsp + 0x250]
cmp r11, rax
mov r8, qword [rsp + 0x788]
cmovb rax, r11
lea rdi, [r12 + rdi*4]
mov r12d, ebp
add r12, qword [rsp + 0x2e8]
mov qword [rsp + 0xb0], rax
lea rcx, [r15 + rax]
lea rdx, [r12 + rax]
call fcn.140128780
mov rdx, rax
add rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0x298]
jbe 0x140156379
mov ecx, r13d
lea r11d, [rbp + rdx]
sub ecx, ebp
mov rax, rdx
cmp rdx, rcx
mov r8, qword [rsp + 0x2e0]
cmova r13d, r11d
mov r11, qword [rsp + 0x7b8]
mov ecx, dword [rsp + 0x128]
sub ecx, ebp
add ecx, 2
cmp rdx, 0x1000
mov dword [r11 + r8*8], ecx
mov ecx, 0
mov dword [r11 + r8*8 + 4], edx
mov r11d, ecx
seta r11b
inc r8d
mov qword [rsp + 0x2e0], r8
mov qword [rsp + 0x298], rax
lea r8, [r15 + rdx]
cmp r8, qword [rsp + 0x788]
sete cl
or r11d, ecx
jne 0x1401563ce
jmp 0x140156380
mov rax, rdx
lea r8, [r15 + rdx]
mov cl, byte [rdx + r12]
cmp cl, byte [r8]
jae 0x1401563ad
mov dword [r14], ebp
mov qword [rsp + 0x250], rax
cmp ebp, dword [rsp + 0x258]
jbe 0x1401574b2
mov ebp, dword [rdi + 4]
lea r14, [rdi + 4]
jmp 0x140156282
mov dword [rbx], ebp
mov qword [rsp + 0x288], rax
cmp ebp, dword [rsp + 0x258]
jbe 0x1401574e1
mov ebp, dword [rdi]
mov rbx, rdi
jmp 0x140156282
mov r12, qword [rsp + 0x2f0]
mov r8, rbx
mov rbx, qword [rsp + 0x6e0]
mov r9d, r13d
mov r13d, dword [rsp + 0x7e0]
mov r10, r14
mov rsi, qword [rsp + 0x740]
mov rdx, qword [rsp + 0x758]
xor eax, eax
mov dword [r8], eax
add r9d, 0xfffffff8
mov dword [r10], eax
mov rax, qword [rsp + 0x2e0]
mov dword [rdx + 0x24], r9d
jmp 0x140156a19
mov rax, rdx
mov r9d, 0xfff
imul r11d, dword [r15], 0x9e3779b1
mov rdx, r15
mov r10d, dword [rax + 0xd4]
cmp r10d, 0xfff
mov ecx, dword [rax + 0xc8]
cmovae r10d, r9d
neg ecx
mov r9, qword [rax + 0x30]
sub rdx, rbp
shr r11d, cl
mov dword [rsp + 0x318], r10d
mov r10d, dword [r9 + r11*4]
mov qword [rsp + 0x200], r9
mov r9, qword [rax + 0x40]
mov ecx, dword [rax + 0xc4]
add ecx, 0x1f
mov dword [rsp + 0x148], r10d
mov r10d, 1
mov qword [rsp + 0x1e0], r9
xor r9d, r9d
mov qword [rsp + 0x188], r9
mov qword [rsp + 0x150], r9
shl r10d, cl
mov rcx, rax
mov r9d, dword [rax + 0x18]
dec r10d
mov dword [rsp + 0x3a0], r9d
mov r9d, edx
sub r9d, r10d
cmp r10d, edx
mov dword [rsp + 0x1b0], r10d
mov r10d, 0
mov dword [rsp + 0x210], edx
cmovae r9d, r10d
mov r8d, dword [rax + 0xc0]
mov qword [rsp + 0x1b8], r11
mov dword [rsp + 0x170], r9d
call fcn.140128f90
mov edx, 1
test eax, eax
mov r10, qword [rsp + 0x1e0]
cmovne edx, eax
mov dword [rsp + 0x178], edx
mov edx, dword [rsp + 0x210]
mov r9d, edx
and r9d, dword [rsp + 0x1b0]
add r9d, r9d
lea edx, [rdx + 9]
mov dword [rsp + 0x1e8], edx
lea r11, [r10 + r9*4]
mov rdx, qword [rsp + 0x758]
lea r9, [r11 + 4]
mov qword [rsp + 0x1f0], r11
mov qword [rsp + 0x1c0], r9
mov ecx, dword [rdx + 0xcc]
mov edx, 1
shl edx, cl
mov dword [rsp + 0x158], edx
mov rdx, qword [rsp + 0x698]
cmp dword [rsp + 0x6d0], 0
mov qword [rsp + 0x198], rdx
mov edx, 0
mov qword [rsp + 0x1d0], 0
setne dl
lea r10d, [rdx + 3]
mov r9d, dword [rsp + 0x3a0]
neg r9d
add r9d, dword [rsp + 0x210]
mov dword [rsp + 0x3a0], r9d
lea r9, [rbx + r14 + 3]
mov qword [rsp + 0x308], rdi
mov dword [rsp + 0x7e0], r13d
mov qword [rsp + 0xd0], r9
mov dword [rsp + 0x338], r10d
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0x2e8], rbp
mov qword [rsp + 0x6e0], rbx
mov ebx, edx
mov r13, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x1d0]
cmp ebx, 3
jne 0x140156603
mov ebp, dword [r12 + rsi + 0x10]
dec ebp
jmp 0x14015660e
mov rax, qword [rsp + 0x308]
mov ebp, dword [rax + rbx*4]
xor r14d, r14d
lea eax, [rbp - 1]
cmp eax, dword [rsp + 0x3a0]
jae 0x140156693
mov rcx, r15
mov edx, 3
call fcn.14012fc60
mov ecx, ebp
mov edx, 3
neg rcx
add rcx, r15
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], rcx
call fcn.14012fc60
neg ebp
add ebp, dword [rsp + 0x210]
xor r9d, r9d
cmp ebp, dword [rsp + 0xd8]
mov ebp, 0
setae r9b
cmp eax, dword [rsp + 0x68]
sete bpl
test ebp, r9d
je 0x140156693
mov rdx, qword [rsp + 0x60]
add rdx, 3
mov rcx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r14d, eax
add r14d, 3
mov r9d, r14d
cmp r9, r13
jbe 0x1401566f0
xor r10d, r10d
mov r13, r9
xor eax, eax
cmp dword [rsp + 0x6d0], 0
mov rbp, qword [rsp + 0x7b8]
setne al
xor r11d, r11d
add r9, r15
cmp r14d, dword [rsp + 0x318]
mov dword [rbp + rdi*8 + 4], r14d
seta r11b
neg eax
cmp r9, qword [rsp + 0x788]
sete r10b
add eax, ebx
mov dword [rbp + rdi*8], eax
mov eax, edi
inc eax
mov edi, eax
or r11d, r10d
jne 0x140157510
inc ebx
cmp ebx, dword [rsp + 0x338]
jb 0x1401565f5
mov qword [rsp + 0x198], r13
mov qword [rsp + 0x1d0], rdi
mov rbp, qword [rsp + 0x2e8]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
cmp qword [rsp + 0x198], 3
jae 0x14015680c
mov r8, r15
lea rdx, [rsp + 0x748]
mov rcx, qword [rdx + 0x10]
call fcn.14012fc80
mov r10d, eax
xor edx, edx
xor r9d, r9d
cmp r10d, dword [rsp + 0x178]
mov eax, dword [rsp + 0x210]
setae r9b
sub eax, r10d
cmp eax, 0x40000
mov dword [rsp + 0x30], eax
setb dl
test edx, r9d
je 0x14015680c
mov edx, r10d
mov rcx, r15
add rdx, rbp
mov r8, qword [rsp + 0x788]
call fcn.140128780
mov r14, rax
cmp r14, 3
jb 0x14015680c
mov rdx, qword [rsp + 0x7b8]
xor r10d, r10d
mov r9d, dword [rsp + 0x318]
xor r11d, r11d
cmp r14, r9
mov qword [rsp + 0x198], r14
mov dword [rdx + 4], r14d
seta r11b
add r14, r15
cmp r14, qword [rsp + 0x788]
mov eax, dword [rsp + 0x30]
sete r10b
add eax, 2
mov dword [rdx], eax
or r11d, r10d
mov qword [rsp + 0x1d0], 1
je 0x14015680c
mov rdx, qword [rsp + 0x758]
mov eax, dword [rsp + 0x210]
inc eax
mov dword [rdx + 0x24], eax
mov eax, 1
jmp 0x140156a19
mov r9, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x200]
mov eax, dword [rsp + 0x210]
mov qword [rsp + 0x2f0], r12
mov qword [rsp + 0x740], rsi
mov dword [rdx + r9*4], eax
mov dword [rsp + 0x7e0], r13d
mov qword [rsp + 0x6e0], rbx
mov r12d, dword [rsp + 0x158]
mov rdi, qword [rsp + 0x188]
mov esi, dword [rsp + 0x148]
test r12d, r12d
je 0x1401569c2
dec r12d
cmp esi, dword [rsp + 0x178]
jb 0x1401569c2
mov rbx, qword [rsp + 0x1e0]
mov r13d, dword [rsp + 0x1b0]
and r13d, esi
add r13d, r13d
mov r14d, esi
add r14, rbp
lea r13, [rbx + r13*4]
mov rbx, qword [rsp + 0x150]
cmp rdi, rbx
mov r8, qword [rsp + 0x788]
cmovb rbx, rdi
lea rcx, [r15 + rbx]
lea rdx, [r14 + rbx]
call fcn.140128780
mov rdx, rax
add rdx, rbx
cmp rdx, qword [rsp + 0x198]
jbe 0x140156953
mov r10d, dword [rsp + 0x1e8]
mov ebx, r10d
sub ebx, esi
lea r9d, [rsi + rdx]
cmp rdx, rbx
mov rax, rdx
mov rbx, qword [rsp + 0x7b8]
cmova r10d, r9d
mov r9, qword [rsp + 0x1d0]
mov r11d, dword [rsp + 0x210]
sub r11d, esi
add r11d, 2
mov dword [rbx + r9*8], r11d
mov dword [rbx + r9*8 + 4], edx
xor ebx, ebx
inc r9d
cmp rdx, 0x1000
mov dword [rsp + 0x1e8], r10d
lea r10, [r15 + rdx]
mov qword [rsp + 0x1d0], r9
mov r9d, ebx
seta r9b
cmp r10, qword [rsp + 0x788]
mov qword [rsp + 0x198], rax
sete bl
or r9d, ebx
jne 0x1401569c2
jmp 0x14015695a
mov rax, rdx
lea r10, [r15 + rdx]
mov bl, byte [rdx + r14]
cmp bl, byte [r10]
jae 0x140156992
mov rbx, qword [rsp + 0x1f0]
mov rdi, rax
mov dword [rbx], esi
cmp esi, dword [rsp + 0x170]
jbe 0x140157525
mov esi, dword [r13 + 4]
lea rax, [r13 + 4]
mov qword [rsp + 0x1f0], rax
jmp 0x14015685e
mov rbx, qword [rsp + 0x1c0]
mov qword [rsp + 0x150], rax
mov dword [rbx], esi
cmp esi, dword [rsp + 0x170]
jbe 0x140157553
mov qword [rsp + 0x1c0], r13
mov esi, dword [r13]
jmp 0x14015685e
mov r12, qword [rsp + 0x2f0]
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
mov rax, qword [rsp + 0x1c0]
xor edx, edx
mov rbp, qword [rsp + 0x1f0]
mov r10, qword [rsp + 0x758]
mov r9d, dword [rsp + 0x1e8]
mov dword [rax], edx
add r9d, 0xfffffff8
mov dword [rbp], edx
mov rax, qword [rsp + 0x1d0]
mov dword [r10 + 0x24], r9d
mov dword [rsp + 0x74c], eax
mov rax, rsp
mov r9, r15
neg r15
add r15, qword [rsp + 0x788]
lea rcx, [rsp + 0x640]
sub r9, qword [rcx + 0x158]
lea r8, [rsp + 0x74c]
mov dword [rax + 0x20], r15d
mov rdx, qword [rcx + 0x178]
call fcn.140130790
mov eax, dword [rsp + 0x74c]
test eax, eax
je 0x140156dee
mov rdx, qword [rsp + 0x7b8]
lea r10d, [rax - 1]
mov r9d, dword [rdx + r10*8 + 4]
cmp r9d, dword [rsp + 0x760]
ja 0x140157649
lea edx, [r13 + r9]
cmp edx, 0x1000
jae 0x1401575ef
xor r11d, r11d
test eax, eax
jbe 0x140156dee
mov edx, dword [rsp + 0x7f0]
xor r9d, r9d
add edx, dword [rsp + 0x6c8]
mov dword [rsp + 0x7f0], edx
mov qword [rsp + 0x6e0], rbx
mov r8d, dword [rsp + 0x770]
mov rcx, qword [rsp + 0x7b8]
mov edx, dword [rsp + 0x708]
mov r12d, dword [rcx + r11*8]
mov edi, dword [rcx + r11*8 + 4]
test r11d, r11d
jbe 0x140156af5
lea ebx, [r11 - 1]
mov r14d, dword [rcx + rbx*8 + 4]
inc r14d
jmp 0x140156af8
mov r14d, edx
cmp edi, r14d
jb 0x140156dc3
neg r14d
mov ebp, r9d
add r14d, edi
lea r15d, [r12 + 1]
inc r14d
lea ebx, [r13 + rdi]
mov dword [rsp + 0x708], edx
mov r10d, ebp
mov dword [rsp + 0x7d8], r14d
mov dword [rsp + 0x7e8], r15d
mov dword [rsp + 0x7a8], r12d
mov dword [rsp + 0x718], r11d
mov dword [rsp + 0x710], eax
mov dword [rsp + 0x7e0], r13d
mov qword [rsp + 0x7b8], rcx
mov rdx, qword [rsp + 0x780]
bsr r12d, dword [rsp + 0x7e8]
mov eax, r8d
lea r11d, [rdi - 3]
cmove r12d, r9d
cmp dword [rdx + 0x50], 1
je 0x1401575c8
mov r13, qword [rdx + 0x18]
mov r15d, dword [rdx + 0x4c]
mov r14d, dword [r13 + r12*4]
inc r14d
bsr ecx, r14d
cmove ecx, r9d
shl r14d, 8
sub r12d, ecx
shr r14d, cl
shl r12d, 8
sub r15d, r14d
add r12d, r15d
cmp r11d, 0x7f
ja 0x140156bc2
lea rcx, [0x140000000]
movzx r13d, byte [rcx + r11 + 0x2275e0]
jmp 0x140156bce
bsr r13d, r11d
cmove r13d, r9d
add r13d, 0x24
mov r14, qword [rdx + 0x10]
lea r15, [0x140000000]
mov r11d, dword [r14 + r13*4]
inc r11d
bsr ecx, r11d
mov r13d, dword [r15 + r13*4 + 0x227660]
cmove ecx, r9d
shl r11d, 8
sub r13d, ecx
mov r14d, dword [rdx + 0x48]
shr r11d, cl
add r14d, r12d
shl r13d, 8
sub r14d, r11d
lea r15d, [r13 + r14 + 0x33]
mov r14d, dword [rsp + 0x7e0]
add r15d, dword [rsp + 0x7f0]
lea r11d, [r14 + rdi]
mov r14d, r11d
lea rcx, [r14*4]
shl r14, 5
sub r14, rcx
cmp r11d, r8d
ja 0x140156c42
cmp r15d, dword [rsi + r14]
jge 0x140156d89
lea ecx, [rbx + r10]
cmp r8d, ecx
jae 0x140156d68
mov r12d, ebx
sub r12d, r8d
add r12d, r10d
cmp r12d, 0x10
jl 0x1401575c0
mov r13d, r12d
mov r11d, r9d
and r13d, 0xfffffff0
lea ecx, [r8 + 1]
mov r9d, ecx
add r11d, 0x10
add ecx, 0x10
lea rdx, [r9*4]
shl r9, 5
sub r9, rdx
vmovd dword [r9 + rsi], xmm15
vpextrd dword [r9 + rsi + 0x1c], xmm15, 1
vpextrd dword [r9 + rsi + 0x38], xmm15, 2
vpextrd dword [r9 + rsi + 0x54], xmm15, 3
vmovd dword [r9 + rsi + 0x70], xmm15
vpextrd dword [r9 + rsi + 0x8c], xmm15, 1
vpextrd dword [r9 + rsi + 0xa8], xmm15, 2
vpextrd dword [r9 + rsi + 0xc4], xmm15, 3
vmovd dword [r9 + rsi + 0xe0], xmm15
vpextrd dword [r9 + rsi + 0xfc], xmm15, 1
vpextrd dword [r9 + rsi + 0x118], xmm15, 2
vpextrd dword [r9 + rsi + 0x134], xmm15, 3
vmovd dword [r9 + rsi + 0x150], xmm15
vpextrd dword [r9 + rsi + 0x16c], xmm15, 1
vpextrd dword [r9 + rsi + 0x188], xmm15, 2
vpextrd dword [r9 + rsi + 0x1a4], xmm15, 3
cmp r11d, r13d
jb 0x140156c70
mov rdx, qword [rsp + 0x780]
xor r9d, r9d
add r8d, r13d
cmp r13d, r12d
jae 0x140156d68
lea ecx, [r13 + rax + 1]
inc r13d
lea r8, [rcx*4]
shl rcx, 5
sub rcx, r8
mov dword [rsi + rcx], 0x40000000
cmp r13d, r12d
jb 0x140156d41
lea r8d, [rax + r13]
mov eax, dword [rsp + 0x7a8]
mov ecx, dword [rsp + 0x7b0]
mov dword [r14 + rsi + 8], edi
mov dword [r14 + rsi + 4], eax
mov dword [r14 + rsi + 0xc], ecx
mov dword [rsi + r14], r15d
inc ebp
dec edi
dec r10d
cmp ebp, dword [rsp + 0x7d8]
jb 0x140156b60
mov r11d, dword [rsp + 0x718]
mov eax, dword [rsp + 0x710]
mov r13d, dword [rsp + 0x7e0]
mov rcx, qword [rsp + 0x7b8]
mov edx, dword [rsp + 0x708]
inc r11d
cmp r11d, eax
jb 0x140156ad9
mov dword [rsp + 0x770], r8d
mov qword [rsp + 0x7b8], rcx
mov dword [rsp + 0x708], edx
mov rbx, qword [rsp + 0x6e0]
inc r13d
cmp r13d, dword [rsp + 0x770]
jbe 0x1401551c3
mov r14d, dword [rsp + 0x770]
mov rdi, qword [rsp + 0x7b8]
mov rbp, qword [rsp + 0x758]
mov r9d, r14d
lea rax, [r9*4]
shl r9, 5
sub r9, rax
vmovups xmm1, xmmword [r9 + rsi]
vmovups xmmword [rsp + 0x810], xmm1
mov r12d, dword [rsp + 0x81c]
add r12d, dword [rsp + 0x818]
mov r10, qword [r9 + rsi + 0x10]
mov r11d, dword [r9 + rsi + 0x18]
vmovups xmmword [rsp + 0x860], xmm1
mov qword [rsp + 0x870], r10
mov dword [rsp + 0x878], r11d
mov qword [rsp + 0x820], r10
mov dword [rsp + 0x828], r11d
cmp r14d, r12d
ja 0x140156e85
xor r14d, r14d
jmp 0x140156e95
sub r14d, dword [rsp + 0x86c]
sub r14d, dword [rsp + 0x868]
mov r9d, dword [rsp + 0x868]
mov r10d, r14d
lea rax, [r10*4]
shl r10, 5
sub r10, rax
lea rdx, [rsi + r10 + 0x10]
test r9d, r9d
je 0x140156eff
xor r9d, r9d
cmp dword [rsp + 0x86c], 0
mov r8d, dword [rsp + 0x864]
lea rcx, [rsp + 0x830]
sete r9b
call fcn.140130a20
mov rax, qword [rsp + 0x830]
mov r9d, dword [rsp + 0x838]
mov qword [rsp + 0x850], rax
mov dword [rsp + 0x858], r9d
jmp 0x140156f16
mov rax, qword [rdx]
mov qword [rsp + 0x850], rax
mov r9d, dword [rdx + 8]
mov dword [rsp + 0x858], r9d
vmovups xmm1, xmmword [rsp + 0x860]
lea r12d, [r14 + 1]
mov r11d, r12d
mov rdx, r11
lea rax, [r11*4]
shl rdx, 5
mov r10d, r12d
sub rdx, rax
mov r9, qword [rsp + 0x870]
mov r13d, dword [rsp + 0x878]
vmovups xmmword [rdx + rsi], xmm1
mov qword [rdx + rsi + 0x10], r9
mov dword [rdx + rsi + 0x18], r13d
test r14d, r14d
jbe 0x140156fbc
mov r9d, r14d
dec r10d
lea rax, [r9*4]
shl r9, 5
sub r9, rax
mov r11d, r10d
mov rdx, r11
lea r13, [r11*4]
shl rdx, 5
sub rdx, r13
vmovups xmm1, xmmword [rsi + r9]
mov eax, dword [rsi + r9 + 0xc]
add eax, dword [rsi + r9 + 8]
vmovups xmmword [rdx + rsi], xmm1
mov r13, qword [rsi + r9 + 0x10]
mov qword [rdx + rsi + 0x10], r13
mov r9d, dword [rsi + r9 + 0x18]
mov dword [rdx + rsi + 0x18], r9d
cmp r14d, eax
jbe 0x140156fbc
sub r14d, eax
jne 0x140156f5f
cmp r10d, r12d
ja 0x14015714f
mov qword [rsp + 0x7b8], rdi
mov r13d, r11d
mov qword [rsp + 0x758], rbp
mov rbp, qword [rsp + 0x790]
mov rdi, qword [rsp + 0x750]
lea rax, [r11*4]
shl r11, 5
sub r11, rax
mov r14d, dword [r11 + rsi + 8]
mov ebx, dword [r11 + rsi + 0xc]
mov r15d, dword [r11 + rsi + 4]
test r14d, r14d
jne 0x140157013
add rbx, rbp
jmp 0x140157128
mov rax, rsp
mov edx, ebx
mov r8, rbp
mov r9d, r15d
mov dword [rax + 0x20], r14d
mov rcx, qword [rsp + 0x780]
call fcn.140130ae0
mov r10d, ebx
lea eax, [r14 - 3]
lea r8, [rbp + r10]
cmp r8, qword [rsp + 0x768]
ja 0x140157587
mov rcx, qword [rdi + 0x18]
vmovups xmm1, xmmword [rbp]
vmovups xmmword [rcx], xmm1
cmp r10, 0x10
ja 0x140157062
add qword [rdi + 0x18], r10
jmp 0x1401570bc
mov rcx, qword [rdi + 0x18]
lea r8, [r10 - 0x20]
vmovups xmm1, xmmword [rbp + 0x10]
lea rdx, [rcx + 0x10]
vmovups xmmword [rdx], xmm1
lea r11, [r10 + rcx]
test r8, r8
jle 0x1401570af
add rcx, 0x20
lea rdx, [rbp + 0x20]
vmovups xmm0, xmmword [rdx]
vmovups xmmword [rcx], xmm0
lea r8, [rdx + 0x10]
vmovups xmm0, xmmword [r8]
lea r9, [rcx + 0x10]
vmovups xmmword [r9], xmm0
add rcx, 0x20
add rdx, 0x20
cmp rcx, r11
jb 0x140157088
add qword [rdi + 0x18], r10
cmp r10, 0xffff
ja 0x1401570c2
mov r11, qword [rdi + 8]
jmp 0x1401570dd
mov rcx, qword [rdi]
neg rcx
mov r11, qword [rdi + 8]
add rcx, r11
shr rcx, 3
mov dword [rdi + 0x48], 1
mov dword [rdi + 0x4c], ecx
mov word [r11 + 4], r10w
inc r15d
mov rcx, qword [rdi + 8]
mov dword [rcx], r15d
cmp rax, 0xffff
jbe 0x140157111
mov rcx, qword [rdi]
neg rcx
mov r9, qword [rdi + 8]
add rcx, r9
shr rcx, 3
mov dword [rdi + 0x48], 2
mov dword [rdi + 0x4c], ecx
jmp 0x140157115
mov r9, qword [rdi + 8]
add r14d, ebx
mov word [r9 + 6], ax
add rbp, r14
add qword [rdi + 8], 8
mov rbx, rbp
inc r13d
mov r11d, r13d
cmp r13d, r12d
jbe 0x140156fe8
mov qword [rsp + 0x790], rbp
mov rdi, qword [rsp + 0x7b8]
mov rbp, qword [rsp + 0x758]
mov edx, 2
mov rcx, qword [rsp + 0x780]
call fcn.140130570
cmp rbx, qword [rsp + 0x7a0]
jb 0x14015381e
vmovups xmm15, xmmword [rsp + 0x3d0]
mov r15d, dword [rsp + 0x6a0]
mov rsi, qword [rsp + 0x780]
mov rdi, qword [rsp + 0x8f0]
mov rcx, qword [rsp + 0x750]
call fcn.1400f0810
add r15d, dword [rbp + 0x18]
sub qword [rbp + 8], rdi
mov dword [rbp + 0x18], r15d
mov dword [rbp + 0x1c], r15d
mov dword [rbp + 0x24], r15d
cmp dword [rsi + 0x60], 2
je 0x1401571cb
mov edx, 0xff
xor r8d, r8d
mov rcx, qword [rbp + 0x50]
call fcn.140135530
mov dword [rsi + 0x30], eax
mov edx, 0x23
xor r8d, r8d
mov rcx, qword [rsi + 8]
call fcn.1401355f0
mov edx, 0x34
xor r8d, r8d
mov rcx, qword [rsi + 0x10]
mov dword [rsi + 0x34], eax
call fcn.1401356b0
mov edx, 0x1f
xor r8d, r8d
mov rcx, qword [rsi + 0x18]
mov dword [rsi + 0x38], eax
call fcn.140135770
mov dword [rsi + 0x3c], eax
mov rcx, qword [rsp + 0x880]
mov qword [rsp + 0x880], 0
xor rcx, rsp
cmp rcx, qword [0x140294fc0]
jne 0x140157581
add rsp, 0x888
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
jmp 0x140154ee0
mov r12d, dword [rsp + 0x330]
lea r13, [rsp + 0x54]
mov rdi, qword [r13 + 0x764]
mov rsi, qword [r13 + 0x6ec]
mov rbp, qword [r13 + 0x704]
jmp 0x140153df4
mov r12d, dword [rsp + 0x330]
lea r14, [rsp + 0x54]
mov rdi, qword [r14 + 0x764]
mov rsi, qword [r14 + 0x6ec]
mov rbp, qword [r14 + 0x704]
jmp 0x140153df4
mov r12d, dword [rsp + 0x330]
lea r13, [rsp + 0x58]
mov rdi, qword [r13 + 0x760]
mov rsi, qword [r13 + 0x6e8]
mov rbp, qword [r13 + 0x700]
jmp 0x140154351
mov r12d, dword [rsp + 0x330]
lea r14, [rsp + 0x58]
mov rdi, qword [r14 + 0x760]
mov rsi, qword [r14 + 0x6e8]
mov rbp, qword [r14 + 0x700]
jmp 0x140154351
mov r12d, dword [rsp + 0x330]
mov edx, ebx
mov rdi, r10
mov rbx, r15
mov rsi, qword [rsp + 0x740]
mov rbp, qword [rsp + 0x758]
jmp 0x140154891
mov r12d, dword [rsp + 0x330]
mov edx, ebx
mov rdi, qword [rsp + 0x7b8]
mov rbx, r15
mov rsi, qword [rsp + 0x740]
lea r13, [rsp + 0x5c]
mov rbp, qword [r13 + 0x6fc]
jmp 0x140154891
mov r12d, dword [rsp + 0x330]
mov edx, ebx
mov rdi, qword [rsp + 0x7b8]
mov rbx, r15
mov rsi, qword [rsp + 0x740]
lea r14, [rsp + 0x5c]
mov rbp, qword [r14 + 0x6fc]
jmp 0x140154891
mov r12d, dword [rsp + 0x330]
mov r9, rsi
mov rdi, qword [rsp + 0x7b8]
lea r13, [rsp + 0x50]
mov rsi, qword [r13 + 0x6f0]
mov rbp, qword [r13 + 0x708]
jmp 0x140154ebf
mov r12d, dword [rsp + 0x330]
lea r9, [rsp + 0x50]
mov rdi, qword [r9 + 0x768]
mov rsi, qword [r9 + 0x6f0]
mov rbp, qword [r9 + 0x708]
jmp 0x140154ebf
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
mov rsi, qword [rsp + 0x740]
jmp 0x140156a19
mov r9, qword [rsp + 0xe0]
mov rax, rbp
mov r12, qword [rsp + 0x2f0]
mov r8d, r14d
mov r13d, dword [rsp + 0x7e0]
lea rdx, [rsp + 0x3c]
mov rbx, qword [rdx + 0x6a4]
mov rsi, qword [rdx + 0x704]
jmp 0x140155964
mov r12, qword [rsp + 0x2f0]
mov rax, rbp
mov r13d, dword [rsp + 0x7e0]
mov rdx, rdi
mov rbx, qword [rsp + 0x6e0]
mov r8d, r14d
mov rsi, qword [rsp + 0x740]
lea r9, [rsp + 0x3c]
jmp 0x140155964
mov r9, qword [rsp + 0x130]
mov rax, rbp
mov r12, qword [rsp + 0x2f0]
mov edx, r14d
mov r13d, dword [rsp + 0x7e0]
lea r8, [rsp + 0x40]
mov rbx, qword [r8 + 0x6a0]
mov rsi, qword [r8 + 0x700]
jmp 0x140155ea4
mov r12, qword [rsp + 0x2f0]
mov rax, rbp
mov r13d, dword [rsp + 0x7e0]
mov r8, rdi
mov rbx, qword [rsp + 0x6e0]
mov edx, r14d
mov rsi, qword [rsp + 0x740]
lea r9, [rsp + 0x40]
jmp 0x140155ea4
mov r12, qword [rsp + 0x2f0]
mov r8, rbx
mov rbx, qword [rsp + 0x6e0]
mov r9d, r13d
mov r13d, dword [rsp + 0x7e0]
lea r10, [rsp + 0x44]
mov rsi, qword [r10 + 0x6fc]
jmp 0x1401563f7
mov r12, qword [rsp + 0x2f0]
mov r9d, r13d
mov r13d, dword [rsp + 0x7e0]
mov r10, r14
mov rbx, qword [rsp + 0x6e0]
lea r8, [rsp + 0x44]
mov rsi, qword [r8 + 0x6fc]
jmp 0x1401563f7
mov r13d, dword [rsp + 0x7e0]
mov rbx, qword [rsp + 0x6e0]
jmp 0x140156a19
mov r12, qword [rsp + 0x2f0]
lea rax, [rsp + 0x38]
mov r13d, dword [rax + 0x7a8]
mov rbx, qword [rax + 0x6a8]
mov rsi, qword [rax + 0x708]
mov qword [rax + 0x1b8], rax
jmp 0x1401569e2
mov r12, qword [rsp + 0x2f0]
lea rax, [rsp + 0x38]
mov r13d, dword [rax + 0x7a8]
mov rbx, qword [rax + 0x6a8]
mov rsi, qword [rax + 0x708]
mov qword [rax + 0x188], rax
jmp 0x1401569e2
call fcn.1401c41f0
nop
mov rdx, rbp
mov rcx, qword [rdi + 0x18]
mov r9, qword [rsp + 0x768]
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x300], r10
call fcn.140130490
mov r10, qword [rsp + 0x300]
mov rax, qword [rsp + 0x2f8]
jmp 0x1401570af
mov r13d, r9d
jmp 0x140156d3c
lea r11d, [rdi - 2]
bsr ecx, r11d
cmove ecx, r9d
shl r11d, 8
add r12d, ecx
shl r12d, 8
shr r11d, cl
lea r15d, [r12 + r11 + 0x1000]
jmp 0x140156c0d
mov r11d, dword [rsp + 0x7b0]
mov rdi, qword [rsp + 0x7b8]
mov rbp, qword [rsp + 0x758]
mov eax, dword [rdi + r10*8]
mov dword [rsp + 0x868], r9d
mov dword [rsp + 0x864], eax
mov dword [rsp + 0x86c], r11d
cmp dword [r12 + rsi + 8], 0
jne 0x140157631
mov eax, dword [r12 + rsi + 0xc]
jmp 0x140157633
xor eax, eax
sub r13d, eax
xor r14d, r14d
cmp r13d, 0x1000
cmovbe r14d, r13d
jmp 0x140156e9d
mov r11d, dword [rsp + 0x7b0]
mov rdi, rdx
mov rbp, qword [rsp + 0x758]
jmp 0x140157607
mov r13d, r9d
lea r11d, [r14 + r9 - 2]
bsr ecx, r11d
mov r15d, dword [rsp + 0x7d0]
lea edx, [r14 + r9]
cmove ecx, eax
add edi, ecx
shl r13d, 8
shl edi, 8
lea r11d, [r13 + r15 - 0x200]
shr r11d, cl
lea r11d, [rdi + r11 + 0x1000]
jmp 0x140155120
xor r14d, r14d
jmp 0x140154fc8
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x640], xmm0
vmovdqu xmmword [rsp + 0x650], xmm0
vmovq qword [rsp + 0x660], xmm0
jmp 0x140153763