Function at 0x140463410
Capabilities:
Encode data using xor
Encrypt data using speck
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xd0], xmm6
mov qword [rbp + 0xc8], 0xfffffffffffffffe
mov qword [rbp + 0xa8], r9
mov qword [rbp + 0xc0], r8
mov r12, rdx
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x90], ecx
mov eax, ecx
and eax, 0xf
cmp eax, 3
jbe 0x140463522
cmp eax, 4
jne 0x14046372c
nop
mov rcx, qword [rbp + 0x158]
mov rdi, qword [rcx]
mov r10, qword [rcx + 8]
sub r10, rdi
sar r10, 3
movabs rax, 0xcccccccccccccccd
imul r10, rax
inc r10
mov rcx, qword [rcx + 0x10]
sub rcx, rdi
sar rcx, 3
imul rcx, rax
mov r8, rcx
shr r8, 1
movabs rax, 0x666666666666666
mov rdx, rax
sub rdx, r8
add r8, rcx
cmp r8, r10
mov r9, r10
mov qword [rbp + 0xa0], r10
cmovbe r8, r10
cmp rcx, rdx
cmova r8, rax
cmp r8, rax
jbe 0x1404639c4
lea r15, [rbp + 0x20]
cmp byte [rbp + 0x90], 0
jns 0x140465b92
nop
mov rax, qword [rbp + 0xa8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov ecx, 0x60767f34
mov r8, qword [rbp + 0x150]
call fcn.140463410
xor r13d, r13d
jmp 0x140465b65
cmp eax, 2
jae 0x140463790
test eax, eax
je 0x140463c25
call fcn.1404633f0
movzx r8d, byte [0x140790310]
mov rcx, qword [0x140767768]
mov r9d, dword [0x140767718]
mov qword [rbp + 0xb8], r8
xor r9d, r8d
mov r13d, 0xe32
sub r13d, eax
mov qword [rbp + 0x78], rax
add eax, 0xfffff1ce
mov dword [rbp + 0x94], eax
sub r9d, r13d
movsxd rax, r9d
add rax, rcx
call qword [0x140704440]
mov r14d, eax
mov ecx, eax
mov rax, rcx
shl rax, 0x24
or rax, rcx
movabs r15, 0xb3e00dd0bb3e00d5
xor r15, rax
mov rax, rcx
shl rax, 0x20
or rax, rcx
movabs r12, 0xbb3e00ddbb3e00fd
mov qword [rbp + 0x10], rax
xor r12, rax
mov rax, rcx
shl rax, 0x22
or rax, rcx
movabs rbx, 0xecf80374bb3e00d2
xor rbx, rax
mov dword [rbp + 0x88], r14d
xor r14d, 0x8a45d6d9
movabs rdx, 0xecf80374bb3e00f5
mov qword [rbp + 0x98], rax
xor rdx, rax
mov qword [rbp + 0xa0], rdx
mov rax, rcx
shl rax, 0x1c
movabs rdx, 0xbb3e00d6b3e00db
mov qword [rbp + 8], rcx
xor rdx, rcx
mov qword [rbp - 0x10], rax
xor rdx, rax
mov qword [rbp + 0x80], rdx
mov al, 1
mov qword [rbp], rax
xor eax, eax
nop word cs:[rax + rax]
nop
mov qword [rbp + 0x70], rax
lea rax, [rax + rax*2]
mov rcx, qword [rbp + 0xa8]
lea rdx, [rcx + rax*8]
add rdx, 0xb0
mov qword [rbp + 0xb0], rdx
mov rsi, qword [rcx + rax*8 + 0xb0]
cmp rsi, qword [rcx + rax*8 + 0xb8]
je 0x1404636d0
xor edi, edi
nop word cs:[rax + rax]
nop
cmp qword [rsi + r12], rbx
jbe 0x140463680
mov rdx, qword [rsi + r15]
jmp 0x140463684
lea rdx, [rsi + r15]
mov rcx, qword [0x140767758]
mov eax, dword [0x140767714]
xor eax, dword [rbp + 0xb8]
sub eax, r13d
cdqe
add rax, rcx
mov rcx, qword [rbp + 0xc0]
mov r8d, r14d
call qword [0x140704440]
test rax, rax
je 0x1404636d2
inc rdi
add rsi, 0x28
mov rax, qword [rbp + 0xb0]
cmp rsi, qword [rax + 8]
jne 0x140463670
jmp 0x1404636d2
xor edi, edi
nop
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
cqo
idiv qword [rbp + 0xa0]
cmp rdi, rax
je 0x140463cff
nop
mov rcx, qword [rbp + 0x70]
lea rax, [rcx + 1]
cmp rcx, qword [rbp + 0x80]
setb cl
mov qword [rbp], rcx
mov rcx, rax
xor rcx, qword [rbp + 0x98]
movabs rdx, 0xecf80374bb3e00da
cmp rcx, rdx
jne 0x140463630
jmp 0x140465881
cmp eax, 5
jbe 0x140463a14
cmp eax, 6
jne 0x1404640d7
nop
mov rax, qword [rbp + 0xa8]
mov r15, qword [rax + 8]
cmp byte [0x140790310], 0
jne 0x1404634ea
nop
cmp r15, qword [rax + 0x10]
je 0x1404634ea
xorps xmm0, xmm0
movups xmmword [r15 + 0x18], xmm0
mov r12, qword [rbp + 0x150]
mov rax, qword [r12 + 0x18]
mov qword [rbp + 0x70], rax
cmp qword [r12 + 0x20], 0x10
jb 0x140464ebb
mov r12, qword [r12 + 8]
jmp 0x140464ebf
cmp eax, 3
jne 0x140463aff
movabs rax, 0x800000000000000
mov rcx, qword [rbp + 0x158]
cmp rcx, rax
ja 0x140465b97
nop
mov rax, qword [0x140790b80]
add rax, rcx
dec rax
or rax, 1
bsr rcx, rax
xor ecx, 0x3f
neg cl
mov esi, 1
shl rsi, cl
mov rdi, qword [rbp + 0xa8]
lea rax, [rdi + 0x18]
mov r15, qword [rdi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, r15
call fcn.140135c20
lea rax, [rsi - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rsi
cmp byte [0x140790310], 0
jne 0x140463cf7
nop
mov rax, qword [rdi + 8]
mov rax, qword [rax]
cmp rax, r15
mov r13d, 0
je 0x140465b65
mov r12, rax
movabs rax, 0xcbf29ce484222325
movabs rcx, 0x100000001b3
lea r14, [rbp + 0x48]
lea rsi, [rbp - 0x40]
jmp 0x140463862
nop
mov qword [r8 + r9*8], rdx
mov qword [r8 + r10*8], rdx
cmp r12, r15
je 0x140463cf7
mov rdx, r12
mov r12, qword [r12]
movzx r8d, byte [rdx + 0x10]
xor r8, rax
imul r8, rcx
movzx r9d, byte [rdx + 0x11]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 0x12]
xor r8, r9
imul r8, rcx
movzx r9d, byte [rdx + 0x13]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 0x14]
xor r8, r9
imul r8, rcx
movzx r9d, byte [rdx + 0x15]
xor r9, r8
imul r9, rcx
movzx r8d, byte [rdx + 0x16]
xor r8, r9
imul r8, rcx
movzx r11d, byte [rdx + 0x17]
xor r11, r8
imul r11, rcx
mov r8, qword [rbp + 0xa8]
and r11, qword [r8 + 0x30]
mov r8, qword [r8 + 0x18]
lea r9, [r11 + r11]
lea r10, [r11*2 + 1]
shl r11, 4
mov rdi, qword [r8 + r11]
cmp rdi, r15
je 0x140463850
nop
mov r11, qword [r8 + r10*8]
mov rbx, qword [rdx + 0x10]
cmp rbx, qword [r11 + 0x10]
je 0x140463950
nop word cs:[rax + rax]
cmp rdi, r11
je 0x140463997
nop
mov r11, qword [r11 + 8]
cmp rbx, qword [r11 + 0x10]
jne 0x140463910
nop
mov r8, qword [r11]
mov r9, qword [rdx + 8]
mov qword [r9], r12
mov r10, qword [r12 + 8]
mov qword [r10], r8
mov r11, qword [r8 + 8]
mov qword [r11], rdx
mov qword [r8 + 8], r10
mov qword [r12 + 8], r9
mov qword [rdx + 8], r11
jmp 0x140463859
nop
mov r9, qword [r11]
cmp r9, rdx
je 0x14046398d
test byte [rbp + 0x90], 0x20
je 0x14046588f
nop
mov r11, qword [rdx + 8]
mov r13, r12
mov qword [r11], r12
mov rdi, qword [r12 + 8]
mov qword [rdi], r9
mov rbx, qword [r9 + 8]
mov qword [rbx], rdx
mov qword [r9 + 8], rdi
mov qword [r12 + 8], r11
mov qword [rdx + 8], rbx
nop
mov qword [r8 + r10*8], rdx
jmp 0x140463859
nop
mov r10, qword [rdx + 8]
mov qword [r10], r12
mov rdi, qword [r12 + 8]
mov qword [rdi], r11
mov rbx, qword [r11 + 8]
mov qword [rbx], rdx
mov qword [r11 + 8], rdi
mov qword [r12 + 8], r10
mov qword [rdx + 8], rbx
mov qword [r8 + r9*8], rdx
jmp 0x140463859
lea rcx, [r8*8]
lea rcx, [rcx + rcx*4]
mov qword [rbp + 0xa8], rcx
cmp r8, 0x67
jb 0x140464189
nop
mov qword [rbp + 0x98], r8
cmp r8, rax
je 0x140465bc3
nop
mov rax, qword [rbp + 0xa8]
lea rcx, [rax + 0x27]
call fcn.1400954c0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140464714
nop
mov rax, qword [rbp + 0x150]
test rax, rax
lea rbx, [0x1405e824c]
cmovne rbx, rax
lea rax, [rbp + 0x50]
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], 0
mov rcx, rbx
call fcn.140095650
mov r14, rax
call fcn.1404633f0
mov rcx, qword [0x1407676d8]
mov edx, dword [0x1407676ac]
mov r8d, 0xb9b7
mov qword [rbp + 0x98], rax
sub r8d, eax
mov dword [rbp + 0xb0], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [0x140704440]
mov qword [rbp + 0xa0], rax
mov esi, eax
mov rdi, rsi
shl rdi, 0x22
or rdi, rsi
movabs r13, 0x8384f40020e13df
xor r13, rdi
cmp byte [0x140790310], 0
nop
mov qword [rbp + 0x80], rsi
jne 0x140463e32
cmp r14, r13
ja 0x140463e32
nop
mov qword [rbp + 0x60], r14
mov rcx, qword [0x1407676f0]
mov eax, dword [0x1407676b0]
sub eax, dword [rbp + 0xb0]
cdqe
add rax, rcx
lea rcx, [rbp + 0x50]
mov rdx, rbx
mov r8, r14
call qword [0x140704440]
mov byte [rbp + r14 + 0x50], 0
jmp 0x140463e5b
nop
mov rsi, qword [r12 + 0x10]
movabs rdi, 0x7fffffffffffffff
mov rax, rsi
xor rax, rdi
mov rbx, qword [rbp + 0x158]
cmp rax, rbx
jb 0x140465bbe
mov rcx, r12
add rbx, rsi
mov r15, rbx
mov rbx, qword [r12 + 0x18]
movabs rcx, 0x8000000000000000
js 0x140463b89
nop
test byte [0x140790310], 1
jne 0x140463b89
mov rax, rbx
shr rax, 1
mov rdx, rax
xor rdx, rdi
cmp rdx, rbx
jb 0x140463b89
mov rcx, r15
or rcx, 0xf
add rax, rbx
cmp rcx, rax
mov rdi, rax
cmova rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140464efa
cmp rcx, 0xffffffffffffffd9
jae 0x140465c93
add rcx, 0x27
call fcn.1400954c0
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
mov r13, r12
mov qword [r12 + 0x10], r15
mov qword [r12 + 0x18], rdi
cmp rbx, 0x10
jb 0x1404641ae
nop
mov r15, qword [r13]
mov rcx, r14
mov rdx, r15
mov r8, rsi
call fcn.1400d2840
add rsi, r14
mov rcx, rsi
mov rdx, qword [rbp + 0x150]
mov rdi, qword [rbp + 0xa8]
mov r8, rdi
call fcn.1400d2840
mov byte [rdi + rsi], 0
lea rdx, [rbx + 1]
cmp rdx, 0x1000
jb 0x140463c15
nop
mov rax, qword [r15 - 8]
add r15, 0xfffffffffffffff8
sub r15, rax
cmp r15, 0x20
jae 0x140465c78
add rbx, 0x28
mov rdx, rbx
mov r15, rax
mov rcx, r15
call fcn.140095520
mov r13, r12
jmp 0x1404641dc
nop
mov rax, qword [rbp + 0xa8]
mov r13d, dword [rax + 8]
mov rdi, qword [rax]
lea rax, [0x1405e9178]
mov rsi, qword [rbp + 0xc0]
mov qword [rsi], rax
lea r14, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
mov qword [rsi + 0x18], 0
mov byte [rsi + 0x20], 1
mov dword [rsi + 0x24], 1
movups xmmword [rsi + 0x28], xmm0
mov qword [rsi + 0x38], 0
call fcn.1404633e0
mov qword [rbp + 0xa0], rax
test r13, r13
je 0x140464604
lea rbx, [rsi + 0x10]
lea r15, [rsi + 0x18]
lea rax, [rsi + 0x28]
mov qword [rbp + 0xb0], rax
mov rcx, r13
call fcn.140095bc0
mov rsi, rax
mov qword [r14], rax
mov qword [r15], r13
mov qword [rbx], r13
test rdi, rdi
je 0x140464608
nop
test byte [0x140790310], 1
jne 0x140464608
nop
mov rcx, qword [0x1407677e0]
mov eax, dword [0x1407677dc]
mov rdx, qword [rbp + 0xa0]
add eax, edx
add eax, 0xffff415a
cdqe
add rax, rcx
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call qword [0x140704440]
jmp 0x140464615
xor r13d, r13d
jmp 0x140465b65
nop
cmp qword [0x140792600], 0
jne 0x140463d71
movabs rcx, 0xbb3e00ddbb3e00ed
mov rsi, qword [rbp + 0x10]
xor rcx, rsi
mov rdx, qword [0x140767750]
mov eax, dword [0x14076771c]
or eax, dword [rbp + 0xb8]
sub eax, r13d
cdqe
add rax, rdx
call qword [0x140704440]
movabs rcx, 0xbb3e00ddbb3e00d2
xor rcx, rsi
mov qword [rax + 0x28], rcx
lea rcx, [0x1405e7948]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x140792600], rax
nop
mov rcx, qword [0x140792600]
mov eax, dword [rbp + 0x88]
xor eax, 0xbb3e00c9
mov qword [rbp - 0x48], rcx
mov dword [rcx], eax
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp + 8]
xor rcx, r8
movabs rax, 0xbb3e00d6b3e00d5
mov r9, rcx
xor rax, rcx
mov rdx, r8
shl rdx, 0x21
or rdx, r8
movabs rcx, 0x767c01babb3e00d5
xor rcx, rdx
movabs rdx, 0xbb3e00ddbb3e00c5
mov r11, qword [rbp + 0x10]
xor r11, rdx
xorps xmm0, xmm0
mov r10, r11
movups xmmword [rbp + r11 + 0x20], xmm0
mov rdi, r8
shl rdi, 0x1b
xor rdi, r8
movabs rdx, 0x5d9f006533e00c5
xor rdx, rdi
mov rsi, qword [rbp + 0x150]
mov r12, qword [rsi + rdx]
mov rdx, r8
shl rdx, 0x1d
xor rdx, r8
movabs r8, 0x1767c01b1b3e00fd
xor r8, rdx
movabs rdx, 0x5d9f006533e00d2
xor rdx, rdi
cmp qword [rsi + r8], rdx
jbe 0x1404641e6
mov rsi, qword [rsi + rcx]
jmp 0x1404641e9
nop
mov rcx, qword [0x1407676c0]
mov eax, dword [0x1407676b8]
sub eax, dword [rbp + 0xb0]
cdqe
add rax, rcx
lea rcx, [rbp + 0x50]
mov rdx, r14
mov r9, rbx
call qword [0x140704440]
lea rax, [0x1405e7948]
mov qword [rbp + 0x48], rax
mov r8d, dword [rbp + 0x60]
test r8, r8
je 0x140463ea8
mov rax, rsi
shl rax, 0x1c
movabs rcx, 0x20e13d020e13df
xor rcx, rsi
xor rcx, rax
lea r9, [rbp + 0x50]
cmp qword [rbp + 0x68], rcx
jbe 0x140463e94
mov r9, qword [rbp + 0x50]
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x1c], eax
mov ecx, 0x7b3f52c3
call fcn.140466eb0
nop
mov r15, qword [r12 + 0x98]
mov rdx, qword [r12 + 0xa0]
movabs rax, 0x666ff4a6e4077f20
xor rdi, rax
mov rcx, rsi
shl rcx, 0x1c
xor rcx, rsi
movabs rax, 0x9188a5241bf880df
mov qword [rbp + 8], rcx
xor rax, rcx
add rax, rdi
add rax, rdx
sub rax, r15
inc rax
test rax, rax
nop
mov qword [rbp + 0x88], rdx
jle 0x14046405f
mov rdx, rsi
shl rdx, 0x20
or rdx, rsi
movabs rcx, 0x20e13d0020e13f8
mov qword [rbp + 0xc0], rdx
xor rcx, rdx
xor edx, edx
div rcx
mov rcx, r13
mov r13, rax
lea rax, [rbp + 0x50]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0x68], rcx
jbe 0x140463f43
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0xb8], rax
mov rdi, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
shl rax, 0x1d
movabs rdx, 0x41c27a020e13d8
xor rdx, rcx
xor rdx, rax
mov qword [rbp + 0xa8], rdx
mov rax, rcx
shl rax, 0x24
or rax, rcx
movabs rcx, 0x20e13d00020e13c8
xor rcx, rax
mov qword [rbp], rcx
movabs rcx, 0x20e13d0020e13f0
xor qword [rbp + 0xc0], rcx
movabs rbx, 0x20e13d00020e13df
xor rbx, rax
mov r14, r13
jmp 0x140463fbc
test r14, r14
mov r13, r14
jle 0x14046405f
shr r14, 1
lea r12, [r14 + r14*4]
lea rax, [r15 + r12*8]
mov rcx, qword [rbp + 0xc0]
cmp qword [rcx + rax], rbx
jbe 0x140463ff0
mov rcx, qword [rbp + 0xa8]
mov rcx, qword [rcx + rax]
jmp 0x140463ffa
mov rcx, qword [rbp + 0xa8]
add rcx, rax
mov rdx, qword [rbp]
mov rsi, qword [rdx + rax]
mov r8, rdi
cmp rdi, rsi
jb 0x14046400d
mov r8, rsi
mov rdx, qword [0x1407676e0]
mov eax, dword [0x1407676a8]
sub eax, dword [rbp + 0xb0]
cdqe
add rax, rdx
mov rdx, qword [rbp + 0xb8]
call qword [0x140704440]
xor ecx, ecx
cmp rsi, rdi
setb cl
xor edx, edx
test eax, eax
sets dl
cmovne ecx, edx
test cl, cl
je 0x140463fb0
lea r15, [r15 + r12*8]
add r15, 0x28
not r14
add r14, r13
jmp 0x140463fb0
lea r14, [rbp + 0x68]
cmp r15, qword [rbp + 0x88]
je 0x140464452
nop
mov r10, qword [rbp + 0x80]
mov rax, r10
shl rax, 0x1e
xor rax, r10
movabs rdx, 0x8384f4020e13d8
xor rdx, rax
movabs rax, 0x20e13d020e13c8
mov r8, qword [rbp + 8]
xor rax, r8
movabs rcx, 0x20e13d020e13f0
xor rcx, r8
mov r8, r10
shl r8, 0x1d
xor r8, r10
movabs r9, 0x41c27a020e13df
xor r9, r8
cmp qword [r15 + rcx], r9
jbe 0x14046431f
mov rdx, qword [r15 + rdx]
jmp 0x140464322
mov eax, 0xb7c98345
xor eax, dword [0x1407677a8]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x158]
mov r12, qword [rax + 8]
mov rax, qword [rbp + 0xa8]
mov rsi, qword [rax + 0x30]
mov qword [rbp - 0x18], rsi
mov rdx, qword [rax + 0x50]
lea r14, [rbp + 0x20]
mov rcx, r14
call fcn.14012fd10
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x78], rcx
mov rdx, r14
call fcn.140095260
nop
mov r13, qword [rbp + 0x40]
cmp byte [0x140790310], 0
jne 0x140464147
mov eax, 7
mov qword [rbp + 0x98], rax
cmp r13, 0x10
jb 0x140464395
nop
mov rdi, qword [rbp + 0x28]
lea rdx, [r13 + 1]
cmp rdx, 0x1000
jb 0x14046417c
nop
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
mov rcx, rdi
sub rcx, rax
cmp rcx, 0x20
jae 0x140465917
add r13, 0x28
mov rdx, r13
mov rdi, rax
mov rcx, rdi
call fcn.140095520
jmp 0x1404645d8
mov qword [rbp + 0x98], r8
test r8, r8
je 0x140464712
nop
mov rcx, qword [rbp + 0xa8]
call fcn.1400954c0
mov rcx, rax
jmp 0x140464714
mov rcx, r14
mov rdx, r13
mov r8, rsi
call fcn.1400d2840
add rsi, r14
mov rcx, rsi
mov rdx, qword [rbp + 0x150]
mov rdi, qword [rbp + 0xa8]
mov r8, rdi
call fcn.1400d2840
mov byte [rdi + rsi], 0
nop
mov qword [r13], r14
jmp 0x140465b65
add rsi, rcx
lea rcx, [rax + rbp]
add rcx, 0x20
lea rax, [rbp + r10 + 0x20]
mov qword [rbp + 0xa0], rax
mov r8, qword [rbp + 8]
mov rax, r8
shl rax, 0x1f
xor rax, r8
movabs rdx, 0x5d9f006e3b3e00cd
xor rdx, rax
mov rax, r8
shl r8, 0x1e
xor r8, rax
mov r15, r12
cmp r12, rdx
nop
mov qword [rbp + 0xc0], rcx
jae 0x140464270
movabs rax, 0x2ecf8037fb3e00cd
xor r8, rax
mov rdx, qword [0x140767748]
mov eax, dword [rbp + 0x94]
add eax, dword [rbp + 0xb8]
add eax, dword [0x140767700]
cdqe
add rax, rdx
mov rdx, rsi
call qword [0x140704440]
mov ebx, 0xf
jmp 0x140464cf6
mov rcx, rax
movabs rax, 0x2ecf8037fb3e00d2
xor r8, rax
or r8, r15
movabs rbx, 0x7fffffffffffffff
cmp r8, rbx
cmovb rbx, r8
mov rax, rcx
shl rax, 0x23
or rax, rcx
movabs rcx, 0xd9f006e8bb3e0f23
xor rcx, rax
cmp r8, rcx
jbe 0x140464c96
movabs rcx, 0xbb3e00d6b3e00f5
mov r15, r9
xor rcx, r9
add rcx, rbx
add rcx, qword [0x140790b80]
mov rdx, qword [0x140767750]
mov r14, qword [rbp + 0xb8]
mov eax, dword [rbp + 0x94]
add eax, r14d
add eax, dword [0x14076771c]
cdqe
add rax, rdx
call qword [0x140704440]
movabs rcx, 0x5d9f006533e00fa
xor rdi, rcx
add rdi, rax
movabs rcx, 0xf44c1ff294c1ff3d
xor rcx, r15
and rcx, rdi
mov qword [rcx - 8], rax
jmp 0x140464cc2
add rdx, r15
mov rsi, qword [r15 + rax]
mov rdi, qword [rbp + 0x60]
mov rax, r10
shl rax, 0x23
or rax, r10
movabs r8, 0x10709e80020e13df
xor r8, rax
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], r8
jbe 0x14046434f
mov rcx, qword [rbp + 0x50]
cmp rsi, rdi
mov r8, rdi
cmovb r8, rsi
mov r9, qword [0x1407676e0]
mov eax, dword [0x1407676a8]
sub eax, dword [rbp + 0xb0]
cdqe
add rax, r9
call qword [0x140704440]
xor ecx, ecx
cmp rdi, rsi
setae cl
xor edx, edx
test eax, eax
setns dl
cmovne ecx, edx
test cl, cl
je 0x140464452
lea r12, [rbp + 0x20]
test byte [rbp + 0x90], 0x20
jne 0x1404645d8
nop
cmp qword [0x140792600], 0
jne 0x140464419
nop
mov esi, dword [rbp + 0xa0]
mov rax, rsi
shl rax, 0x1e
movabs rcx, 0x8384f4020e13e0
xor rcx, rsi
xor rcx, rax
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x1c], eax
call fcn.1400954c0
mov rcx, rsi
shl rcx, 0x20
or rcx, rsi
movabs rdx, 0x20e13d0020e13df
xor rdx, rcx
mov qword [rax + 0x28], rdx
lea rcx, [0x1405e7948]
mov qword [rax + 8], rcx
mov dword [rax], 0
mov qword [rax + 0x20], 0
mov byte [rax + 0x10], 0
mov qword [0x140792600], rax
nop
mov rcx, qword [0x140792600]
mov rax, qword [rbp + 0xa0]
xor eax, 0x20e13c3
mov dword [rcx], eax
add rcx, 8
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x1c], eax
mov r13d, 1
nop
mov rdx, qword [rbp + 0x150]
call fcn.1401086d0
jmp 0x140464455
xor r13d, r13d
nop
mov eax, dword [rbp + 0xa0]
mov rcx, rax
shl rcx, 0x22
or rcx, rax
movabs rdx, 0xd20c0949f03f683c
xor rdx, rcx
mov rcx, rax
shl rcx, 0x20
or rcx, rax
movabs r8, 0x8065fcf2191c571e
xor r8, rcx
mov rcx, rax
shl rcx, 0x21
or rcx, rax
movabs r9, 0x21d79e560fc097c3
xor r9, rcx
mov rcx, rax
shl rcx, 0x23
or rcx, rax
movabs r10, 0x6de48e5de6e3a8e1
xor r10, rcx
add r10, rdx
add r8, qword [0x140790b80]
add r8, qword [r14]
add r10, r9
add r8, r10
add r8, 2
mov rcx, rax
shl rcx, 0x24
or rcx, rax
movabs rdx, 0x20e13d00020e13df
xor rdx, rcx
cmp r8, rdx
jbe 0x1404645d3
nop
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
lea rdx, [r8 + 1]
mov r9, rax
shl r9, 0x1b
xor r9, rax
movabs r10, 0x10709e820e1c2f
xor r10, r9
cmp rdx, r10
jbe 0x1404645ab
nop
mov r10, qword [rcx - 8]
mov rdx, rax
shl rdx, 0x1f
xor rdx, rax
mov r11, rax
shl r11, 0x1c
xor r11, rax
movabs rax, 0xffdf1ec2fdf1ec28
xor rax, r11
movabs r11, 0x10709e8020e13d7
xor r11, rdx
xor r11, rax
and r11, rcx
xor r11, rax
movabs rax, 0x7fef8f617df1ec28
xor rax, r9
and rax, rcx
lea rax, [r11 + rax*2]
sub rax, r10
movabs rcx, 0x10709e820e13f0
xor rcx, r9
cmp rax, rcx
jae 0x140465c7d
xor r9, r8
movabs rax, 0x10709e820e13f8
xor rax, r9
movabs rcx, 0x7fef8f617df1ec07
xor rcx, r9
and rcx, r8
lea rdx, [rax + rcx*2]
mov rcx, r10
nop
mov r8, qword [0x1407676f8]
mov eax, dword [0x1407676b4]
mov r9, qword [rbp + 0x98]
add eax, r9d
add eax, 0xffff4649
cdqe
add rax, r8
call qword [0x140704440]
jmp 0x140465b65
lea rcx, [rbp + 0x48]
lea rdx, [rbp + 0x20]
call fcn.140095270
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov rbx, qword [rbp + 0x38]
cmp qword [rbp + 0x40], 0x10
jb 0x1404646a2
mov rdi, qword [rbp + 0x28]
jmp 0x1404646a6
xor esi, esi
jmp 0x140464615
mov rcx, rsi
xor edx, edx
mov r8, r13
call fcn.1405c44a0
nop
mov qword [r14], rsi
lea rax, case.0x140359a05.38
mov rcx, qword [rbp + 0xc0]
mov qword [rcx], rax
mov byte [rcx + 0x40], 0
lea rsi, [rcx + 0x44]
mov r8d, 0x150
mov rcx, rsi
xor edx, edx
call fcn.1405c44a0
nop
mov qword [rbp + 0xb0], rsi
mov rcx, rsi
call fcn.140095960
nop
mov rax, qword [rbp + 0xc0]
lea rcx, [rax + 0x194]
mov dword [rax + 0x194], 0
call fcn.140108640
lea rax, [0x14060d9b8]
mov r13, qword [rbp + 0xc0]
mov qword [r13], rax
mov rcx, qword [rbp + 0xa8]
mov eax, dword [rcx + 0xc]
mov qword [r13 + 0x198], rax
mov eax, dword [rcx + 0x10]
mov dword [r13 + 0x1a0], eax
jmp 0x140465b65
lea rdi, [rbp + 0x28]
lea rcx, [rbp - 0x38]
cmp rbx, 0xf
nop
mov qword [rbp + 0xc0], rcx
ja 0x1404646d1
mov r8d, 0x10
mov rdx, rdi
call fcn.1400d2840
mov r14d, 0xf
jmp 0x140464f2d
mov rax, rbx
or rax, 0xf
movabs r14, 0x7fffffffffffffff
cmp rax, r14
cmovb r14, rax
cmp rax, 0xfff
jb 0x140464f10
lea rcx, [r14 + 0x28]
call fcn.1400954c0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140464f1c
xor ecx, ecx
nop
mov rax, qword [rbp + 0x150]
sub rax, rdi
xorps xmm0, xmm0
mov rsi, rax
mov qword [rbp + 0xb8], rcx
movups xmmword [rcx + rax + 0x18], xmm0
mov r15, qword [rbp + 0xc0]
mov rdi, qword [r15 + 0x18]
cmp qword [r15 + 0x20], 0x10
jb 0x140464749
mov r15, qword [r15 + 8]
jmp 0x14046474d
add r15, 8
mov rax, rsi
mov rcx, qword [rbp + 0xb8]
lea rdx, [rcx + rsi]
add rdx, 0x28
mov qword [rbp + 0x80], rdx
lea r14, [rcx + rsi]
add r14, 8
cmp rdi, 0xf
ja 0x14046478c
mov r8d, 0x10
mov rcx, r14
mov rdx, r15
call fcn.1400d2840
mov ebx, 0xf
jmp 0x140464803
mov rax, rdi
or rax, 0xf
movabs rbx, 0x7fffffffffffffff
cmp rax, rbx
cmovb rbx, rax
cmp rax, 0xfff
jb 0x1404647d1
lea rcx, [rbx + 0x28]
mov rax, qword [rbp + 0x80]
mov qword [rbp - 8], rax
call fcn.1400954c0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1404647f3
nop
mov rax, qword [0x140790b80]
lea rcx, [rbx + rax]
inc rcx
mov rax, qword [rbp + 0x80]
mov qword [rbp - 8], rax
call fcn.1400954c0
mov rcx, rax
nop
mov qword [r14], rcx
lea r8, [rdi + 1]
mov rdx, r15
call fcn.1400d2840
nop
add rsi, qword [rbp + 0xb8]
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], rbx
lea rax, [0x1405e7948]
mov qword [rbp + 0xb0], rsi
mov qword [rsi], rax
mov rax, qword [rbp + 0x158]
mov r14, qword [rax]
mov r12, qword [rax + 8]
mov rax, qword [rbp + 0x150]
cmp r12, rax
je 0x140464ac9
cmp r14, rax
je 0x140464988
nop
test byte [0x140790310], 1
jne 0x140464988
xorps xmm6, xmm6
movabs rsi, 0x7fffffffffffffff
xor ecx, ecx
mov r15, qword [rbp + 0xb8]
jmp 0x1404648c9
mov r8d, 0x10
mov rcx, r13
mov rdx, r12
call fcn.1400d2840
mov ebx, 0xf
nop
mov qword [r15 + 0x18], rdi
mov qword [r15 + 0x20], rbx
lea rax, [0x1405e7948]
mov qword [r15], rax
add r15, 0x28
add r14, 0x28
mov rcx, qword [rbp + 0xc0]
add rcx, 0xffffffffffffffd8
cmp r14, qword [rbp + 0x150]
je 0x140464988
nop
movups xmmword [r15 + 0x18], xmm6
cmp qword [r14 + 0x20], 0x10
setae al
mov qword [rbp], rax
mov qword [rbp + 0xc0], rcx
jb 0x1404648f0
mov r12, qword [r14 + 8]
jmp 0x1404648f4
lea r12, [r14 + 8]
lea r13, [r15 + 8]
mov rdi, qword [r14 + 0x18]
cmp rdi, 0xf
jbe 0x140464880
mov rax, rdi
or rax, 0xf
mov rbx, rsi
cmp rax, rsi
cmovb rbx, rax
cmp rax, 0xfff
jb 0x140464940
lea rcx, [rbx + 0x28]
call fcn.1400954c0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140464949
lea rcx, [rbx + 1]
call fcn.1400954c0
nop
mov qword [r13], rax
lea r8, [rdi + 1]
mov rcx, rax
mov rdx, r12
call fcn.1400d2840
test byte [rbp + 0x90], 0x40
je 0x140464896
mov eax, 4
mov qword [rbp + 0x78], rax
mov eax, 4
mov qword [rbp + 0xb8], rax
xor ecx, ecx
xor edx, edx
jmp 0x140465855
nop
mov rax, qword [rbp + 0x158]
mov rdi, qword [rax + 8]
mov rcx, qword [rbp + 0x150]
cmp rdi, rcx
je 0x140464bb1
xor r13d, r13d
xorps xmm6, xmm6
movabs r12, 0x7fffffffffffffff
jmp 0x140464a10
mov r8d, 0x10
mov rcx, r15
mov rdx, r14
call fcn.1400d2840
mov esi, 0xf
nop
mov rax, qword [rbp + 0xb0]
mov qword [rax + r13 + 0x40], rbx
mov qword [rax + r13 + 0x48], rsi
lea rcx, [0x1405e7948]
mov qword [rax + r13 + 0x28], rcx
mov rcx, qword [rbp + 0x150]
lea rax, [rcx + r13]
add rax, 0x28
add r13, 0x28
cmp rax, rdi
je 0x140464bb1
nop
mov rax, qword [rbp + 0xb0]
movups xmmword [rax + r13 + 0x40], xmm6
cmp qword [rcx + r13 + 0x20], 0x10
jb 0x140464a30
mov r14, qword [rcx + r13 + 8]
jmp 0x140464a38
lea r14, [rcx + r13]
add r14, 8
mov rax, qword [rbp + 0xb0]
lea r15, [rax + r13]
add r15, 0x30
mov rbx, qword [rcx + r13 + 0x18]
cmp rbx, 0xf
jbe 0x1404649c0
nop
mov qword [rbp + 0xc0], r13
mov rax, rbx
or rax, 0xf
cmp rax, r12
mov rsi, r12
cmovb rsi, rax
cmp rax, 0xfff
jb 0x140464aa0
lea rcx, [rsi + 0x28]
call fcn.1400954c0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140464aa9
lea rcx, [rsi + 1]
call fcn.1400954c0
nop
mov qword [r15], rax
lea r8, [rbx + 1]
mov rcx, rax
mov rdx, r14
call fcn.1400d2840
nop
mov r13, qword [rbp + 0xc0]
jmp 0x1404649d6
cmp r14, r12
je 0x140464bbc
xor eax, eax
xorps xmm6, xmm6
mov r13, qword [rbp + 0xb8]
jmp 0x140464b26
mov r8d, 0x10
mov rcx, r15
mov rdx, rdi
call fcn.1400d2840
mov esi, 0xf
nop
mov qword [r13 + 0x18], rbx
mov qword [r13 + 0x20], rsi
lea rax, [0x1405e7948]
mov qword [r13], rax
add r13, 0x28
add r14, 0x28
mov rax, qword [rbp + 0xc0]
add rax, 0xffffffffffffffd8
cmp r14, r12
je 0x140464bb1
nop
movups xmmword [r13 + 0x18], xmm6
cmp qword [r14 + 0x20], 0x10
mov qword [rbp + 0xc0], rax
jb 0x140464b40
mov rdi, qword [r14 + 8]
jmp 0x140464b44
lea rdi, [r14 + 8]
lea r15, [r13 + 8]
mov rbx, qword [r14 + 0x18]
cmp rbx, 0xf
jbe 0x140464ae0
mov rax, rbx
or rax, 0xf
movabs rsi, 0x7fffffffffffffff
cmp rax, rsi
cmovb rsi, rax
cmp rax, 0xfff
jb 0x140464b90
lea rcx, [rsi + 0x28]
call fcn.1400954c0
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140464b99
lea rcx, [rsi + 1]
call fcn.1400954c0
nop
mov qword [r15], rax
lea r8, [rbx + 1]
mov rcx, rax
mov rdx, rdi
call fcn.1400d2840
jmp 0x140464af6
nop
mov rax, qword [rbp + 0x158]
mov r14, qword [rax]
test r14, r14
je 0x140464e76
nop
mov rax, qword [rbp + 0x158]
mov rsi, qword [rax + 8]
cmp r14, rsi
je 0x140464bfb
nop word cs:[rax + rax]
nop
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
xor edx, edx
call qword [0x140704440]
add r14, 0x28
cmp r14, rsi
jne 0x140464be0
nop
mov rax, qword [rbp + 0x158]
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140464e71
nop
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140465bcf
test byte [rbp + 0x90], 0x20
jne 0x140464e6a
mov dword [rbp + 0x88], 4
lea rax, [rbp + 0x20]
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0x48]
mov qword [rbp - 0x48], rax
lea rcx, [rbp + 0x48]
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xc0], rcx
mov r15, qword [rbp + 0xa8]
mov qword [rbp + 0x70], r15
mov eax, 4
mov qword [rbp + 0xb8], rax
mov eax, 4
mov qword [rbp + 0x78], rax
xor ebx, ebx
jmp 0x140464cf6
lea rcx, [rbx + 1]
mov rdx, qword [0x140767750]
mov eax, dword [0x14076771c]
mov r14, qword [rbp + 0xb8]
xor eax, r14d
sub eax, r13d
cdqe
add rax, rdx
call qword [0x140704440]
mov rcx, rax
nop
mov rax, qword [rbp + 0xc0]
mov qword [rax], rcx
mov r15, r12
lea r8, [r12 + 1]
mov rdx, qword [0x140767748]
mov eax, dword [0x140767700]
or eax, r14d
sub eax, r13d
cdqe
add rax, rdx
mov rdx, rsi
call qword [0x140704440]
nop
mov rax, qword [rbp + 0xa0]
mov qword [rax], r15
mov edx, dword [rbp + 0x88]
mov r13d, edx
mov r9, r13
shl r9, 0x1f
xor r9, r13
movabs rax, 0x5d9f006e3b3e00fd
xor rax, r9
mov qword [rbp + 0x98], rax
mov qword [rbp + rax + 0x20], rbx
lea rax, [0x1405e7948]
mov qword [rbp + 0x20], rax
mov rcx, rbx
sub rcx, r15
movabs rax, 0x5d9f006e3b3e00de
xor rax, r9
cmp rcx, rax
movabs r10, 0x5d9f006e3b3e00d2
movabs r8, 0x5d9f006e3b3e00c5
mov qword [rbp + 0xa8], r9
jae 0x140464dba
nop
movzx eax, byte [0x1407674d4]
mov r8d, edx
xor r8b, 0xed
cmp al, r8b
je 0x14046517c
mov eax, dword [rbp + 0x88]
mov ecx, eax
xor cl, 0x23
mov edx, eax
xor dl, 0x40
nop word cs:[rax + rax]
mov eax, ecx
lock cmpxchg byte [0x1407674d4], dl
je 0x14046510f
cmp al, r8b
jne 0x140464da0
jmp 0x14046517c
mov rcx, r9
xor rcx, r8
mov dword [0x1407677a4], 0x6e8247b3
xor rax, r15
mov rdx, r13
shl rdx, 0x24
or rdx, r13
movabs r8, 0x33e00dd0bb3e00de
xor r8, rdx
mov rdi, r15
and r8, r15
lea rdx, [rax + r8*2]
mov rax, rdx
mov qword [rbp + 0x80], rdx
mov qword [rbp + rcx + 0x20], rdx
mov rax, r9
xor rax, r10
mov r14, qword [rbp + 0xc0]
cmp rbx, rax
jbe 0x140464e19
mov rax, qword [rbp + 0xc0]
mov r14, qword [rax]
add rdi, r14
movzx eax, byte [0x1407674d4]
mov ecx, dword [rbp + 0x88]
mov r8d, ecx
xor r8b, 0xed
cmp al, r8b
je 0x14046524d
mov eax, dword [rbp + 0x88]
mov ecx, eax
xor cl, 0x23
mov edx, eax
xor dl, 0x40
nop dword [rax]
mov eax, ecx
lock cmpxchg byte [0x1407674d4], dl
je 0x1404651e2
cmp al, r8b
jne 0x140464e50
jmp 0x14046524d
add rdx, 0x27
mov rcx, rax
call fcn.140095520
nop
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0xb8]
mov qword [rcx], rdx
mov rax, qword [rbp + 0xa0]
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x98]
lea rax, [rax + rax*4]
lea rax, [rdx + rax*8]
mov qword [rcx + 0x10], rax
nop
mov r13, qword [rbp + 0xb0]
jmp 0x140465b65
add r12, 8
add qword [rbp + 0xa8], 8
lea r14, [r15 + 8]
lea rsi, [r15 + 0x18]
cmp qword [rbp + 0x70], 0xf
ja 0x140465899
mov r8d, 0x10
mov rcx, r14
mov rdx, r12
call fcn.1400d2840
mov edi, 0xf
nop
mov rbx, qword [rbp + 0x70]
jmp 0x1404658f2
test rcx, rcx
je 0x140465b83
call fcn.1400954c0
mov r14, rax
jmp 0x140463b9e
lea rcx, [r14 + 1]
call fcn.1400954c0
mov rcx, rax
nop
mov qword [rbp - 0x38], rcx
lea r8, [rbx + 1]
mov rdx, rdi
call fcn.1400d2840
nop
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], r14
lea r15, [0x1405e7948]
mov qword [rbp - 0x40], r15
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x140464f82
nop
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140464f7d
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140465c98
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
lea rcx, [r12 + 8]
nop
mov qword [rbp + 0xb0], rcx
call fcn.140095900
test eax, eax
jne 0x140465bc8
nop
mov rax, qword [rbp - 0x18]
movzx ecx, al
movabs rdx, 0xcbf29ce484222325
xor rdx, rcx
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx edi, ah
xor rdi, rdx
imul rdi, rcx
mov edx, eax
shr edx, 0x10
movzx edx, dl
xor rdx, rdi
imul rdx, rcx
mov r8d, eax
shr r8d, 0x18
xor r8, rdx
imul r8, rcx
mov rdx, rax
shr rdx, 0x20
movzx edx, dl
xor rdx, r8
imul rdx, rcx
mov r8, rax
shr r8, 0x28
movzx r8d, r8b
xor r8, rdx
imul r8, rcx
mov rdx, rax
shr rdx, 0x30
movzx r9d, dl
xor r9, r8
imul r9, rcx
mov rdx, rax
shr rdx, 0x38
xor rdx, r9
imul rdx, rcx
and rdx, qword [r12 + 0x88]
mov rdi, qword [r12 + 0x60]
mov rcx, qword [r12 + 0x70]
mov r8, rdx
shl r8, 4
mov rbx, qword [rcx + r8 + 8]
cmp rbx, rdi
je 0x140465072
nop
cmp rax, qword [rbx + 0x10]
je 0x140465074
add rdx, rdx
mov rcx, qword [rcx + rdx*8]
nop word [rax + rax]
cmp rbx, rcx
je 0x140465072
nop
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x140465060
jmp 0x140465074
xor ebx, ebx
nop
mov rcx, qword [rbp + 0xb0]
call fcn.140095920
mov esi, 1
test rbx, rbx
je 0x140465094
cmp rbx, rdi
jne 0x140465ade
nop
mov r14, qword [rbp - 0x28]
cmp qword [rbp - 0x20], 0x10
lea rbx, [rbp - 0x38]
jb 0x1404650a8
mov rbx, qword [rbp - 0x38]
lea rdi, [rbp + 0x28]
cmp r14, 0xf
ja 0x1404650ce
mov r8d, 0x10
mov rcx, rdi
mov rdx, rbx
call fcn.1400d2840
mov r13d, 0xf
jmp 0x14046595f
mov rax, r14
or rax, 0xf
movabs r13, 0x7fffffffffffffff
cmp rax, r13
cmovb r13, rax
cmp rax, 0xfff
jb 0x140465938
lea rcx, [r13 + 0x28]
call fcn.1400954c0
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140465944
nop
mov ebx, dword [rbp + 0x88]
mov ecx, ebx
xor ecx, 0xab88ae62
mov r9d, ebx
xor r9d, 0xbb3e00d9
cmp r9d, 2
mov r10d, 1
cmovge r10d, r9d
xor r11d, r11d
lea rsi, [0x1407674d0]
lea rdi, [0x14060e9f0]
nop word [rax + rax]
lea eax, [rcx + r11]
xor edx, edx
div r9d
movsxd rax, edx
movzx eax, byte [rax + rdi]
xor al, bl
xor al, byte [r11 + rsi]
xor al, 0xea
mov byte [r11 + rsi], al
inc r11
cmp r10, r11
jne 0x140465150
nop
xchg byte [0x1407674d4], r8b
mov rax, r13
shl rax, 0x22
or rax, r13
movabs rcx, 0xecf80374bb3e00de
xor rcx, rax
mov rax, r13
shl rax, 0x1d
xor rax, r13
movabs r9, 0x1767c01b1b3e00de
xor r9, rax
lea rax, [0x1407674d0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
mov ecx, 0xa83a44d2
mov rdx, qword [rbp + 0xc0]
xor r8d, r8d
call fcn.140463410
mov rdi, rax
mov r15, qword [rbp + 0xb8]
mov r12, qword [rbp + 0x78]
jmp 0x1404652b2
nop
mov r15d, dword [rbp + 0x88]
mov ecx, r15d
xor ecx, 0xab88ae62
mov r9d, r15d
xor r9d, 0xbb3e00d9
cmp r9d, 2
mov r10d, 1
cmovge r10d, r9d
xor r11d, r11d
lea rsi, [0x1407674d0]
lea rbx, [0x14060e9f0]
nop dword [rax]
lea eax, [rcx + r11]
xor edx, edx
div r9d
movzx eax, byte [r11 + rsi]
movsxd rdx, edx
xor al, byte [rdx + rbx]
xor al, r15b
xor al, 0xea
mov byte [r11 + rsi], al
inc r11
cmp r10, r11
jne 0x140465220
nop
xchg byte [0x1407674d4], r8b
mov rax, r13
shl rax, 0x21
or rax, r13
movabs r8, 0x767c01babb3e00de
xor r8, rax
mov rcx, qword [0x140767748]
mov eax, dword [0x140767700]
mov r12, qword [rbp + 0x78]
mov edx, r12d
mov r15, qword [rbp + 0xb8]
sub edx, r15d
add eax, edx
add eax, 0xfffff1ce
cdqe
add rax, rcx
lea rdx, [0x1407674d0]
mov rcx, rdi
call qword [0x140704440]
mov rax, qword [rbp + 0x80]
mov byte [r14 + rax], 0
nop
mov rdi, qword [rbp + 0xc0]
nop
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, r13
shl rdx, 0x21
or rdx, r13
movabs rcx, 0x767c01babb3e00d5
mov qword [rbp + 0xb0], rdx
xor rcx, rdx
lea rbx, [rax + rcx]
mov r14, r13
shl r14, 0x1c
xor r14, r13
movabs rdx, 0xbb3e00d6b3e00fd
xor rdx, r14
movabs r8, 0x5d9f006e3b3e00d2
xor r8, qword [rbp + 0xa8]
mov qword [rbp - 0x50], rdx
mov qword [rbp + 8], r8
cmp qword [rax + rdx], r8
mov rax, qword [rax + rcx]
cmova rbx, rax
cmp byte [0x140790310], 0
cmovne rbx, rax
mov edx, dword [rbp + 0x88]
xor edx, 0x5f39985c
mov rcx, qword [0x140767730]
mov eax, dword [0x140767704]
xor eax, r15d
mov r8d, 0xe32
sub r8d, r12d
mov dword [rbp + 0x94], r8d
sub eax, r8d
cdqe
add rax, rcx
lea ecx, [r12 - 0xe32]
mov qword [rbp + 0x80], rcx
mov rcx, rbx
call qword [0x140704440]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x1404653a5
nop
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
mov ecx, 0xa83a44d2
mov rdx, rdi
xor r8d, r8d
mov r9, rax
call fcn.140463410
jmp 0x14046540a
mov r15, rax
add r15, rcx
mov qword [rdi + 0x10], r15
mov r8, r13
shl r8, 0x1e
xor r8, r13
movabs r9, 0x2ecf8037fb3e00d2
xor r9, r8
cmp rdx, r9
jbe 0x1404653ce
mov rdi, qword [rdi]
add rcx, rdi
mov rdx, qword [0x140767740]
mov r8, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x80]
add r8d, r9d
add r8d, dword [0x14076770c]
movsxd r9, r8d
add r9, rdx
mov rdx, rbx
mov r8, rax
mov rax, r9
call qword [0x140704440]
mov byte [rdi + r15], 0
mov rbx, r13
shl rbx, 0x1d
xor rbx, r13
movabs rax, 0x1767c01b1b3e00d5
xor rax, rbx
movabs rcx, 0x5d9f006e3b3e00c5
xor rcx, qword [rbp + 0xa8]
xorps xmm0, xmm0
mov r8, rcx
movups xmmword [rbp + rcx + 0x48], xmm0
mov rcx, qword [rbp + 0xa0]
mov r12, qword [rcx]
mov rdx, r13
shl rdx, 0x24
or rdx, r13
movabs rcx, 0xb3e00dd0bb3e00d2
mov qword [rbp - 0x10], rdx
xor rcx, rdx
mov r9, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x98]
cmp qword [rbp + rdx + 0x20], rcx
jbe 0x140465481
mov rcx, qword [rbp + 0xc0]
mov r9, qword [rcx]
mov qword [rbp + 0x88], r9
add rax, rbp
add rax, 0x48
mov qword [rbp + 0xa0], rax
lea rsi, [r8 + rbp]
add rsi, 0x48
mov rdi, r13
shl rdi, 0x1e
xor rdi, r13
movabs rax, 0x2ecf8037fb3e00cd
xor rax, rdi
cmp r12, rax
jae 0x14046555b
test byte [rbp + 0x90], 0x10
jne 0x1404655f5
movabs r8, 0xb3e00dd0bb3e00cd
mov qword [rbp + 0x10], rsi
mov rsi, qword [rbp - 0x10]
xor r8, rsi
mov rcx, qword [0x140767748]
mov eax, dword [0x140767700]
mov rdx, qword [rbp + 0x78]
sub edx, dword [rbp + 0xb8]
add eax, edx
add eax, 0xfffff1ce
cdqe
add rax, rcx
mov r15, qword [rbp + 0xa0]
mov rcx, r15
mov rdx, qword [rbp + 0x88]
call qword [0x140704440]
mov rax, qword [rbp + 0x10]
mov qword [rax], r12
movabs rax, 0xb3e00dd0bb3e00fd
xor rax, rsi
lea r12, [rax + rbp]
add r12, 0x48
movabs rcx, 0x2ecf8037fb3e00d2
xor rcx, rdi
mov qword [rbp + rax + 0x48], rcx
lea rax, [0x1405e7948]
mov qword [rbp + 0x48], rax
mov rdx, r15
jmp 0x1404656aa
nop
mov rdx, qword [rbp + 8]
and rdx, r12
mov rax, rdi
xor rax, r12
movabs rcx, 0x2ecf8037fb3e00d2
xor rcx, rax
or rcx, rdx
movabs r15, 0x7fffffffffffffff
cmp rcx, r15
cmovb r15, rcx
mov rax, r13
shl rax, 0x22
or rax, r13
movabs rdx, 0xecf80374bb3e0f23
xor rdx, rax
cmp rcx, rdx
nop
mov qword [rbp + 0x10], rsi
jbe 0x14046560c
movabs rcx, 0x767c01babb3e00f5
xor rcx, qword [rbp + 0xb0]
add rcx, r15
call fcn.1400954c0
movabs rdx, 0x767c01babb3e00fa
xor rdx, qword [rbp + 0xb0]
add rdx, rax
movabs rcx, 0xa260ff91c4c1ff3d
mov r8, qword [rbp + 0xa8]
xor rcx, r8
and rcx, rdx
mov qword [rcx - 8], rax
jmp 0x14046561f
lea rcx, [rbp + 0x48]
lea r15, [rbp + 0x20]
lea rsi, [rbp + 0x20]
xor edi, edi
mov rbx, qword [rbp + 0x70]
jmp 0x1404658f9
lea rcx, [r15 + 1]
call fcn.1400954c0
mov rcx, rax
mov r8, qword [rbp + 0xa8]
nop
mov rsi, qword [rbp + 0xa0]
mov qword [rsi], rcx
movabs rax, 0x93fd07d6c926d879
xor rax, r8
movabs rdx, 0x1f527870f6d92786
xor rdx, rdi
add rdx, rax
lea r8, [r12 + rdx]
add r8, 2
mov rdx, qword [0x140767748]
mov rax, qword [rbp + 0x80]
add eax, dword [rbp + 0xb8]
add eax, dword [0x140767700]
cdqe
add rax, rdx
mov rdx, qword [rbp + 0x88]
call qword [0x140704440]
mov rax, qword [rbp + 0x10]
mov qword [rax], r12
movabs rax, 0x2ecf8037fb3e00fd
xor rax, rdi
lea r12, [rax + rbp]
add r12, 0x48
mov qword [rbp + rax + 0x48], r15
lea rax, [0x1405e7948]
mov qword [rbp + 0x48], rax
mov rdx, qword [rsi]
nop
mov rcx, qword [rbp - 0x48]
add rcx, 8
call fcn.1401086d0
nop
mov rax, qword [r12]
movabs rcx, 0xbb3e00d6b3e00d2
xor r14, rcx
cmp rax, r14
jbe 0x14046576e
nop
mov rcx, qword [rbp + 0xa0]
mov rcx, qword [rcx]
lea rdx, [rax + 1]
mov r9, r13
shl r9, 0x1b
xor r9, r13
movabs r8, 0x5d9f006533e0f22
xor r8, r9
cmp rdx, r8
jbe 0x140465749
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xa260ff91c4c1ff25
mov r10, qword [rbp + 0xa8]
xor r10, rdx
add r10, rcx
sub r10, r8
movabs rcx, 0x5d9f006533e00fd
xor r9, rcx
cmp r10, r9
jae 0x140465c89
movabs rcx, 0x1767c01b1b3e00f5
xor rbx, rcx
add rax, rbx
mov rdx, rax
mov rcx, r8
nop
mov r8, qword [0x140767770]
mov eax, dword [0x140767710]
xor eax, dword [rbp + 0xb8]
sub eax, dword [rbp + 0x94]
cdqe
add rax, r8
call qword [0x140704440]
movabs rax, 0x767c01babb3e00d2
mov rcx, qword [rbp + 0xb0]
xor rcx, rax
mov qword [r12], rcx
mov rax, qword [rbp + 0x98]
mov rax, qword [rbp + rax + 0x20]
mov rcx, r13
shl rcx, 0x22
or rcx, r13
movabs rdx, 0xecf80374bb3e00d2
xor rdx, rcx
cmp rax, rdx
jbe 0x140465881
nop
mov rcx, qword [rbp + 0xc0]
mov rcx, qword [rcx]
lea r9, [rax + 1]
mov rdx, r13
shl rdx, 0x23
or rdx, r13
movabs r8, 0xd9f006e8bb3e0f22
xor r8, rdx
cmp r9, r8
jbe 0x140465852
nop
mov r11, qword [rcx - 8]
mov r8, r13
shl r8, 0x20
or r8, r13
movabs r9, 0xc34809a9f28437d1
xor r9, r8
mov r8, r13
shl r8, 0x1b
xor r8, r13
movabs r10, 0xfa260ff9acc1ff25
xor r10, r8
add r10, r9
movabs r8, 0xa94676bc4d7bc82e
xor rdi, r8
add rdi, r10
add rdi, rcx
sub rdi, r11
inc rdi
cmp rdi, qword [rbp - 0x50]
jae 0x140465c8e
movabs rcx, 0xb3e00dd0bb3e00f5
mov r8, qword [rbp - 0x10]
xor r8, rcx
add rax, r8
mov rdx, rax
mov rcx, r11
jmp 0x140465855
mov rdx, r9
mov r8, qword [rbp + 0x78]
sub r8d, dword [rbp + 0xb8]
nop
mov r9, qword [0x140767770]
mov eax, dword [0x140767710]
add eax, r8d
add eax, 0xfffff1ce
cdqe
add rax, r9
call qword [0x140704440]
movzx r13d, byte [rbp]
and r13d, 1
jmp 0x140465b65
mov r15, r14
mov qword [rbp + 0xa8], r14
nop
mov rax, qword [rbp + 0x70]
or rax, 0xf
movabs rdi, 0x7fffffffffffffff
cmp rax, rdi
cmovb rdi, rax
cmp rax, 0xfff
jb 0x1404658d2
lea rcx, [rdi + 0x28]
call fcn.1400954c0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1404658de
lea rcx, [rdi + 1]
call fcn.1400954c0
mov rcx, rax
nop
mov qword [r14], rcx
mov rbx, qword [rbp + 0x70]
lea r8, [rbx + 1]
mov rdx, r12
call fcn.1400d2840
mov rcx, qword [rbp + 0xa8]
nop
mov qword [rsi], rbx
mov qword [r15 + 0x20], rdi
lea rax, [0x1405e7948]
mov qword [r15], rax
add qword [rcx], 0x28
xor r13d, r13d
jmp 0x140465b65
mov qword [rbp + 0xb0], rsi
test byte [rbp + 0x90], 0x10
je 0x140465ca7
lea rbx, [rbp + 0x48]
lea r15, [rbp - 0x40]
jmp 0x140463c97
lea rcx, [r13 + 1]
call fcn.1400954c0
mov rcx, rax
nop
mov qword [rbp + 0x28], rcx
mov rax, qword [0x140790b80]
lea r8, [r14 + rax]
inc r8
mov rdx, rbx
call fcn.1400d2840
nop
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x20], r15
test r14d, r14d
je 0x14046598b
mov r9, rdi
cmp r13, 0x10
jb 0x14046597e
mov r9, qword [rbp + 0x28]
mov r8d, r14d
mov ecx, 0x7b3f52c3
call fcn.140466eb0
nop
mov rbx, qword [r12 + 0x158]
mov r14, qword [r12 + 0x160]
cmp rbx, r14
je 0x1404659fa
nop
cmp qword [rbp + 0x40], 0x10
jb 0x1404659ad
mov rdi, qword [rbp + 0x28]
nop
mov r15, qword [rbp + 0x38]
jmp 0x1404659c9
add rbx, 0x28
cmp rbx, r14
je 0x1404659fa
nop
cmp qword [rbx + 0x20], 0x10
jb 0x1404659d7
mov rcx, qword [rbx + 8]
jmp 0x1404659db
lea rcx, [rbx + 8]
mov r13, qword [rbx + 0x18]
cmp r15, r13
mov r8, r13
cmovb r8, r15
mov rdx, rdi
call fcn.140095220
test eax, eax
jne 0x1404659c0
cmp r15, r13
jne 0x1404659c0
nop
mov rax, qword [rbp + 0x40]
cmp rax, 0x10
jb 0x140465a3c
nop
mov rcx, qword [rbp + 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140465a37
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140465cac
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
cmp rbx, r14
je 0x140465a79
nop
mov rcx, qword [rbp + 0xb0]
call fcn.140095900
test eax, eax
jne 0x140465c82
add r12, 0x58
lea rdx, [rbp + 0x20]
lea r8, [rbp - 0x18]
mov rcx, r12
call fcn.140462ed0
nop
mov rcx, qword [rbp + 0xb0]
call fcn.140095920
jmp 0x140465ade
nop
cmp qword [rbp - 0x20], 0x10
jb 0x140465a8c
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xc0], rax
nop
mov rax, qword [rbp + 0xc0]
mov qword [rsp + 0x20], rax
mov ecx, 0x15e7fcd5
mov rdx, r12
call fcn.140463410
test al, 1
jne 0x140465acd
nop
mov r8, qword [rbp - 0x18]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov ecx, 0xc701e341
mov r9, r12
call fcn.140463410
test al, 1
je 0x140465a41
nop
mov rax, qword [rbp + 0x158]
mov rax, qword [rax + 0x10]
mov byte [rax], 1
xor esi, esi
nop
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x140465b20
nop
mov rcx, qword [rbp - 0x38]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140465b1b
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140465c9d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
nop
mov rax, qword [rbp + 0x68]
cmp rax, 0x10
jb 0x140465b62
nop
mov rcx, qword [rbp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140465b5d
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140465ca2
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
mov r13, rsi
mov rax, r13
movaps xmm6, xmmword [rbp + 0xd0]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdi, 0xffffffffffffffff
xor r14d, r14d
jmp 0x140463b9e
call fcn.14008b830
nop
movzx eax, byte [0x1407675ba]
cmp al, 0x9c
je 0x140465c6c
mov cl, 0xd8
mov al, 0xee
lock cmpxchg byte [0x1407675ba], cl
je 0x140465bd4
cmp al, 0x9c
jne 0x140465ba9
jmp 0x140465c6c
call fcn.14008bd90
call fcn.14008b830
mov ecx, eax
call fcn.140095910
call fcn.1400954e0
mov eax, 0x6d0d0a02
mov ecx, 0x92f2f616
mov edx, 1
mov r8d, 0x6d0d0a03
mov r9d, 0x92f2f615
lea r10, [0x1407675a0]
lea r11, [0x14060eaa0]
mov esi, ecx
imul rsi, rsi, 0x51eb851f
shr rsi, 0x23
lea esi, [rsi + rsi*4]
lea esi, [rsi + rsi*4]
add esi, eax
mov edi, r9d
imul rdi, rdi, 0x51eb851f
shr rdi, 0x23
lea edi, [rdi + rdi*4]
lea edi, [rdi + rdi*4]
add edi, r8d
movzx ebx, byte [rdx + r10 - 1]
movzx r14d, byte [rdx + r10]
xor bl, byte [rdi + r11]
xor bl, 0x22
mov byte [rdx + r10 - 1], bl
xor r14b, byte [rsi + r11]
xor r14b, 0x22
mov byte [rdx + r10], r14b
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0x1b
jne 0x140465bfd
mov al, 0x9c
xchg byte [0x1407675ba], al
lea rcx, [0x1407675a0]
call fcn.140095530
call fcn.1400954e0
call fcn.1400954e0
mov ecx, eax
call fcn.140095910
call fcn.1400954e0
call fcn.1400954e0
call fcn.14008b830
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
call fcn.1400954e0
int3