Function at 0x14053f9f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], 0xfffffffffffffffe
mov r12, r9
mov esi, r8d
mov rdi, rdx
mov qword [rbp + 0xc8], rcx
mov r13, qword [rbp + 0x148]
mov eax, r8d
and eax, 0xf
cmp eax, 5
jae case.default.0x14053fa4c
mov eax, eax
lea rcx, [0x140613fa4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
nop
mov rbx, qword [rbp + 0xc8]
mov rcx, rbx
call fcn.140095670
lea rax, [rbx + 8]
mov qword [rbx + 8], 0
mov byte [rbx + 0x10], 0
lea rdx, [rbx + 0x18]
mov qword [rbx + 0x18], 0
mov byte [rbx + 0x20], 0
lea rcx, [rbx + 0x28]
mov qword [rbx + 0x28], 0
mov word [rbx + 0x30], 0
lea r14, [rbx + 0x38]
mov qword [rbx + 0x38], 0
mov word [rbx + 0x40], 0
lea r11, [rbx + 0x48]
mov qword [rbx + 0x48], 0
mov byte [rbx + 0x50], 0
lea r10, [rbx + 0x58]
mov qword [rbx + 0x58], 0
mov byte [rbx + 0x60], 0
test r13, r13
je 0x1405401f6
nop
mov qword [rbp + 0x20], r10
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x10], r14
mov qword [rbp + 8], rcx
mov qword [rbp], rdx
mov qword [rbp - 8], rax
mov rcx, rbx
mov rdx, r13
call fcn.1400956b0
jmp 0x140540eb8
mov r15, qword [rbp + 0x140]
cmp eax, 7
ja 0x14053fb5d
cmp eax, 5
je 0x14053fce3
cmp eax, 7
jne 0x14053fdc9
nop
mov esi, dword [0x14077d554]
mov r8, qword [rbp + 0xc8]
mov rax, qword [r8 + 0x38]
cmp qword [rax], 0
je 0x140540007
nop
mov rax, qword [r8 + 0x50]
mov ecx, dword [0x140792f70]
add ecx, dword [rax]
test ecx, ecx
jle 0x140540007
dec ecx
mov dword [rax], ecx
mov rax, qword [r8 + 0x38]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
movzx esi, byte [rcx]
jmp 0x1405407f5
cmp eax, 8
jne 0x14053fb6b
lea rbx, [rbp + 0x38]
jmp 0x140540c78
cmp eax, 9
ja 0x14053feb0
nop
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rcx, r13
call fcn.140095650
cmp rax, 0xf
jbe 0x140540205
lea rcx, [rbp + 0x30]
mov rdx, rax
mov r9, r13
call fcn.14008c3c0
jmp 0x140540229
nop
mov rbx, qword [r13 + 0x10]
cmp qword [r13 + 0x18], 0x10
mov r14, r13
jb 0x14053fbc2
mov r14, qword [r13]
lea r12, [rbp - 0x18]
cmp rbx, 0xf
ja 0x1405401b8
nop
mov qword [rsp + 0x20], 0x10
lea rcx, [rbp - 0x28]
mov rdx, r14
mov r8d, 0x55b67cf2
call fcn.140541470
mov r15d, 0xf
jmp 0x140540393
nop
mov rax, qword [rbp + 0xc8]
test rax, rax
je 0x14053fc0f
nop
cmp qword [rax], 0
je 0x140540539
mov r14d, 2
jmp 0x140540ebf
lea rbx, [rbp + 0x98]
mov rcx, rbx
call fcn.140095670
mov r15, qword [0x14078ffe8]
cmp qword [0x14078ff98], 0
jne 0x140540d35
lea r14, [rbp + 0x30]
mov rcx, r14
call fcn.140095670
cmp qword [0x14078ff98], 0
jne 0x14053fc74
nop
mov eax, dword [0x140793a78]
mov ecx, dword [0x140792f70]
add eax, ecx
inc eax
mov dword [0x140793a78], eax
cdqe
mov qword [0x14078ff98], rax
nop
mov qword [rsp + 0x20], r14
mov r8d, 0x7826dcef
call fcn.140541470
jmp 0x140540d2c
lea rcx, [rbp - 0x28]
call fcn.140095670
mov rax, qword [0x14078ffd8]
mov qword [rbp + 0x98], rax
cmp qword [0x140793a90], 0
jne 0x1405404aa
lea rcx, [rbp + 0x30]
call fcn.140095670
cmp qword [0x140793a90], 0
jne 0x14054048c
nop
movsxd rax, dword [0x140793a78]
inc rax
mov dword [0x140793a78], eax
mov qword [0x140793a90], rax
jmp 0x140540496
xorps xmm0, xmm0
movups xmmword [r15 + 8], xmm0
mov dword [r15 + 0x18], 0x201
mov qword [r15 + 0x20], 6
movups xmmword [r15 + 0x38], xmm0
movups xmmword [r15 + 0x28], xmm0
mov ecx, 0x10
call fcn.1400954c0
mov rdi, rax
call fcn.140095660
nop
mov qword [rdi + 8], rax
mov qword [r15 + 0x40], rdi
mov rcx, qword [rbp + 0xc8]
mov qword [r15 + 0x48], rcx
mov qword [r15 + 0x50], 0
mov qword [rbp + 0x38], rax
mov rcx, qword [rax]
mov rdx, qword [rcx + 8]
mov rcx, rax
mov rax, rdx
call qword [0x140704440]
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov r8d, 0x4c6771a1
call fcn.14053f9f0
nop
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov rcx, rax
mov dl, 0x20
mov rax, r8
call qword [0x140704440]
mov ebx, eax
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x14053fdaa
nop
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140704440]
test rax, rax
je 0x14053fdaa
nop
mov rcx, qword [rax]
mov r8, qword [rcx]
mov rcx, rax
mov edx, 1
mov rax, r8
call qword [0x140704440]
nop
mov byte [r15 + 0x58], bl
cmp qword [r15 + 0x48], 0
je 0x14054030a
test r12b, 1
jne 0x140540332
jmp 0x140540dda
nop
mov r14, qword [r15 + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, r14
xor rax, rbx
cmp rax, r13
jb 0x1405402a7
add r13, r14
mov r8, qword [r15 + 0x18]
movabs rcx, 0x8000000000000000
nop
mov qword [rbp + 0xc0], r8
js 0x14053fe17
mov rax, r8
shr rax, 1
mov rdx, rax
xor rdx, rbx
cmp rdx, r8
jae 0x1405405c2
add rcx, 0x27
call fcn.1400954c0
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
nop
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], rbx
mov rbx, qword [rbp + 0xc0]
cmp rbx, 0xf
jbe 0x140540577
test esi, 0x100
jne 0x1405405aa
nop
mov rsi, qword [r15]
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x55b67cf2
call fcn.140541470
mov byte [rdi + r14], r12b
mov byte [rdi + r14 + 1], 0
lea rdx, [rbx + 1]
cmp rdx, 0x1000
jb 0x14053fea3
nop
mov rax, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
sub rsi, rax
cmp rsi, 0x20
jae 0x140540c22
add rbx, 0x28
mov rdx, rbx
mov rsi, rax
mov rcx, rsi
call fcn.140095520
jmp 0x14054059e
nop
mov rcx, qword [rbp + 0xc8]
mov r15, qword [rcx + 0x10]
movabs rbx, 0x7fffffffffffffff
mov rax, r15
xor rax, rbx
cmp rax, r12
jb 0x14054083b
add r12, r15
mov r8, qword [rcx + 0x18]
movabs rcx, 0x8000000000000000
nop
mov qword [rbp + 0xb8], r8
js 0x14053ff34
mov rax, r8
shr rax, 1
mov rdx, rax
xor rdx, rbx
cmp rdx, r8
jb 0x14053ff34
mov rcx, r12
or rcx, 0xf
add rax, qword [rbp + 0xb8]
cmp rcx, rax
mov rbx, rax
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140540633
cmp rcx, 0xffffffffffffffd9
jae 0x140540956
add rcx, 0x27
call fcn.1400954c0
lea rdx, [rax + 0x27]
and rdx, 0xffffffffffffffe0
mov rcx, rdx
mov qword [rbp + 0xc0], rdx
mov qword [rdx - 8], rax
nop
mov r14, qword [rbp + 0xc8]
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], rbx
mov rbx, qword [rbp + 0xb8]
cmp rbx, 0x10
jb 0x1405402c4
nop
mov r14, qword [r14]
mov qword [rsp + 0x20], r15
mov r12, qword [rbp + 0xc0]
mov rcx, r12
mov rdx, r14
mov r8d, 0x55b67cf2
call fcn.140541470
add r15, r12
mov qword [rsp + 0x20], r13
mov rcx, r15
mov rdx, rdi
mov r8d, 0x55b67cf2
call fcn.140541470
mov byte [r13 + r15], 0
lea rdx, [rbx + 1]
cmp rdx, 0x1000
jb 0x14053ffeb
nop
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x14054091a
test sil, 0x40
jne 0x1405406de
add rbx, 0x28
mov rdx, rbx
mov r14, rax
mov rcx, r14
call fcn.140095520
nop
mov r14, qword [rbp + 0xc8]
mov rsi, qword [rbp + 0xc0]
jmp 0x140540301
nop
cmp qword [r8 + 0x80], 0
je 0x1405405b8
nop
mov rax, qword [r8 + 0x18]
lea rcx, [r8 + 0x70]
cmp qword [rax], rcx
jne 0x140540045
nop
mov ecx, dword [r8 + 0x90]
mov rdx, qword [r8 + 0x88]
mov qword [rax], rdx
mov rax, qword [r8 + 0x38]
mov qword [rax], rdx
sub ecx, edx
mov rax, qword [r8 + 0x50]
mov dword [rax], ecx
nop
cmp qword [r8 + 0x68], 0
je 0x14054060e
nop
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rcx, qword [r8 + 0x80]
call fcn.140095830
add eax, dword [0x1407905c8]
cmp eax, 0xffffffff
je 0x140540629
lea rbx, [rbp - 0x37]
mov rcx, qword [rbp + 0xc8]
lea rdi, [rcx + 0x74]
lea r14, [rbp + 0x30]
lea r15, [rbp - 0x28]
lea r12, [rbp - 0x38]
lea r13, [rbp + 0x98]
jmp 0x1405400f3
mov rax, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x40]
sub rax, r9
cmp rdx, rax
cmovb rax, rdx
sub rdx, rax
mov qword [rbp + 0x40], rdx
inc rdx
add rax, r9
mov qword [rsp + 0x20], rax
mov r8d, 0xd0bf8b0c
call fcn.140541470
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rax + 0x80]
call fcn.140095830
cmp eax, 0xffffffff
je 0x140540629
nop
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
cmp rcx, rdx
jae 0x140540122
lea r8, [rcx + 1]
mov qword [rbp + 0x40], r8
mov r8, r14
cmp rdx, 0x10
jb 0x140540116
mov r8, qword [rbp + 0x30]
mov byte [r8 + rcx], al
mov byte [r8 + rcx + 1], 0
jmp 0x140540142
movzx r9d, al
nop
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], 1
xor edx, edx
mov r8d, 0x4d25aa86
call fcn.14053f9f0
nop
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rax + 0x68]
cmp qword [rbp + 0x48], 0x10
mov r8, r14
jb 0x14054015c
mov r8, qword [rbp + 0x30]
mov r9, qword [rbp + 0x40]
add r9, r8
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov r10, qword [0x140704440]
nop
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov rdx, rdi
call r10
cmp eax, 2
jae 0x1405406f7
nop
cmp qword [rbp - 0x28], r12
jne 0x140540711
nop
cmp qword [rbp + 0x48], 0x10
mov r9, r14
jb 0x1405400a5
mov r9, qword [rbp + 0x30]
jmp 0x1405400a5
mov rax, rbx
or rax, 0xf
movabs r15, 0x7fffffffffffffff
cmp rax, r15
cmovb r15, rax
cmp rax, 0xfff
jb 0x140540342
lea rcx, [r15 + 0x28]
call fcn.1400954c0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14054034e
lea r12, [rbp - 0x38]
xor r15d, r15d
mov rbx, r13
jmp 0x140540389
nop
mov qword [rbp + 0x40], rax
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x30]
mov rdx, r13
mov r8d, 0x55b67cf2
mov rdi, rax
call fcn.140541470
mov byte [rbp + rdi + 0x30], 0
nop
mov qword [rsp + 0x20], 0x10
lea rdi, [rbp + 0x98]
mov rcx, rdi
mov rdx, r15
mov r8d, 0x55b67cf2
call fcn.140541470
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov rcx, r12
mov rdx, rdi
mov r8d, 0x11e5d514
call fcn.14053f9f0
nop
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1405402b1
nop
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1405402a2
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140540920
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
test sil, 0x20
je 0x140540836
lea rax, [0x1405e8198]
mov qword [r12], rax
mov r14, r12
jmp 0x140540ebf
nop
mov qword [rsp + 0x20], r15
mov rsi, qword [rbp + 0xc0]
mov rcx, rsi
mov rdx, r14
mov r8d, 0x55b67cf2
call fcn.140541470
add r15, rsi
mov qword [rsp + 0x20], r13
mov rcx, r15
mov rdx, rdi
mov r8d, 0x55b67cf2
call fcn.140541470
mov byte [r13 + r15], 0
nop
mov qword [r14], rsi
jmp 0x140540ebf
nop
mov r11d, dword [r15 + 0x10]
and r11d, 0x13
or r11d, 4
mov dword [r15 + 0x10], r11d
mov r10d, dword [r15 + 0x14]
and r11d, r10d
jne 0x140540845
test r12b, 1
je 0x140540dda
mov rcx, r15
call fcn.140095610
xor r14d, r14d
jmp 0x140540ebf
lea rcx, [r15 + 1]
call fcn.1400954c0
mov rcx, rax
nop
mov qword [rbp - 0x28], rcx
lea rax, [rbx + 1]
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r8d, 0x55b67cf2
call fcn.140541470
lea rax, [rbp + 0x98]
lea r11, [rbp + 0x30]
lea rcx, [rbp + 0x98]
lea r10, [rbp + 0x98]
mov r14, r11
mov rdx, r11
test sil, 0x20
jne 0x1405407fd
nop
mov qword [r12], rbx
mov qword [rbp - 0x10], r15
mov qword [rsp + 0x20], 0x10
lea r15, [rbp - 0x38]
mov rcx, r15
mov rdx, rdi
mov r8d, 0x55b67cf2
call fcn.140541470
lea r14, [rbp + 0x98]
lea r8, [rbp - 0x28]
mov rcx, r14
mov rdx, r15
call fcn.14008c500
cmp qword [rbp + 0xb0], 0x10
jb 0x1405403e1
mov r14, qword [rbp + 0x98]
lea rax, [0x1405e7b68]
mov rbx, qword [rbp + 0xc8]
mov qword [rbx], rax
lea rdx, [rbx + 8]
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov qword [rbp + 0x30], r14
mov byte [rbp + 0x38], 1
lea rcx, [rbp + 0x30]
call fcn.140095510
lea rax, [0x1405e8218]
mov qword [rbx], rax
mov rax, qword [rbp + 0xb0]
cmp rax, 0x10
jb 0x14054045b
nop
mov rcx, qword [rbp + 0x98]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140540456
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14054048c
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
lea rax, [0x1405e81d8]
mov r14, qword [rbp + 0xc8]
mov qword [r14], rax
lea rcx, [r14 + 0x18]
mov qword [rsp + 0x20], 0x10
mov rdx, rdi
mov r8d, 0x55b67cf2
call fcn.140541470
jmp 0x140540ebf
test sil, 0x10
jne 0x140540840
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, 0xfd97bdaf
call fcn.140541470
nop
mov rdi, qword [0x140793a90]
mov r15, qword [r13 + 8]
cmp qword [r15 + 0x18], rdi
jbe 0x1405404d1
nop
mov rax, qword [r15 + 0x10]
mov rax, qword [rax + rdi*8]
mov r14, rax
test rax, rax
jne 0x140540e1d
nop
cmp byte [r15 + 0x24], 0
je 0x1405404fa
call fcn.1400956a0
nop
cmp qword [rax + 0x18], rdi
jbe 0x1405404fa
nop
mov rax, qword [rax + 0x10]
mov rax, qword [rax + rdi*8]
mov r14, rax
test rax, rax
jne 0x140540e1d
nop
mov rax, qword [rbp + 0x98]
mov r14, rax
test rax, rax
jne 0x140540e1d
lea rdi, [rbp + 0x98]
mov rcx, rdi
mov r8d, 0xd4e683d2
mov r9, r13
call fcn.14053f9f0
cmp rax, 0xffffffffffffffff
je 0x140540876
add r15, 0x24
jmp 0x140540d95
mov ecx, 0x30
call fcn.1400954c0
mov qword [rbp + 0xc0], rax
mov rax, qword [r12 + 8]
test rax, rax
je 0x14054064d
test sil, 0x10
je 0x140540925
nop
mov rcx, qword [rax + 0x28]
add rax, 0x30
test rcx, rcx
cmovne rax, rcx
jmp 0x14054065e
test sil, 0x10
jne 0x1405405aa
nop
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov rdx, r15
mov r8d, 0x55b67cf2
call fcn.140541470
mov byte [rdi + r14], r12b
mov byte [rdi + r14 + 1], 0
nop
mov qword [r15], rdi
mov r14, r15
jmp 0x140540ebf
xor eax, eax
mov qword [rbp + 0xc8], rax
jmp 0x140540ea1
mov esi, 0xffffffff
jmp 0x1405407f5
mov rcx, r13
or rcx, 0xf
add rax, qword [rbp + 0xc0]
cmp rcx, rax
mov rbx, rax
cmova rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1405406e5
cmp rcx, 0xffffffffffffffd9
jae 0x140540c18
test sil, sil
js 0x14053fe17
lea rsi, [rbp + 0x30]
mov r14, qword [rbp + 0xc8]
jmp 0x140540301
nop
mov rcx, qword [r8 + 0x80]
call fcn.140095830
cmp eax, 0xffffffff
movzx esi, al
cmove esi, eax
jmp 0x1405407f5
mov esi, 0xffffffff
jmp 0x1405407b3
test rcx, rcx
je 0x140540723
call fcn.1400954c0
mov qword [rbp + 0xc0], rax
jmp 0x14053ff53
test sil, 0x40
je 0x14054045b
lea rax, [0x1405e824c]
nop
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x30]
mov r8d, 0x68a21260
call fcn.14053f9f0
nop
mov rsi, qword [rbp + 0xc0]
mov dword [rsi + 8], 0
lea rax, [0x1405e8a58]
mov qword [rsi], rax
lea rcx, [rbp + 0x98]
call fcn.140095700
mov rcx, rsi
add rcx, 0x10
mov qword [rsp + 0x20], 0x20
lea rdx, [rbp + 0x98]
mov r8d, 0x55b67cf2
call fcn.140541470
mov rax, qword [rbp + 0xc8]
mov qword [rax], rsi
lea rcx, [rbp + 0x30]
mov r8d, 0x4eb06534
call fcn.14053eb70
mov r14d, 2
jmp 0x140540ebf
xor edi, edi
jmp 0x140540dae
test rcx, rcx
je 0x140540738
call fcn.1400954c0
mov rdi, rax
jmp 0x14053fe2c
cmp eax, 3
jne 0x140540746
nop
cmp qword [rbp + 0x48], 0x10
jb 0x1405407ac
mov rax, qword [rbp + 0x30]
jmp 0x1405407b0
nop
mov rax, qword [rbp + 0x40]
cmp qword [rbp + 0x48], 0x10
jb 0x14054074d
mov rdi, qword [rbp + 0x30]
jmp 0x140540751
mov rbx, 0xffffffffffffffff
xor eax, eax
mov qword [rbp + 0xc0], rax
jmp 0x14053ff53
mov rbx, 0xffffffffffffffff
xor edi, edi
jmp 0x14053fe2c
mov esi, 0xffffffff
jmp 0x1405407b3
lea rdi, [rbp + 0x30]
add rdi, rax
sub rdi, qword [rbp + 0x98]
test rdi, rdi
nop
mov rbx, qword [rbp + 0xc8]
jle 0x1405407a5
xor rsi, 0x631fcd99
inc rdi
nop
mov r9, qword [rbx + 0x80]
mov rax, qword [rbp + 0x98]
movsx rax, byte [rax + rdi - 2]
mov eax, eax
mov qword [rsp + 0x28], rax
mov rcx, rsi
mov r8d, 0x51596105
call fcn.140541470
dec rdi
cmp rdi, 1
ja 0x140540772
nop
movzx esi, byte [rbp - 0x38]
jmp 0x1405407b3
lea rax, [rbp + 0x30]
movsx esi, byte [rax]
nop
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1405407f5
nop
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1405407f0
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140540c1d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
mov r14d, esi
jmp 0x140540ebf
nop
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
movzx eax, byte [0x14077d3d0]
cmp al, 0x47
je 0x140540c48
mov cl, 0x7e
mov al, 0x4e
lock cmpxchg byte [0x14077d3d0], cl
je 0x14054087b
cmp al, 0x47
jne 0x140540821
jmp 0x140540c48
call fcn.14008bd90
call fcn.14008bd90
call fcn.1400954e0
nop
mov edi, dword [0x140792f70]
movzx eax, byte [0x14077d356]
cmp al, 0x8e
je 0x140540a07
mov cl, 0x14
mov al, 0x3a
lock cmpxchg byte [0x14077d356], cl
je 0x140540960
cmp al, 0x8e
jne 0x14054085d
jmp 0x140540a07
call fcn.14008c900
lea rsi, [0x140613f90]
mov ecx, 0xe3321662
lea rdi, [rsi + rcx]
mov ebx, 0xe3321661
xor r15d, r15d
movabs r12, 0xf0f0f0f0f0f0f0f1
lea r13, [0x14077d3c0]
mov r8d, 0xe3321661
mov rax, rcx
mul r12
mov r9, rdx
mov rax, r8
mul r12
mov rax, rdx
shr rax, 4
and rdx, 0xfffffffffffffff0
add rdx, rax
mov rax, rsi
sub rax, rdx
mov rdx, r9
shr rdx, 4
and r9, 0xfffffffffffffff0
add rax, r15
movzx eax, byte [rbx + rax]
xor al, 0x86
add byte [r15 + r13], al
add r9, rdx
neg r9
movzx eax, byte [rdi + r9]
xor al, 0x86
add byte [r15 + r13 + 1], al
add r15, 2
add rdi, 2
add rcx, 2
add r8, 2
cmp r15, 0x10
jne 0x1405408aa
mov al, 0x47
xchg byte [0x14077d3d0], al
jmp 0x140540c48
test sil, 0x10
jne 0x14054095b
call fcn.1400954e0
lea rax, [rbp + 0x98]
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0x30]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0xb8], rax
lea r14, [rbp + 0x98]
lea r11, [rbp + 0x30]
lea r10, [rbp - 0x28]
jmp 0x140540c48
call fcn.14008b830
call fcn.1400954e0
lea r9, [0x140613f30]
lea rbx, [r9 + 0x60d45062]
add r9, 0x60d45061
mov ecx, 0x60d45062
mov r8d, 0x60d45060
movabs r14, 0x2e8ba2e8ba2e8ba3
lea r15, [0x14077d340]
mov rax, rcx
mul r14
shr rdx, 2
imul r12, rdx, 0xffffffffffffffea
mov rax, r8
mul r14
shr rdx, 2
imul rax, rdx, 0xffffffffffffffea
movzx edx, byte [rcx + r15 - 0x60d45062]
xor dl, byte [r9 + rax]
movzx eax, byte [rcx + r15 - 0x60d45061]
xor dl, 0x27
xor al, byte [rbx + r12]
mov byte [rcx + r15 - 0x60d45062], dl
xor al, 0x27
mov byte [rcx + r15 - 0x60d45061], al
add rbx, 2
add rcx, 2
add r9, 2
add r8, 2
cmp rcx, 0x60d45078
jne 0x140540991
test sil, 0x40
jne 0x140540c27
mov al, 0x8e
xchg byte [0x14077d356], al
nop
movzx eax, byte [0x14077d375]
cmp al, 0xb1
je 0x140540af4
mov cl, 0xec
mov al, 0x8b
lock cmpxchg byte [0x14077d375], cl
je 0x140540a2e
cmp al, 0xb1
jne 0x140540a19
jmp 0x140540af4
mov eax, 1
mov ecx, 0xd4ffee6d
mov edx, 0x2b0011a5
mov r8d, 0xd4ffee6e
mov r9d, 0x2b0011a4
mov esi, 0xaf286bcb
lea rbx, [0x14077d360]
lea r14, [0x140613f50]
mov r15d, r9d
imul r15, rsi
shr r15, 0x20
mov r12d, r9d
sub r12d, r15d
shr r12d, 1
add r12d, r15d
shr r12d, 4
lea r15d, [r12 + r12*8]
lea r15d, [r12 + r15*2]
add r15d, r8d
movzx r12d, byte [rax + rbx - 1]
xor r12b, byte [r15 + r14]
xor r12b, 0x96
mov byte [rax + rbx - 1], r12b
cmp rax, 0x15
je 0x140540aec
mov r15d, edx
imul r15, rsi
shr r15, 0x20
mov r12d, edx
sub r12d, r15d
shr r12d, 1
add r12d, r15d
shr r12d, 4
lea r15d, [r12 + r12*8]
lea r15d, [r12 + r15*2]
add r15d, ecx
movzx r12d, byte [rax + rbx]
mov r15d, r15d
xor r12b, byte [r15 + r14]
xor r12b, 0x96
mov byte [rax + rbx], r12b
add rax, 2
add ecx, 0xfffffffe
add edx, 2
add r8d, 0xfffffffe
add r9d, 2
jmp 0x140540a5c
mov al, 0xb1
xchg byte [0x14077d375], al
nop
movzx eax, byte [0x14077d335]
cmp al, 0x93
je 0x140540bbb
mov cl, 0x8c
mov al, 0xd2
lock cmpxchg byte [0x14077d335], cl
je 0x140540b1b
cmp al, 0x93
jne 0x140540b06
jmp 0x140540bbb
mov ecx, 0xe8b49fe
mov r8d, 0xe8b49fd
xor esi, esi
movabs rbx, 0x8618618618618619
lea r14, [0x140613f10]
lea r15, [0x14077d320]
mov rax, rcx
mul rbx
mov r9, rdx
mov rax, r8
mul rbx
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r14
add rax, 0xe8b49f2
movzx eax, byte [rsi + rax + 0xb]
xor al, 0xea
add byte [rsi + r15], al
cmp rsi, 0x14
je 0x140540bb3
mov rax, rcx
sub rax, r9
shr rax, 1
add rax, r9
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r14
add rax, 0xe8b49fe
movzx eax, byte [rax + rsi]
xor al, 0xea
add byte [rsi + r15 + 1], al
add rsi, 2
add rcx, 2
add r8, 2
jmp 0x140540b40
mov al, 0x93
xchg byte [0x14077d335], al
test r11b, 2
lea rax, [0x14077d360]
lea rcx, [0x14077d340]
cmove rcx, rax
and r10d, 4
add edi, r10d
lea rsi, [0x14077d320]
cmove rsi, rcx
lea rdi, [rbp + 0x98]
mov rcx, rdi
mov edx, 1
call fcn.14008c180
lea rbx, [rbp + 0x30]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.140096540
lea rdx, [0x140647838]
mov rcx, rbx
call fcn.1400954f0
call fcn.14008b830
call fcn.1400954e0
call fcn.1400954e0
xor r10d, r10d
xor r11d, r11d
xor r14d, r14d
xor eax, eax
mov qword [rbp + 0xb8], rax
xor eax, eax
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0xc0], rax
nop
mov qword [rbp + 0x20], r10
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x10], r14
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp], rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp - 8], rax
call fcn.14053ea70
call fcn.1401f20b0
mov r14, rax
call fcn.1401f20c0
mov rcx, rax
or rcx, r14
shr rcx, 0x20
je 0x140540c98
cqo
idiv r14
jmp 0x140540c9d
xor edx, edx
div r14d
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, r14
or rdx, rax
shr rdx, 0x20
je 0x140540cbe
cqo
idiv r14
jmp 0x140540cc3
xor edx, edx
div r14d
add rax, rcx
nop
mov r14, qword [rdi]
sub r14, rax
jle 0x140540dda
call fcn.1401f20d0
imul rax, rax, 0x64
movabs rcx, 0x311cdad160000
cmp r14, rcx
cmovl rcx, r14
add rcx, rax
movabs rdx, 0x112e0be826d694b3
mov rax, rcx
imul rdx
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
mov qword [rbp + 0x30], rdx
imul eax, edx, 0xc4653600
add ecx, eax
mov dword [rbx], ecx
lea rcx, [rbp + 0x30]
call fcn.1401f20a0
lea r15, [rbp + 0x98]
test sil, sil
js 0x140540c78
nop
mov rbx, qword [0x14078ff98]
mov rax, qword [rdi + 8]
cmp qword [rax + 0x18], rbx
jbe 0x140540d63
nop
mov rcx, qword [rax + 0x10]
mov rdx, qword [rcx + rbx*8]
mov rcx, rdx
mov qword [rbp + 0xc8], rdx
test rdx, rdx
jne 0x140540ea1
add rdi, 8
cmp byte [rax + 0x24], 0
je 0x140540d9b
call fcn.1400956a0
nop
cmp qword [rax + 0x18], rbx
jbe 0x140540d9b
nop
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + rbx*8]
mov rax, rcx
mov qword [rbp + 0xc8], rcx
test rcx, rcx
jne 0x140540ea1
test sil, 0x20
jne 0x140540de2
mov rax, r15
mov qword [rbp + 0xc8], r15
test r15, r15
jne 0x140540ea1
mov ecx, 0x10
call fcn.1400954c0
mov qword [rbp + 0xc8], rax
nop
mov rax, qword [rdi]
test rax, rax
je 0x140540e36
nop
mov rcx, qword [rax + 0x28]
add rax, 0x30
test rcx, rcx
cmovne rax, rcx
jmp 0x140540e3d
xor r14d, r14d
jmp 0x140540ebf
nop
mov rcx, qword [rbp + 0x98]
nop
mov qword [rbp + 0xc8], rcx
call fcn.140095680
nop
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140704440]
mov rax, qword [rbp + 0x98]
mov r14, rax
mov qword [0x14078ffd8], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov r8d, 0xbe6ca9af
call fcn.140541470
jmp 0x140540ebf
lea rax, [0x1405e824c]
nop
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x30]
mov r8d, 0x68a21260
call fcn.14053f9f0
nop
mov rsi, qword [rbp + 0xc8]
mov dword [rsi + 8], 0
lea rax, [0x1405e8ce8]
mov qword [rsi], rax
lea rcx, [rbp + 0x30]
mov r8d, 0x4eb06534
call fcn.14053eb70
mov rcx, rsi
call fcn.140095680
nop
mov rsi, qword [rbp + 0xc8]
mov rax, qword [rsi]
mov rax, qword [rax + 8]
mov rcx, rsi
call qword [0x140704440]
mov qword [0x14078ffe8], rsi
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov r8d, 0xa899ff8f
call fcn.140541470
mov r14, qword [rbp + 0xc8]
mov rax, r14
add rsp, 0x158
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add eax, 0xfffffff2
lea r9, [0x140613fb8]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
test edx, edx
je 0x14054169f
mov rcx, rdi
test sil, 0x20
jne 0x1405416ab
jmp 0x14054189e
mov rax, rdx
jmp 0x140541630
mov rbx, rdx
sub rbx, rax
mov esi, 0x55b67cf2
mov cl, 1
nop
mov qword [rsp + 0x28], r14
xor r9d, r9d
cmp r9, rbx
jb 0x140541731
test cl, 1
mov rdi, r14
je 0x1405417c2
jmp 0x1405417b1
nop
movzx eax, byte [0x14077d389]
cmp al, 0x37
je 0x1405417bb
lea rcx, [rsp + 0x28]
xor r15d, r15d
jmp 0x140541823
mov rcx, rbx
call fcn.14059d520
xor edi, edi
jmp 0x1405417c2
nop
mov rcx, qword [rbx + 8]
test rcx, rcx
sete r15b
movzx eax, byte [0x14077d312]
cmp al, 0xc0
je 0x1405416f2
jmp 0x140541812
test ebx, ebx
je 0x1405416bd
mov rcx, r14
test sil, sil
js 0x1405417c2
call fcn.1400954d0
test esi, 0x100
jne 0x1405416c7
jmp 0x1405417c2
test sil, 0x40
je 0x1405417c2
mov rdi, r14
jmp 0x1405417c2
mov rcx, rbx
call fcn.1400954d0
lea rcx, [rsp + 0x28]
test sil, 0x20
je 0x140541706
mov al, 0xc0
xchg byte [0x14077d312], al
test esi, 0x400
je 0x1405416cf
lea rdi, [0x14077d300]
test r15b, 1
cmove rdi, rcx
jmp 0x1405417c2
mov rdi, rbx
jmp 0x1405417c2
mov r8, r15
cmp r11, r15
mov rdx, r10
jae 0x1405417d3
test esi, 0x100
jne 0x14054175a
mov rdx, r10
cmp r9, rbx
jae 0x140541642
mov r10, rdx
test esi, 0x800
je 0x1405418cc
nop
movzx edx, byte [rax + r9]
mov r15, qword [rsp + 0x28]
mov byte [r15 + r9], dl
inc r9
test esi, 0x100
je 0x140541725
nop
movzx edx, byte [rbx + r11]
mov byte [rdi + r11], dl
inc r11
mov r15, r8
jmp 0x14054170e
mov rdi, rdx
jmp 0x1405417c2
test cl, 1
jne 0x1405417b1
lea rdi, [0x14077d380]
mov rax, rdi
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
xor ecx, ecx
test esi, 0x400
jne 0x1405417b6
test cl, 1
jne 0x1405417b1
mov rdi, qword [rsp + 0x28]
jmp 0x1405417c2
cmp al, 0x37
je 0x1405417d1
xor ecx, ecx
mov dl, 0x41
mov al, 0x77
lock cmpxchg byte [0x14077d389], dl
mov r15d, 0
je 0x14054189e
test esi, 0x100
je 0x1405417e7
jmp 0x1405416f2
mov dl, 0xb2
mov al, 0x4d
lock cmpxchg byte [0x14077d312], dl
je 0x14054183d
mov r14d, eax
test esi, 0x200
jne 0x1405417eb
cmp r14b, 0xc0
je 0x1405418d4
test sil, 0x40
je 0x140541812
jmp 0x1405417c2
test sil, sil
jns 0x1405417c2
mov eax, 0xf
lea rdx, [0x14077d300]
lea r8, [0x140613f00]
lea r9d, [rax - 1]
and r9d, 0xe
movzx r9d, byte [r9 + r8]
xor r9b, 0x4e
add byte [rax + rdx - 0xf], r9b
test esi, 0x1000
jne 0x14054189e
mov r9d, eax
and r9d, 0xf
movzx r9d, byte [r9 + r8]
xor r9b, 0x4e
add byte [rax + rdx - 0xe], r9b
cmp rax, 0x1f
je 0x1405416e2
add rax, 2
test esi, 0x1000
je 0x140541855
movabs rax, 0x24625445c2b0e11e
xor qword [0x14077d380], rax
xor byte [0x14077d388], 0xb6
mov al, 0x37
xchg byte [0x14077d389], al
xor ecx, ecx
test esi, 0x800
jne 0x140541740
mov rdx, r10
jmp 0x1405417b6
mov al, 0xc0
test esi, 0x100
je 0x1405417e7
jmp 0x1405416f2