Function at 0x14016b190
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xf8
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14016c2bc
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0x40], rax
mov rax, qword [0x14027ace0]
cmp byte [rax], 0
jne 0x14016b274
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402090d8]
mov qword [rcx], rax
lea rax, [0x140208728]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402087f8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140208800]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140208728]
lea r8, str.OeuQ0P__
lea r9, [0x140208743]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffff75ed668
call fcn.14001302b
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x20], rax
jmp 0x14016be2b
mov eax, dword [0x1401fcde8]
xor edx, edx
div dword [0x1401fcdec]
mov r11d, eax
mov eax, 0x5cade567
xor eax, 0xa3521a98
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x45ffd60c
mov r8d, 0xffffffff
xor r8d, 0x74ca8639
mov eax, ecx
and eax, 0x74ca8639
and r11d, r8d
mov r9d, edx
and r9d, 0x74ca8639
mov r10d, r8d
and r10d, 0x45ffd60c
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x3b3e788e
xor edx, 0xc4c18771
xor ecx, edx
mov edx, 0x644d88da
xor edx, 0x10870ee3
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5a9666ce
add eax, ecx
mov ecx, 0x2f03a885
xor ecx, 0x2f03a884
add eax, ecx
or eax, 0xa7275bb1
cmp eax, 0xd55c641f
jbe 0x14016be65
mov eax, dword [0x1401fcdf0]
mov r8d, dword [0x1401fcdf4]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xec909b8c
xor ecx, 0x4182de3b
xor edx, edx
div ecx
or eax, eax
mov ecx, 0x6a9c8499
xor ecx, 0x95637b66
xor eax, ecx
mov ecx, 0xe4043c3e
xor ecx, 0x8e661b70
mov edx, 0xb23fca86
xor edx, 0x4dc03579
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x6a62274e
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x53d96af4
xor edx, 0xac26950b
xor ecx, edx
and eax, ecx
xor eax, 0xcbd6f2bf
mov dword [rbp + 0xc], eax
mov eax, 0x20ecf1fb
xor eax, 0x967803a3
mov dword [rbp + 8], eax
mov rax, qword [0x140208818]
mov qword [rbp + 0x68], rax
mov rax, qword [0x140208820]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140031750
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp + 8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x1f], dl
cmp eax, ecx
jb 0x14016be65
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp + 0x1f]
test cl, 1
mov qword [rbp + 0x20], rax
jne 0x14016b40a
jmp 0x14016be2b
movabs rcx, 0x23a68999495f2cef
movabs rax, 0x23a68999495f2ce7
xor rcx, rax
movabs rdx, 0x60a95c22a5ba020c
movabs rax, 0x60a95c22a5ba0208
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, rax
mov qword [rbp - 0x10], rdx
mov eax, 0x52e4b1d9
xor eax, 0x52e4b1db
mov dword [rdx + 4], eax
sub rsp, 0x20
call fcn.1400684c0
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x14016b62b
mov rax, qword [rbp - 8]
movabs rcx, 0xc10b6e6bc7c58608
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0xc10b6e6bc7c58608
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14016b4e4
mov rcx, qword [rbp - 8]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x14016b62b
mov rax, qword [rbp - 8]
cmp rax, 1
jge 0x14016b534
mov rcx, qword [rbp - 8]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
movabs rdx, 0x5237bb3eab88b41e
movabs rcx, 0x5237bb3eab88b41e
xor rdx, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x14016b62b
mov rcx, qword [rbp + 0x10]
mov r11, qword [rbp]
mov rax, qword [rbp - 8]
mov esi, eax
add r11, 8
mov rax, qword [0x140209350]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x140209350]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140093330
mov rax, qword [rbp + 0x40]
add rsp, 0x50
cmp byte [rax], 0
jne 0x14016b62b
mov rcx, qword [rbp + 0x10]
mov rax, qword [0x140209350]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x140209350]
mov rax, qword [rax]
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
sub rsp, 0x50
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140093330
add rsp, 0x50
mov eax, dword [0x1401fcdf8]
mov ecx, dword [0x1401fcdfc]
xor ecx, 0xeaeb0983
imul eax, ecx
mov edx, 0x4c9b0a8e
xor edx, 0xb364f571
mov ecx, eax
xor ecx, edx
mov edx, 0xec3e0e8e
xor edx, 0x5483c5a7
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xb8bdcb29
and eax, edx
sub eax, ecx
sub eax, 0x8d662572
xor eax, 0x6a1a7d34
mov ecx, 0x39db2366
xor ecx, 0xd2486038
cmp eax, ecx
je 0x14016be6e
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x1401fce00]
imul edx, dword [0x1401fce04]
mov eax, edx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and eax, 0x7d9d4d4e
mov r8d, 0xfb344cce
xor r8d, 0x4cbb331
xor eax, r8d
mov r8d, 0xb7942fce
xor r8d, 0xca096280
mov r9d, 0x2df734d
xor r9d, 0xfd208cb2
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0x7d9d4d4e
or r8d, r9d
mov r9d, 0x83481038
xor r9d, 0x7cb7efc7
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x2b007aea
xor r8d, 0xd4ff8515
xor edx, r8d
or eax, edx
and eax, 0xa83e213
mov r8d, eax
xor r8d, 0x48c2cfcd
xor r8d, 0xffffffff
mov edx, 0x459f66b6
xor edx, 0xd5da97b
and edx, r8d
shl edx, 1
sub edx, 0x48c2cfcd
sub eax, edx
mov dword [rbp - 0x18], eax
mov eax, 0xc14290ad
xor eax, 0xa3b4789c
mov dword [rbp - 0x1c], eax
sub rsp, 0x20
call fcn.140081ff1
mov rdx, qword [rbp]
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp rdx, 0
sete dl
mov byte [rbp - 0x11], dl
cmp eax, ecx
ja 0x14016b688
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14016b7b7
jmp 0x14016b78b
mov rcx, qword [rbp]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14016b7b7
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov eax, dword [0x1401fce08]
xor edx, edx
div dword [0x1401fce0c]
add eax, 0xbd0f6b26
sub eax, 0xf64dec88
mov ecx, 0xcec6a841
xor ecx, 0x73c9c367
sub eax, ecx
mov ecx, 0xb61a857a
xor ecx, 0x7f535ba2
xor edx, edx
div ecx
imul eax, eax, 0x936d6fa3
cmp eax, 0x8cd539c9
jae 0x14016be77
mov rcx, qword [rbp + 0x40]
mov edx, dword [0x1401fce10]
mov eax, dword [0x1401fce14]
xor eax, 0xf2c19a6c
sub edx, eax
mov eax, 0x8a7f3c69
xor eax, 0x6bf41315
add edx, eax
sub edx, 0x8ea86fde
sub edx, 0xe18b2f7c
mov r8d, 0x2b790841
xor r8d, 0x394d7c3f
mov eax, 0xd3a600a6
xor eax, 0x2c59ff59
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
xor eax, 0x55c4abba
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x1d], cl
cmp eax, 0xcfd6cfa
jbe 0x14016b7fc
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x1d]
test cl, 1
mov qword [rbp + 0x20], rax
jne 0x14016b87e
jmp 0x14016be2b
mov rax, qword [0x14027ace0]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x28], rcx
cmp qword [rax + 8], 0
je 0x14016b956
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14016c2d0
add rsp, 0x20
mov rax, qword [0x14027ace0]
mov qword [rbp - 0x38], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 1
jge 0x14016b907
mov rdx, qword [rbp - 0x30]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
movabs rcx, 0x36467cc6302a156e
movabs rax, 0x36467cc6302a156e
xor rcx, rax
sub rsp, 0x20
call fcn.140013c92
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x20], rax
jmp 0x14016be2b
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0xc9feca6f1d353cbd
movabs rax, 0xd0d76421b50f3fd9
xor r8, rax
sub rsp, 0x20
call fcn.140091da0
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x76
xor dl, 0x76
cmp cl, dl
mov qword [rbp + 0x20], rax
jne 0x14016be2b
mov eax, dword [0x1401fce18]
mov r8d, dword [0x1401fce1c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x5d25c820
xor ecx, 0xa2da37df
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x8854a6a4
mov ecx, 0x5952d3b4
xor ecx, 0x4cdee538
mov edx, 0xde8f95c2
xor edx, 0x21706a3d
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xe2c3d106
xor ecx, 0x69e49992
xor edx, edx
div ecx
cmp eax, 0xc0fc2cd6
je 0x14016be80
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x10]
mov ecx, dword [0x1401fce20]
mov r10d, dword [0x1401fce24]
xor r10d, 0x2ec948b0
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, ecx
and r9d, r11d
mov r8d, ecx
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, ecx
and r9d, r10d
or ecx, r10d
imul ecx, r9d
add ecx, r8d
mov r8d, ecx
and r8d, 0x307a3ea4
mov r9d, 0x718fb5f6
xor r9d, 0x8e704a09
xor r8d, r9d
mov r9d, 0x73bbfa79
xor r9d, 0x43c1c4dd
add ecx, r9d
mov r9d, 0x2a642a0b
xor r9d, 0x2a642a0a
add ecx, r9d
add ecx, r8d
mov r8d, 0xcf8cf54d
xor r8d, 0xbd727959
add ecx, r8d
and ecx, 0x465436a8
mov dword [rbp - 0x40], ecx
mov rcx, qword [rax + 0x58]
mov qword [rdx], rcx
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.14001c672
add rsp, 0x20
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14013a170
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov dl, byte [rax]
mov byte [rbp - 0x3b], dl
mov dl, 0x14
xor dl, 0x14
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400fe840
mov rcx, qword [rbp + 0x40]
mov al, byte [rbp - 0x3b]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x3a], dl
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
je 0x14016baeb
mov al, byte [rbp - 0x3a]
mov byte [rbp - 0x39], al
mov eax, dword [rbp - 0x40]
mov rcx, qword [rbp + 0x40]
mov dl, byte [rbp - 0x39]
mov byte [rbp - 0x51], dl
mov byte [rcx], 0
mov rcx, qword [0x14027ace0]
mov rdx, rcx
add rdx, 8
mov qword [rbp - 0x50], rdx
cmp qword [rcx + 8], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x6bf44fe9
ja 0x14016be80
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14016be1a
jmp 0x14016bb33
mov eax, dword [0x1401fce28]
xor eax, dword [0x1401fce2c]
mov ecx, 0xdc315373
xor ecx, 0x6c93b968
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xb0a2ea1b
mov ecx, 0xb1997c64
xor ecx, 0xb1997c66
imul ecx, edx
mov edx, 0xec876f37
xor edx, 0x5c25852c
sub ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x3696f2ef
shl ecx, 1
xor eax, 0x3696f2ef
add eax, ecx
add eax, 0x7fb5ac7b
mov ecx, 0x7c767f4
xor ecx, 0xd5cab43b
cmp eax, ecx
je 0x14016be89
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401fce30]
imul eax, dword [0x1401fce34]
mov r8d, 0x47907371
xor edx, edx
div r8d
xor eax, 0x3530a88
mov r8d, 0xffffffff
xor r8d, 0xe2231fed
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0xe2231fed
add eax, r8d
sub eax, edx
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.14016c2d0
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
mov rcx, qword [0x14027ace0]
mov qword [rbp - 0x68], rcx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x60], rcx
cmp rcx, 1
setl cl
mov byte [rbp - 0x52], cl
cmp eax, 0x12d12b4b
jb 0x14016bb9e
mov al, byte [rbp - 0x52]
test al, 1
jne 0x14016bc2b
jmp 0x14016bdde
mov r11d, dword [0x1401fce38]
mov r10d, dword [0x1401fce3c]
mov eax, r11d
xor eax, 0xffffffff
mov ecx, 0xf3730b03
xor ecx, 0xc8cf4fc
mov edx, r10d
xor edx, ecx
mov r8d, 0x2c0126bd
xor r8d, 0xe2919ed3
mov ecx, 0x1c1cd3bb
xor ecx, 0xe3e32c44
xor r8d, ecx
mov ecx, eax
and ecx, 0xce90b86e
and r11d, r8d
mov r9d, edx
and r9d, 0xce90b86e
and r10d, r8d
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x3332527e
xor edx, 0xfda2ea10
or edx, r8d
and eax, edx
or ecx, eax
add ecx, 0xfe1f93d8
mov eax, ecx
and eax, 0x6555354c
or ecx, 0x6555354c
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd1fd143b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd1fd143b
mov r8d, 0x4ea7f1cf
xor r8d, 0x9f5ae5f4
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x8da85856
je 0x14016be92
mov rdx, qword [rbp - 0x60]
mov eax, dword [0x1401fce40]
mov r8d, dword [0x1401fce44]
xor r8d, 0x42ebc376
mov r9d, eax
xor r9d, r8d
xor r9d, 0xffffffff
mov ecx, r8d
and ecx, r9d
shl ecx, 1
sub ecx, r8d
sub eax, ecx
mov ecx, 0x4f522d0a
xor ecx, 0x1a5cfe82
add eax, ecx
or eax, 0xa88f2c62
mov ecx, 0xffffffff
xor ecx, 0x8d40f92f
add eax, ecx
add eax, 1
mov dword [rbp - 0x70], eax
mov eax, 0xe5daec7a
xor eax, 0x513bc39
mov dword [rbp - 0x74], eax
movabs rax, 0x5ccd2d6e35c1f22b
movabs rcx, 0x4c0cf2312c157e50
xor rax, rcx
add rdx, rax
movabs rax, 0xd2586074c914bbd5
movabs rcx, 0x2da79f8b36eb442a
xor rax, rcx
add rdx, rax
movabs rax, 0x10c1df5f19d48c7b
sub rdx, rax
movabs rcx, 0xf4f9e49d86cd7434
movabs rax, 0xf4f9e49d86cd7434
xor rcx, rax
sub rsp, 0x20
call fcn.140013c92
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
cmp eax, ecx
ja 0x14016bcfc
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x14016be2b
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x1929399e98309364
sub rsp, 0x20
call fcn.140091da0
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x20], rax
jne 0x14016be2b
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x40]
mov dl, byte [rbp - 0x51]
mov byte [rcx], dl
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x20]
mov dl, byte [rax]
mov byte [rbp - 0x75], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14002fba0
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14016be5e
add byte [rax], al
mov rax, qword [rbp + 0x40]
mov cl, byte [rbp - 0x75]
mov byte [rax], cl
lea rsp, [rbp + 0x78]
pop rsi
pop rbp
ret
shr dword [rdi], 1
push rbp
jrcxz 0x14016be53
mov al, 0xf4
invalid
jrcxz 0x14016bee9
mov ebp, 0xf811e9c6
invalid
xchg ecx, eax
imul ecx, dword [rbx + rdi*4 - 0x68317], 0xeaca68ff
mov ecx, 0xfffb46e9
invalid
push 0xffffffffe9b9eaca
sti
invalid
jmp qword [rdi]
mov dh, 0x27
mov ebx, 0xfe61e9b7
invalid
add dword [rax], eax
add byte [rax - 0x75], cl
and al, 0x40