Function at 0x1400833e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
movabs rsi, 0xd674ae2814e52125
movabs rax, 0xbcd2f4651a000000
movabs r14, 0xa718fcf9772c2692
mov rdi, qword [0x14031d070]
imul rdi, rax
movabs rax, 0xdcc0cb3fdf000000
xor rdi, rax
mov r12, rdi
imul r12, r14
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r12
sub rcx, rax
lea r13, [0x14031d060]
mov r8, rdi
and r8, r14
imul r8, qword [r13 + rcx*8]
movabs rax, 0x447e47efefc840
imul r8, rax
shr r8, 3
movabs rax, 0x402135123f5319c5
xor r8, rax
movabs rax, 0xffffff57d4a74ef3
mov rbx, rdi
imul rbx, rax
sub rbx, 0xde12cc0
xor rbx, qword [0x14031d060]
xor rbx, r8
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bdd14f1d2
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x31
shr rbx, 8
movabs r9, 0x58e7030688d3d96e
lea rcx, [rdi + r9]
xor rcx, 0xffffffffe39afadf
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xdf025123e0e24380
mov r11, qword [r13 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x3bd422f34bd19468
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rdi
lea rcx, [r11 + r9]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xc3
and ecx, 0x8000003f
jge 0x140071140
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul r13, r15, 0xfffffffff21ed340
add r9, r13
mov r10, r11
imul r10, rbx
sub r10, r9
xor r10, rsi
mov cl, r9b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rax, 0x5f7868a7b7effa80
imul r15, rax
movabs rax, 0x51537482fc0054bc
add r15, rax
xor r10, r15
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
xor r10, r8
xor r10, rdi
mov rax, r10
movabs rcx, 0xd79435e50d79435f
and eax, 2
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x1400714d3
sub rax, 1
je 0x1400713b0
sub rax, 1
je 0x1400712c3
cmp rax, 1
jne 0x14007157d
mov rsi, r9
imul rsi, r11
movabs rax, 0x6c6dd4c19de3c36a
add rax, r10
xor rsi, rax
ror rsi, 8
shr rsi, 0xc
xor rsi, rdi
not rsi
movabs rcx, 0x83573fe5ffd8
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x5865867efc2d063e
xor rdx, rax
movzx eax, sil
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db96705132b
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xb6dec1c1
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs r14, 0x41ce1075fbcdc721
sub r14, rsi
shr r14, cl
movabs rcx, 0x58ef278ecd2e8a7c
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r12 + rcx*8]
imul rax, r10
sub rax, rbx
xor r14, rax
jmp 0x14007157d
movabs rax, 0xaaaaaa1ab6c73cff
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed74cae0b3
imul rcx, rax
movabs rdx, 0xfff17ca861a50a83
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a90d70e23
imul r13, rax
movabs r11, 0x2efcb1705713cc2d
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be6417eb9f
mov rcx, r11
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
lea rdx, [0x14031d060]
imul r9, qword [rdx + rcx*8]
xor r9, 0xffffffffe392ea2f
lea ecx, [r10 - 3]
and cl, 0x3f
rol r9, cl
movabs rax, 0xffe7dbfb756a1f61
xor r12, rax
movabs rax, 0x7c7a7dc68a95e09e
and r12, rax
imul r9, r12
mov rcx, r9
ror rcx, 7
not rcx
movabs rax, 0x9b2de6b2afeda6e0
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, bl
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x14007157d
movabs rax, 0xc5e0b8a0f718e83c
imul r10, rax
mov rax, rcx
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x58e7030688d3d96d
mov rax, rdi
imul rax, rdx
xor rax, rsi
not rax
shl rax, cl
xor r8, rax
mov cl, r9b
and cl, 0x3f
rol r8, cl
movabs rcx, 0x58e7030688d3d96e
add rcx, r10
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffffcf9772c2692
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7ea034ad2
or r8, rax
mov r14, qword [0x14031d070]
imul r14, rsi
sub r14, r9
mov rax, rbx
sub rax, r8
xor r14, rax
movabs rax, 0xc7a7c6a6bb0b4adf
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, r14
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x7895894745906c5
add rdi, rax
xor rdi, rbx
movzx eax, r11b
imul ecx, eax, 0xfa
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14007157d
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
lea rdx, [0x14031d060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de66fa1b3e
imul rbx, rax
mov rax, r8
imul rax, rdi
mov rdi, rbx
xor rdi, rax
imul rbx, qword [0x14031d060], 0xfffffffff21ed340
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14007156a
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rbx, cl
movabs rax, 0x58e7030688d3d96e
add rbx, rax
add rbx, r13
movabs rax, 0xff055d7b96b111f3
xor rsi, rax
mov rax, r15
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r8, rdi
lea rax, [0x14031d060]
imul r8, qword [rax + rsi*8]
not r9
imul r9, r10
imul r9, rbx
imul r9, r14
movabs rcx, 0xf5ed7e8791025b2f
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.140070e88
mov qword [0x140321f48], rax
mov dword [rbp - 0x41], 0x52705376
mov dword [rbp - 0x3d], 0xb6e4033f
mov dword [rbp - 0x39], 0xac12c563
xor r13d, r13d
mov r15d, r13d
mov r12, qword [0x14031d040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adba99340
div rcx
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r15 - 0x41]
sub dl, dil
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d058]
sub dl, byte [0x14031d050]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, 0x50
add dl, sil
add dl, r12b
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, 0x51
add bl, sil
add bl, dil
add bl, r12b
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, byte [0x14031d038]
xor al, r11b
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, r14b
xor al, byte [0x14031d030]
add bl, al
movsx eax, r11b
movsx ecx, r14b
imul ecx, eax
xor bl, cl
mov byte [rbp + r15 - 0x41], bl
inc r15
cmp r15, 0xc
jb 0x140071600
lea rax, [rbp - 0x41]
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], 0xc
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r13
mov qword [rbp + 0xf], r13
lea rax, [rbp - 0x41]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x140071776
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 9]
call fcn.140027330
nop
mov qword [rbp - 0x41], r13
mov dword [rbp - 0x39], r13d
mov qword [rbp + 0x7f], r13
movabs rax, 0xb372cc338d926fa7
mov qword [rbp + 0x7f], rax
movabs rax, 0xdb07900117b077cd
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0x707459a35f18c5c
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x9829ab45c5fe9f1b
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0xa56e8657a5dc37de
xor rcx, rax
movabs rax, 0x2b02fde724d8f5f2
sub rcx, rax
movabs rax, 0x9bc4c32d92b18308
xor rcx, rax
movabs rax, 0x15ab432ade95a137
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0xec3316b527cf64ee
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ad8309b11
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs r9, 0x1f4a914b9f0cc69c
add r9, rdx
add r9, rcx
movabs rax, 0x162a6ff9f381cdce
xor r9, rax
mov qword [rbp - 0x49], r9
mov qword [rbp + 0x7f], r9
mov qword [rbp + 0x7f], r13
mov dword [rbp + 0x77], r13d
mov dword [rbp + 0x77], 0xca822239
mov eax, 0x2b37936
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x9223662c
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xfc4b1860
add eax, ecx
xor eax, 0x838e4bfe
add eax, 0x2835ba34
xor eax, 0xb952cc59
lea edx, [rcx + 0x5e4366fb]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd79f5da4
sub edx, eax
mov r8d, dword [0x14031d030]
xor r8d, 0x2860a25b
add r8d, 0x3ed56dbd
add r8d, edx
xor r8d, 0x3c68114c
mov dword [rbp + 0x77], r8d
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 0xf
cmova rcx, qword [rbp - 9]
movsxd rax, r8d
mov qword [rax + rcx], r9
mov dword [rbp + 0x77], r13d
mov rbx, qword [rbp + 7]
mov r8, rbx
mov rdi, qword [rbp + 0x6f]
mov rdx, rdi
lea rcx, [rbp - 0x21]
call fcn.14029e080
lea rdx, [rbp - 9]
cmp qword [rbp + 0xf], 0xf
cmova rdx, qword [rbp - 9]
mov r8, rbx
mov rcx, rdi
call fcn.14029e080
mov rcx, qword [rbp + 0x67]
mov rax, qword [rcx]
call rax
mov qword [rbp + 0x67], rax
mov r8, rbx
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.14029e080
mov qword [rbp + 7], r13
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 0xf
cmova rax, qword [rbp - 9]
mov byte [rax], r13b
movabs rsi, 0xa501ac91508c2f14
movabs rbx, 0xbbcaf1764704de4d
mov rdi, r13
movabs rax, 0x22e70028024d7072
movabs r10, 0xecd1ae51974aa831
mov r15, qword [0x14031d070]
imul r15, rax
not r15
movabs rcx, 0x132e51ae6cfc4aad
mov r12, qword [0x14031d060]
mov rax, r12
xor rax, rcx
and r15, rax
ror r15, 0x2e
shr r15, 8
mov r13, qword [0x14031d080]
movabs rax, 0x5fce2240c78973a8
mov r11, r13
imul r11, rax
movabs r8, 0x44350e89b8fb21b3
sub r11, r8
movabs rax, 0x2626266480000000
xor r11, rax
shr r11, 0x1f
not r11
lea rcx, [r11 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
lea rdx, [0x14031d060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 3
and ecx, 0x8000003f
jge 0x140071a4a
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r11
ror rax, cl
not rax
movabs rcx, 0xc1b75b12b7cfbfdc
mov r14, rax
imul r14, rcx
add r8, r14
mov r9, r11
imul r9, r15
sub r9, r8
xor r9, rsi
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
movabs rcx, 0x475ea8e4754d7d2c
imul rax, rcx
movabs rcx, 0x6419c626971a329
sub rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r10
mov rax, r9
and eax, 1
je 0x140071d8e
sub rax, 1
je 0x140071c9a
sub rax, 1
je 0x140071bc8
cmp rax, 1
jne 0x140071e05
mov rsi, r8
imul rsi, r11
movabs rax, 0x3ea7cdc6e97b9aa9
add rax, r9
xor rsi, rax
ror rsi, 0x14
shr rsi, 0xc
not rsi
movabs rcx, 0x835727fc2318
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x44b78bf1d41c2221
xor rdx, rax
movzx eax, r9b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97f1ccfeb
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rbx
mov eax, 0xaec71d01
add rcx, rax
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rbx, 0xa999bec94c9dc432
sub rbx, rsi
shr rbx, cl
movabs rcx, 0x443d3312153e8f81
add rcx, r14
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, r15
xor rbx, rax
jmp 0x140071e05
movabs rcx, 0xaaaaaa1aaedee03f
mov r11, r9
xor r11, rcx
movabs rcx, 0x1206ed6cd33c73
imul r11, rcx
movabs rcx, 0xffff7e8a88ced2e3
imul r14, rcx
movabs rcx, 0xfb3311e7d8360c2a
add r11, rcx
add r11, r14
movabs rax, 0x277cd7be7c0e375f
mov rcx, r11
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
lea rax, [0x14031d060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffffb8b36ef
lea ecx, [r9 - 3]
and cl, 0x3f
rol r8, cl
movabs rax, 0x546a780400000000
imul r8, rax
mov rcx, r8
ror rcx, 0x36
not rcx
movabs rax, 0x9b2de6b2cf8ad5e0
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x140071e05
movabs rax, 0xc08a34a97f2870f1
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x5afe536eaf73d0eb
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
mov cl, r8b
and cl, 0x3f
rol r10, cl
movabs rcx, 0x44350e89b8fb21b3
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff1764704de4d
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f21a9612
or r10, rax
mov rbx, qword [0x14031d070]
imul rbx, rsi
sub rbx, r8
mov rax, r15
sub rax, r10
xor rbx, rax
movabs rax, 0xc7a7c6a6a312961f
xor rbx, rax
mov rax, r9
imul rax, r8
imul rax, rbx
mov rdi, r11
sub rdi, rax
movabs rax, 0x78958946c40da05
add rdi, rax
xor rdi, r15
movzx eax, r11b
imul ecx, eax, 0xfa
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x140071e05
mov rcx, r9
imul rcx, r13
and rcx, qword [0x14031d088]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x31
imul r10, r8
mov rdi, r15
not rdi
imul rdi, r11
movabs rax, 0x7cd8a7de7ee3c7fe
imul rdi, rax
imul r15, r12, 0xfffffffffbb6e29c
mov rdx, qword [0x14031d068]
sub r15, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140071df2
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
movabs rax, 0x44350e89b8fb21b3
add r15, rax
add r15, r14
movabs rcx, 0xff055d7b8ea8cd33
xor rsi, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r10, rdi
lea rax, [0x14031d060]
imul r10, qword [rax + rsi*8]
not r8
imul r8, r9
imul r8, r15
imul r8, rbx
movabs rcx, 0xf5ed7e87891b87ef
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r10
call fcn.140070d44
mov qword [0x140321f70], rax
mov rax, qword [rbp + 0x67]
cmp rax, qword [rbp - 0x49]
sete bl
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x140071eaf
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140071eaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140071ed6
call fcn.140277b18
and qword [rbp + 7], 0
mov qword [rbp + 0xf], 0xf
mov byte [rbp - 9], 0
mov al, bl
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14027ed28
int3
mov rdx, qword [rdx]
add rcx, 8
jmp 0x140070fa8