Function at 0x14016ac00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov ecx, dword [0x1402b14e8]
mov edx, dword [0x1402b14ec]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xea17fe3c
xor r9d, 0x15e801c3
mov r8d, edx
xor r8d, r9d
or eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x2113ac04
xor edx, 0xdeec53fb
xor eax, edx
mov edx, 0x5ccfe6be
xor edx, 0xa3301941
xor ecx, edx
or eax, ecx
imul eax, eax, 0x84265ad7
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xf254e50c
mov edx, 0xffffffff
xor edx, 0x8c84616f
or eax, ecx
mov ecx, 0x980a3c6d
xor ecx, 0x148e5d02
or ecx, edx
mov edx, 0x3bafa9d8
xor edx, 0xc4505627
xor eax, edx
and eax, ecx
mov ecx, eax
and ecx, 0xf806826c
mov edx, 0xa9e2d459
xor edx, 0xa9e2d45b
imul ecx, edx
xor eax, 0xf806826c
add eax, ecx
cmp eax, 0x5c290abb
jbe 0x14016b557
mov eax, dword [0x1402b14f0]
mov ecx, dword [0x1402b14f4]
xor ecx, 0xd888ca3
add eax, ecx
and eax, 0xad2a927f
add eax, 0x110f6a6
mov ecx, eax
and ecx, 0xc03c15f
add ecx, ecx
sub eax, ecx
add eax, 0x5cc7c15f
mov dword [rbp - 0xc], eax
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0xc]
mov qword [rbp - 8], rdx
cmp rcx, 0
sete cl
mov byte [rbp + 7], cl
cmp eax, 0x38563b42
jb 0x14016b557
mov al, byte [rbp + 7]
test al, 1
jne 0x14016ad58
jmp 0x14016b4b2
mov rcx, qword [rbp - 0x18]
mov word [rcx], 0x2c4
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x20], rcx
cmp byte [rax + 0x60], 0
jne 0x14016b3e0
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 8]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp - 0x30], rax
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x28], rcx
cmp rax, 0
jle 0x14016b3e0
mov rcx, qword [rbp - 0x30]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x38], rax
movabs rdx, 0xf2c04db284211a74
movabs r8, 0xd3fb24d7bdee58b
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x459556af41c487d6
movabs rdx, 0x459556af41c487d6
xor rcx, rdx
cmp rax, rcx
jge 0x14016af1b
mov eax, dword [0x1402b14f8]
mov ecx, dword [0x1402b14fc]
mov edx, eax
xor edx, 0xffffffff
mov r8d, ecx
and r8d, edx
xor ecx, 0xffffffff
and eax, ecx
or r8d, eax
mov eax, 0x7bde60a
xor eax, 0x27445744
and eax, r8d
xor eax, 0xffffffff
mov ecx, 0xaeb02f89
xor ecx, 0x8e499ec7
add r8d, ecx
add r8d, 1
add r8d, eax
xor r8d, 0x65fee1b5
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xd85a3a88
mov r9d, 0x510f8d54
xor r9d, 0x8955b7dc
mov ecx, 0xafc7a969
xor ecx, 0x50385696
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xc88885d6
and ecx, 0xd85a3a88
mov edx, 0x9ff1652a
xor edx, 0x5779e0fc
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd807d916
xor ecx, 0x4ccf8686
cmp eax, ecx
je 0x14016b560
mov ecx, dword [0x1402b1500]
mov eax, 0x3bd08fc8
xor eax, 0x1efce5e0
xor ecx, eax
xor ecx, dword [0x1402b1504]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9402471a
mov edx, 0xffffffff
xor edx, 0x9402471a
and ecx, edx
or eax, ecx
mov ecx, 0xe2558e25
xor edx, edx
div ecx
mov ecx, 0x3500f2ef
xor ecx, 0x880e4577
add eax, ecx
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0x82580816
je 0x14016aeb1
jmp 0x14016b3e0
mov rax, qword [rbp - 0x38]
cmp rax, 0
jge 0x14016af4d
mov rcx, qword [rbp - 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x14016b3e0
mov eax, dword [0x1402b1508]
mov ecx, dword [0x1402b150c]
mov r8d, eax
and r8d, ecx
xor r8d, 0xffffffff
mov edx, 0xcf2c764
xor edx, 0xf30d389b
xor eax, edx
mov edx, 0xd346aaab
xor edx, 0x2cb95554
xor ecx, edx
or eax, ecx
and r8d, eax
xor r8d, 0xffffffff
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x99f89f09
mov edx, 0xffffffff
xor edx, 0x99f89f09
and r8d, edx
mov ecx, 0x71c186c2
xor ecx, 0xb1065ba3
mov r9d, 0x3cd2736b
xor r9d, 0xc32d8c94
xor ecx, r9d
mov r9d, 0x6d39e6b7
xor r9d, 0xf4c179be
and ecx, r9d
and edx, 0xc0c7dd61
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x1185085f
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0xf8173dbc
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf8173dbc
add eax, edx
sub eax, ecx
cmp eax, 0xc1a6f157
jbe 0x14016b569
mov r9, qword [rbp + 8]
mov eax, dword [0x1402b1510]
sub eax, dword [0x1402b1514]
mov ecx, 0xfd6e7116
xor ecx, 0x34c45f48
add eax, ecx
sub eax, 0x6b48508d
sub eax, 0xc9aa2e5e
mov ecx, 0x983a1f72
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x28]
add eax, 0xa0068bd3
add eax, 0x4043f1d8
sub eax, 0xa0068bd3
mov ecx, 0xc289d992
xor ecx, 0x76f1925d
mov r8, qword [r9 + 8]
add r8, 8
add r8, qword [r9]
mov qword [rbp - 0x50], r8
add rdx, 8
mov qword [rbp - 0x48], rdx
cmp eax, ecx
jae 0x14016b006
xor eax, eax
mov qword [rbp - 0x58], rax
jmp 0x14016b07e
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], rax
mov eax, dword [0x1402b1518]
mov ecx, 0xc9251447
xor ecx, 0x3a1bcfa9
xor eax, ecx
mov ecx, dword [0x1402b151c]
xor ecx, 0x1d9b7d58
sub eax, ecx
mov ecx, 0x358a231d
xor ecx, 0x3b7f8209
sub eax, ecx
imul eax, eax, 0xda06f16
or eax, 0xdedd8cda
cmp eax, 0x6e83f3bd
jb 0x14016b572
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x50]
mov r10, qword [rbp - 0x48]
mov eax, dword [0x1402b1520]
mov r11d, dword [0x1402b1524]
mov ecx, eax
and ecx, r11d
shl ecx, 1
add eax, r11d
sub eax, ecx
mov r11d, 0xbcaea950
xor r11d, 0x435156af
mov ecx, eax
xor ecx, r11d
and ecx, 0x5aa1d15e
mov r11d, 0xaf34453f
xor r11d, 0xf5959461
mov esi, 0x5f1a3bd6
xor esi, 0xa0e5c429
xor r11d, esi
and eax, r11d
sub eax, ecx
mov ecx, eax
xor ecx, 0x5d8b0770
xor ecx, 0xffffffff
or eax, 0x5d8b0770
and eax, ecx
xor eax, 0xffffffff
mov r11d, 0xffffffff
xor r11d, 0x4ddd02c7
mov ecx, 0x9baaae
xor ecx, 0x3b11a2a1
mov esi, 0x2073f818
xor esi, 0xdf8c07e7
xor ecx, esi
or eax, r11d
or ecx, 0x3b8a080f
mov r11d, 0x9d5430ba
xor r11d, 0x62abcf45
xor eax, r11d
and eax, ecx
mov ecx, 0x7db96a36
xor ecx, 0xe5564956
mov r10b, byte [r10 + rdx]
mov byte [r9 + rdx], r10b
movabs r10, 0xd73052ae2529b61e
movabs r9, 0xd73052ae2529b61e
xor r10, r9
sub r10, rdx
xor r9d, r9d
sub r9, 1
add r10, r9
xor r9d, r9d
sub r9, r10
mov qword [rbp - 0x70], r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
ja 0x14016b572
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x61]
test cl, 1
mov qword [rbp - 0x58], rax
jne 0x14016b1ec
jmp 0x14016b07e
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 8]
mov r9, qword [rcx]
movabs rcx, 0x8d391b0da98bdbf0
mov rdx, r9
add rdx, rcx
add rdx, rax
movabs rcx, 0x8d391b0da98bdbf0
sub rdx, rcx
mov qword [rbp - 0x78], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
and rcx, r9
xor rcx, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
movabs r10, 0x4e61d77846467d3f
movabs r8, 0xb19e2887b9b982c0
xor r10, r8
mov r8, rdx
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r8, 0xe04839aa9b43d0fe
movabs r9, 0x1fb7c65564bc2f01
xor r8, r9
xor rcx, r8
and rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x3a4971c8d392e36c
movabs r8, 0xc5b68e372c6d1c93
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14016b2d7
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14016b3e0
mov eax, dword [0x1402b1528]
mov edx, dword [0x1402b152c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
mov eax, 0xc2d4cd78
xor eax, 0xc2d4cd78
sub eax, ecx
mov ecx, eax
and ecx, 0xa3d07074
mov edx, 0xf20fa97a
xor edx, 0xf20fa978
imul ecx, edx
mov edx, 0xbf5c94af
xor edx, 0x1c8ce4db
xor eax, edx
add eax, ecx
imul eax, eax, 0x5e3add83
mov ecx, 0x3744b66d
xor ecx, 0xcc611aa3
add eax, ecx
add eax, 0xbfbf5a7a
sub eax, 0xfb25acce
cmp eax, 0xf6de0706
ja 0x14016b57b
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x78]
mov eax, dword [0x1402b1530]
xor eax, 0x5d57056f
mov r8d, dword [0x1402b1534]
mov r9d, 0x402c5862
xor r9d, 0xd8eddedf
xor r8d, r9d
or eax, r8d
mov r8d, 0x165c60fe
xor r8d, 0xe51de5d2
imul eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0x706b34a6
xor r9d, 0x372d9590
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x4746a136
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x4746a136
or eax, 0x4746a136
imul eax, r9d
add eax, r8d
and eax, 0x334f2d78
mov qword [rcx], rdx
cmp eax, 0xb31bcb76
je 0x14016b57b
jmp 0x14016b3e0
mov eax, dword [0x1402b1538]
mov ecx, 0x72ddbd93
xor ecx, 0x3336f312
xor eax, ecx
and eax, dword [0x1402b153c]
imul ecx, eax, 0xc02c1d47
mov edx, 0x42735082
xor edx, 0xbd8caf7d
mov eax, ecx
xor eax, edx
mov edx, 0x154e1184
xor edx, 0xeab1ee7b
xor ecx, edx
and eax, ecx
mov ecx, 0x388a0216
or ecx, 0x388a0216
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
and eax, 0xd2437c2f
cmp eax, 0x8fbe1a06
jae 0x14016b584
mov ecx, dword [0x1402b1540]
xor ecx, 0x5db27c4b
mov eax, dword [0x1402b1544]
mov edx, 0x771716bf
xor edx, 0x16038270
xor eax, edx
sub ecx, 0x83370b44
sub ecx, eax
mov eax, 0xfd926bf
xor eax, 0x8cee2dfb
add ecx, eax
add ecx, 0xe836c27d
sub ecx, 0x2da5d77e
sub ecx, 0xe836c27d
or ecx, 0xaa746524
mov edx, 0xbe5e6482
xor edx, 0xb3f0fb43
mov eax, ecx
and eax, edx
xor ecx, 0xdae9fc1
or eax, ecx
cmp eax, 0x682db40f
jb 0x14016b440
jmp 0x14016b4c7
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.140168e30
add rsp, 0x20
mov eax, dword [str._u_WH]
xor eax, 0x76a7a16c
mov ecx, dword [0x1402b154c]
sub eax, 0x20c00fa3
sub eax, ecx
add eax, 0x20c00fa3
mov ecx, 0x94dcdb5d
xor edx, edx
div ecx
sub eax, 0x6e18360c
xor ecx, ecx
sub ecx, 0xf95afc67
add eax, ecx
cmp eax, 0xf94fc4ce
jae 0x14016b58d
mov eax, dword [0x1402b1550]
mov ecx, dword [0x1402b1554]
mov edx, 0x94bd5f74
xor edx, 0x7abc3b77
xor ecx, edx
sub eax, ecx
mov ecx, 0x98a897b3
xor ecx, 0x1db38ac7
xor edx, edx
div ecx
xor eax, 0x479ea874
mov ecx, 0xc04678a4
xor ecx, 0x32203ef
xor edx, edx
div ecx
cmp eax, 0xb1399471
ja 0x14016b58d
lea rsp, [rbp + 0x18]
pop rsi
pop rbp
ret
adc ebp, ecx
imul esi, edi, 0xddbfffff
scasb al, byte [rdi]
pushfq
jmp 0x14016aeb1
mov edi, 0xe99caedd
stc
invalid
movabs byte [0xfffffa94e96263a7], al
je 0x14016b522
xchg esp, eax
push rbp
jmp 0x14016b0ca
cmp ah, ah
add al, 0x26
jmp 0x14016b346
movabs rsi, 0x81fffffeb3e991fd
adc byte [rbx + 0x30], ah
jmp 0x14016b507
adc dword [rax], 0x71e93063
invalid