Function at 0x140175350
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rdi, r8
mov qword [rbp + 0x28], rcx
mov rax, qword [rbp + 0xb0]
mov r8d, dword [rbp + 0xc0]
mov r10d, dword [rbp + 0xd0]
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
lea r11, [0x14052ecd8]
mov qword [rbp - 0x30], r11
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov qword [rbp - 8], r11
mov dword [rbp - 0x48], edx
mov dword [rbp - 0x44], r10d
mov dword [rbp - 0x40], r9d
mov dword [rbp - 0x3c], r8d
mov dword [rbp - 0x38], 0
mov rdx, rax
call fcn.1402f02e0
mov rdx, qword [rbp + 0xb8]
lea rcx, [rbp - 8]
call fcn.1402f02e0
movzx eax, byte [rbp + 0xd8]
mov byte [rbp + 0x20], al
cmp qword [0x140693e88], 0
jne 0x140175469
mov ecx, 0x700
call fcn.1404e9d4c
mov qword [rbp + 0x38], rax
mov rcx, rax
call fcn.140094bf0
mov eax, dword [0x140693d50]
mov ecx, dword [0x140610aa8]
mov edx, eax
sub edx, ecx
add edx, 0x6544c85c
imul edx, eax
and edx, 1
add ecx, 0x6544c85b
cmp edx, ecx
mov rcx, qword [rbp + 0x38]
je 0x14017544e
jmp 0x140175460
mov qword [0x140693e88], rcx
mov eax, dword [0x140693d54]
cmp eax, 0x1e
jl 0x140175469
mov qword [0x140693e88], rcx
jmp 0x14017544e
mov rsi, qword [rbp + 0xc8]
mov r14, qword [0x140693e88]
mov rax, qword [r14]
mov rbx, qword [rax + 8]
mov eax, dword [0x140693d54]
cmp eax, 0x46
jg 0x140175470
mov ecx, dword [0x140693d50]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140610aa8]
lea r8d, [rcx + 0x6544c85d]
xor edx, edx
div r8d
add ecx, 0x6544c85b
cmp edx, ecx
jne 0x1401754da
mov rcx, qword [0x140610948]
mov edx, dword [0x140693d50]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0x6544c85d
add r8d, dword [0x140610aa8]
xor edx, edx
div r8d
test edx, edx
je 0x140175522
mov ecx, 0x39
mov edx, 0x910ace0e
mov r8d, 0xaf6f1d65
mov r9d, 0x3ad48283
call fcn.14016c4a0
mov qword [0x140693d48], rax
lea rcx, [0x1401761f0]
mov edx, 0xa0385258
mov r8d, 0x9df5b6cd
mov r9d, 0x689fa5c0
call fcn.1401676c0
mov rax, qword [0x140610948]
jmp 0x1401754b1
mov eax, dword [0x140693d54]
cmp eax, 0x49
jg 0x140175542
movsxd r15, dword [rcx]
mov rax, qword [0x140610ab0]
mov edx, dword [0x140693d54]
cmp edx, 0x2f
jle 0x140175546
mov eax, dword [rcx]
jmp 0x14017552d
movabs rdx, 0xe4699c8d223b9e14
xor rdx, rax
movabs r8, 0x64699c8d223b9e14
and r8, rax
lea rax, [rdx + r8*2]
sub rax, rcx
sub r15, rax
mov eax, dword [0x140693d50]
mov eax, 0x6544c85c
nop word cs:[rax + rax]
mov ecx, dword [0x140693d50]
mov edx, dword [0x140610aa8]
add edx, eax
not edx
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
jne 0x140175580
jmp 0x1401755b7
mov eax, dword [0x1405317b8]
mov eax, dword [0x140693d50]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401755d3
mov eax, dword [0x140693d50]
mov ecx, dword [0x140610aa8]
add ecx, eax
add ecx, 0x6544c85c
imul ecx, eax
test cl, 1
jne 0x1401755a0
mov r12d, dword [0x1405317b8]
mov eax, dword [0x140693d54]
cmp eax, 0x31
jg 0x1401755a0
mov eax, dword [0x140693d54]
cmp eax, 0x47
jg 0x1401755fb
mov eax, dword [0x140693d54]
cmp eax, 0x42
jl 0x140175628
mov eax, 0x6544c85c
lea rcx, [fcn.140175350]
add ecx, ecx
add ecx, 0x3920
nop
mov edx, dword [0x140610aa8]
add edx, eax
mov r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
jne 0x140175610
jmp 0x1401755f0
mov r10, qword [0x1405fc400]
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x48]
mov rcx, r14
mov rdx, qword [rbp + 0x28]
mov r8, rdi
mov rax, rbx
call r10
mov ecx, 0x6544c871
nop dword [rax]
mov eax, dword [0x140693d50]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
mov eax, dword [0x140693d54]
mov edx, dword [0x140610aa8]
add edx, ecx
cmp eax, edx
jge 0x14017565f
mov edx, dword [0x140693d50]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140610aa8]
mov r8d, edx
xor r8d, 0x6544c85d
and edx, 0x6544c85d
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
je 0x1401756db
mov eax, dword [0x140610944]
lea edx, [rax - 1]
mov r8d, eax
sub r8d, edx
imul r8d, edx
sub r8d, edx
imul r8d, edx
sub r8d, edx
imul r8d, edx
add eax, r8d
dec eax
mov dword [0x140610944], eax
mov eax, dword [0x140693d54]
cmp eax, 0x37
jge 0x140175650
mov ecx, dword [0x140610944]
lea r8d, [rcx + 1]
mov dword [0x140610944], r8d
xor eax, eax
mov edx, 0x6544c8a6
mov r9b, 1
nop word cs:[rax + rax]
test al, al
jne 0x14017571a
mov r10d, dword [0x140693d54]
mov r11d, dword [0x140610aa8]
add r11d, edx
cmp r10d, r11d
jl 0x140175721
test r9b, r9b
je 0x140175700
jmp 0x140175704
mov qword [rbp + 0x38], r15
xor eax, eax
test al, al
jne 0x140175a70
jmp 0x140175a51
lea r9, [rax + 1]
mov ecx, 0x6544c8b7
lea r8, [fcn.140175350]
lea r10d, [r8 + r8]
add r10d, 0x740
mov edx, r10d
not edx
and r10d, edx
add r8d, r8d
add r8d, 0x741
and edx, 0xfffffffe
xor edx, r8d
or edx, r10d
nop word [rax + rax]
mov r8, qword [rbp]
mov r10d, dword [0x140693d54]
mov r11d, dword [0x140610aa8]
add r11d, ecx
cmp r10d, r11d
jl 0x14017578f
cmp edx, 0xffffffff
jmp 0x140175770
cmp r9, 0x1000
jb 0x1401757fd
lea rdx, [r8 - 8]
mov rcx, qword [r8 - 8]
movabs r9, 0xd172dc919afbe16c
add r9, qword [0x140610ab0]
mov r10d, 7
sub r10, r8
mov r8, r9
xor r8, r10
xor r10, rdx
and r10, r9
xor r10, rdx
and r8, r9
lea rdx, [r10 + r8*2]
sub rdx, rcx
movabs r8, 0x12f6bffb873fbca8
add r8, rdx
cmp r8, 0x20
jae 0x14017581b
add rax, qword [0x140610ab0]
movabs r9, 0xe4699c8d223b9e3c
add r9, rax
mov r8, rcx
mov dword [rsp + 0x28], 0x295fa31a
mov dword [rsp + 0x20], 0x5265fb7c
xor ecx, ecx
mov edx, 1
call fcn.140176280
jmp 0x140175820
call fcn.1404ca324
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rcx, qword [rbp - 0x10]
cmp rcx, 0x10
jb 0x140175ede
mov rbx, qword [rbp - 0x28]
mov rax, rcx
not rax
mov edx, eax
and edx, 1
mov r8, rcx
and r8, 0xfffffffffffffffe
or r8, rdx
mov rdx, rcx
xor rdx, 1
movabs r9, 0x7ffffffffffffffe
and r9, rax
or r9, rdx
not r9
add r9, r9
and rax, r9
not r9
mov rdx, r8
and rdx, r9
or rdx, rax
xor r9, r8
and r9, r8
lea rdi, [rdx + r9*2]
movabs rax, 0xe4699c8d223bae13
add rax, qword [0x140610ab0]
cmp rdi, rax
jbe 0x140175a2e
xor r8d, r8d
movabs rdx, 0xe4699c8d223b9e0c
nop dword [rax + rax]
test r8b, r8b
jne 0x1401758f5
mov rax, qword [rbx - 8]
mov r9, qword [0x140610ab0]
add r9, rbx
mov r10d, dword [0x140693d50]
mov r11d, dword [0x140610aa8]
neg r11d
add r11d, r10d
add r11d, 2
imul r11d, r10d
test r11b, 1
je 0x140175903
cmp dword [0x140610aa8], 0x9abb37a5
jne 0x1401758c0
jmp 0x1401758c5
sub r9, rax
add r9, rdx
cmp r9, 0x20
jae 0x140175a4c
sub rcx, qword [0x140610ab0]
movabs rdx, 0x1b966372ddc46214
add rdx, rcx
mov r8, qword [0x140693d60]
xor rdx, r8
not r8
movabs r9, 0xe4699c8d223b9deb
sub r9, rcx
and r9, r8
or r9, rdx
not r9
add r9, r9
mov rcx, rdx
xor rcx, r9
and r9, rdx
lea rcx, [rcx + r9*2]
mov rdi, qword [0x140693d58]
xor edx, edx
cmp dword [rbp + 0x34], 0
setne dl
mov r8, qword [0x1405317a8]
movabs r9, 0x4350703cf92298a2
or r9, rdx
movabs rdx, 0x22cf33847910ba7a
xor rdx, r9
movabs r10, 0x4806008f2013044
add r10, rdx
xor edx, edx
movabs r9, 0x99e05c3e8dccace3
add r9, r10
adc rdx, 0xffffffffffffffff
mov r10, qword [0x1405317a0]
sub r10, r13
sbb r8, r15
mov r11d, dword [0x140693d50]
lea esi, [r11 - 1]
imul esi, r11d
test sil, 1
nop dword [rax + rax]
mov r11d, dword [0x140693d54]
cmp r11d, 0x4b
jg 0x1401759d0
and r9, r10
and rdx, r8
or rdx, r9
xor r8d, r8d
test r8b, r8b
nop dword [rax]
add qword [0x140693d60], rdx
mov r8d, dword [0x140693d54]
mov r9d, dword [0x140610aa8]
mov r10d, r9d
xor r10d, 0x6544c865
and r9d, 0x6544c865
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1401759f0
mov edx, dword [0x140693d54]
cmp edx, 0x25
add rdi, rcx
mov rbx, rax
mov eax, dword [0x140693d54]
mov ecx, 0x6544c897
add ecx, dword [0x140610aa8]
cmp eax, ecx
jl 0x140175e6d
jmp 0x140175eba
call fcn.1404ca324
mov eax, dword [0x140693d54]
mov edx, 0x6544c86f
add edx, dword [0x140610aa8]
cmp eax, edx
jl 0x140175a9d
nop word cs:[rax + rax]
mov edx, dword [0x140693d50]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140610aa8]
lea r10d, [r9 + 0x6544c85d]
xor edx, edx
div r10d
add r9d, 0x6544c85b
cmp edx, r9d
jne 0x140175a70
jmp 0x140175a51
mov eax, ecx
xor eax, ecx
mov edx, ecx
xor edx, r8d
not eax
and eax, r8d
xor eax, ecx
and ecx, r8d
or ecx, eax
mov eax, ecx
not eax
xor eax, edx
not edx
and edx, ecx
or edx, eax
not edx
or edx, eax
mov ecx, 0x6544c85a
add ecx, dword [0x140610aa8]
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
xor r13d, r13d
or ecx, eax
mov dword [rbp + 0x34], ecx
mov r15d, 0
jne 0x140175c02
mov eax, 0x6544c882
mov ecx, 0x6544c894
mov edx, 0x6544c85b
nop word [rax + rax]
mov r8d, dword [0x140693d54]
mov r9d, dword [0x140610aa8]
add r9d, eax
cmp r8d, r9d
jge 0x140175b30
mov r8d, dword [0x140693d54]
cmp r8d, 0x47
jle 0x140175baf
nop word [rax + rax]
mov r8d, dword [0x140693d50]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x140175b60
mov r8d, dword [0x140693d50]
lea r9d, [r8 + 1]
imul r9d, r8d
test r9b, 1
je 0x140175b90
nop word [rax + rax]
mov r8d, dword [0x140693d50]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140610aa8]
add r8d, edx
cmp r9d, r8d
jne 0x140175b60
jmp 0x140175b45
mov r8d, dword [0x140693d54]
mov r9d, dword [0x140610aa8]
add r9d, ecx
cmp r8d, r9d
jge 0x140175b00
jmp 0x140175b16
lea rax, [fcn.140175350]
lea ecx, [rax + rax]
add ecx, 0x41c0
mov eax, ecx
not eax
mov edx, ecx
and edx, eax
and eax, 0xfffffffe
or eax, edx
xor eax, ecx
xor ecx, ecx
cmp eax, 0xfffffffe
jne 0x140175bd9
test cl, cl
je 0x140175bef
mov edx, dword [0x140693d50]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140175bd0
jmp 0x140175bd5
xor ecx, ecx
mov r13d, 0
mov r15d, 0
test r12d, r12d
jg 0x140175c15
mov rax, qword [rbp + 0x18]
cmp rax, 0xf
ja 0x140175734
jmp 0x140175820
mov r8d, 0x6544c85d
mov r9d, 0x6544c88f
mov r10d, 0x6544c85b
mov edi, 0x6544c88e
mov bl, 1
xor r13d, r13d
xor r15d, r15d
jmp 0x140175c45
cmp ecx, r12d
jge 0x140175c02
mov eax, dword [0x140693d50]
nop dword [rax + rax]
mov edx, dword [0x140693d50]
mov r11d, dword [0x140610aa8]
mov eax, r11d
xor eax, 0xe236162c
mov r14d, r11d
and r14d, 0x6236162c
lea eax, [rax + r14*2]
neg eax
add eax, edx
add eax, 0x7cf14dd0
imul eax, edx
add r11d, 0x6544c85d
xor edx, edx
div r11d
test edx, edx
jne 0x140175cdb
nop
mov edx, dword [0x140693d50]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x140610aa8]
add r11d, r8d
xor edx, edx
div r11d
test edx, edx
jne 0x140175cc2
mov eax, dword [0x140693d54]
mov edx, dword [0x140610aa8]
add edx, r9d
cmp eax, edx
jl 0x140175cd0
mov eax, dword [0x140693d54]
cmp eax, 0x36
jge 0x140175c90
jmp 0x140175caf
mov eax, dword [0x140693d54]
cmp eax, 0x23
jle 0x140175d00
mov eax, dword [0x140693d50]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x140610aa8]
add eax, r10d
cmp edx, eax
jne 0x140175c50
jmp 0x140175c90
mov rsi, r13
movsxd r11, ecx
add r11, qword [rbp + 0x38]
mov eax, dword [0x140610aa8]
add eax, r10d
lea rdx, [fcn.140175350]
add edx, edx
add edx, 0x2520
mov r14d, edx
not r14d
and r14d, edx
cmp r14d, eax
jne 0x140175d80
mov eax, dword [0x140693d54]
cmp eax, 0x34
jge 0x140175d80
mov eax, dword [0x140693d50]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140175d60
nop dword [rax]
test bl, bl
je 0x140175d50
nop word cs:[rax + rax]
mov eax, dword [0x140693d50]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140175db0
test bl, bl
jne 0x140175d60
jmp 0x140175d3b
mov edx, dword [0x140693d50]
lea eax, [rdx - 1]
imul eax, edx
mov r14d, dword [0x140610aa8]
add r14d, r8d
xor edx, edx
div r14d
test edx, edx
jne 0x140175d80
jmp 0x140175d30
mov rdx, qword [r11]
mov rax, qword [r11 + 8]
mov r11d, dword [0x140693d50]
lea r14d, [r11 - 1]
imul r14d, r11d
test r14b, 1
mov r11d, dword [0x140693d54]
mov r14d, dword [0x140610aa8]
mov r13d, r14d
xor r13d, 0x6544c8ac
and r14d, 0x6544c8ac
lea r14d, [r13 + r14*2]
cmp r11d, r14d
jge 0x140175dca
mov r11d, dword [0x140693d54]
mov r13, rsi
xor r13, rdx
xor r15, rax
mov eax, dword [0x140610aa8]
add ecx, eax
add ecx, 0x6544c86b
nop word cs:[rax + rax]
mov eax, dword [0x140693d54]
cmp eax, 0x2c
jg 0x140175e41
mov eax, dword [0x140693d54]
mov edx, dword [0x140610aa8]
add edx, edi
cmp eax, edx
jl 0x140175c40
mov edx, dword [0x140693d50]
mov r11d, dword [0x140610aa8]
mov eax, edx
sub eax, r11d
add eax, 0x9abb37a4
imul eax, edx
add r11d, 0x6544c85d
xor edx, edx
div r11d
test edx, edx
jne 0x140175e20
jmp 0x140175e2b
mov dword [rsp + 0x28], 0x295fa31a
mov dword [rsp + 0x20], 0x5265fb7c
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, rdi
call fcn.140176280
mov ecx, dword [0x140693d50]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140610aa8]
mov edx, ecx
xor edx, 0x6544c85d
and ecx, 0x6544c85d
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
je 0x140175ede
mov dword [rsp + 0x28], 0x295fa31a
mov dword [rsp + 0x20], 0x5265fb7c
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9, rdi
call fcn.140176280
jmp 0x140175e6d
mov rax, qword [rbp + 0x28]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret