Function at 0x14002bae0
Capabilities:
Encode data using xor
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rcx
mov rax, rcx
add rax, 8
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
movabs rdx, 0x564802a0cec81680
movabs rax, 0x564802a0cec81681
xor rdx, rax
movabs rax, 0xc9dc212b04c6bc11
movabs r8, 0x3623ded4fb3943ee
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r9, 0x375f1760ce9180f0
movabs r8, 0xc8a0e89f316e7f0f
xor r9, r8
mov r8, rcx
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x628602df604379bc
movabs r10, 0x9d79fd209fbc8643
xor r9, r10
movabs r10, 0x251d514321dc989d
movabs r11, 0xdae2aebcde236762
xor r10, r11
xor r9, r10
or r8, r9
and rcx, r8
movabs r8, 0x128c6911cb71916a
movabs r9, 0xed7396ee348e6e95
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14002bc11
call fcn.14000f24b
jmp 0x14002bf88
mov rdx, qword [rsp + 0x80]
mov rax, rdx
add rax, 9
mov qword [rsp + 0x60], rax
mov rcx, 0xfffffffffffffffe
sub rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rdx, 0x82312bcaab332033
movabs r8, 0x6385e7641639146c
xor rdx, r8
movabs r8, 0xf495bafbaab05ae9
movabs r9, 0xb6a4504554fa516
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xddeca0bea463546
movabs r8, 0xec6a06a5574c0119
xor rcx, r8
or rcx, rdx
movabs rdx, 0x3f3b4e9f0ab7af
movabs r8, 0xffc0c4b160f54850
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14002bcb6
call fcn.14000f24b
jmp 0x14002bf88
mov eax, dword [0x140273548]
mov r8d, dword [0x14027354c]
mov ecx, 0xb35f0049
xor ecx, 0xe934b3c7
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x9903484a
xor edx, edx
div ecx
mov ecx, 0x7a5e48de
xor ecx, 0xb60c52ea
add eax, ecx
add eax, 0xe6c4e763
sub eax, 0xcc521a34
and eax, 0x74bcb91f
cmp eax, 0x1ef7d9b9
je 0x14002bf90
mov eax, dword [0x140273550]
mov ecx, dword [0x140273554]
xor ecx, 0x730eca46
add eax, ecx
and eax, 0x3c14c350
mov ecx, 0xf4131b3c
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
mov ecx, 0x3db2fb2d
xor ecx, 0x15229c11
imul eax, ecx
mov ecx, 0x13451bae
xor ecx, 0xb5eccc48
cmp rdx, 0
setl dl
mov byte [rsp + 0x5f], dl
cmp eax, ecx
jae 0x14002bd25
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x14002bd89
jmp 0x14002bd99
mov rcx, r8
mov rdx, r8
call fcn.14001a720
jmp 0x14002bf88
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
add rcx, 0x68
call fcn.140014f80
mov rdx, qword [rsp + 0x70]
mov rcx, rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x40], rcx
mov qword [rdx], rcx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rdx, qword [rax]
mov qword [rsp + 0x48], rdx
xor eax, eax
mov ecx, eax
sub rcx, 1
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x50], rax
movabs rcx, 0xd520595191c55744
movabs r8, 0x2adfa6ae6e3aa8bb
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14002be2a
call fcn.14000f24b
jmp 0x14002bf88
mov rax, qword [rsp + 0x50]
cmp rax, 0
jge 0x14002bf00
mov eax, dword [0x140273558]
mov ecx, dword [str.qY]
add eax, 0x49569947
sub eax, ecx
sub eax, 0x49569947
add eax, 0x44759505
sub eax, 0x1e8d929
sub eax, 0x44759505
mov ecx, 0x4bcc98b7
xor ecx, 0x64cd5f93
and eax, ecx
mov ecx, 0xa5961c8d
xor ecx, 0x402dfc23
imul eax, ecx
cmp eax, 0x5021efff
je 0x14002bf99
mov eax, dword [0x140273560]
xor eax, 0x5823035c
mov r8d, dword [0x140273564]
xor r8d, 0x732def73
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x708cd2bf
xor ecx, 0x315c48f7
xor eax, ecx
sub eax, 0xf8adf4e9
imul eax, eax, 0xe68a1d69
mov dword [rsp + 0x3c], eax
mov rcx, r8
mov rdx, r8
call fcn.14001a720
mov eax, dword [rsp + 0x3c]
cmp eax, 0x35b3722a
jae 0x14002bf99
jmp 0x14002bf88
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x40]
add rdx, 8
mov qword [rsp + 0x20], rdx
add rax, 8
mov qword [rsp + 0x28], rax
movabs rdx, 0xb69503647fc473c7
movabs rax, 0xb69503647fc473c7
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x30], rax
je 0x14002bf88
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, rcx
xor eax, eax
sub rax, 1
add r8, rax
xor eax, eax
sub rax, r8
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jne 0x14002bf48
add rsp, 0x88
ret
xor dword [rdi], 0x26
xor ebp, ecx
invalid
invalid