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

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
movabs rcx, 0x52dc6719182c1322
movabs rdx, 0x52dc6719182c1322
xor rcx, rdx
cmp rax, rcx
jle 0x14002ff79
mov eax, dword [0x1402a9418]
mov ecx, 0xcc463c9e
xor ecx, 0xcee42778
xor eax, ecx
mov ecx, dword [0x1402a941c]
xor ecx, 0xa52d3059
imul eax, ecx
mov ecx, 0x811e4a61
xor ecx, 0x5f037302
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x183634a4
mov edx, 0xffffffff
xor edx, 0x183634a4
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xc7884d01
xor edx, 0x3d723ea3
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xfafa73a2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfafa73a2
or eax, 0xfafa73a2
imul eax, edx
add eax, ecx
cmp eax, 0x5a416094
jbe 0x1400300aa
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1402a9420]
or eax, dword [0x1402a9424]
mov r8d, 0xf716d2f5
xor edx, edx
div r8d
mov edx, 0x92886f33
xor edx, 0x92886f33
mov r8d, 0xa1a6feff
xor r8d, 0x9fd45720
sub edx, r8d
sub eax, edx
sub eax, 0xb789b9d5
add rcx, 8
mov qword [rsp + 0x70], rcx
cmp eax, 0xb69b5259
ja 0x14002fd06
mov rcx, qword [rsp + 0x80]
xor eax, eax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
jmp 0x14002fd71
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rax
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 4
add rcx, rdx
add rcx, 8
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rcx, 0
mov qword [rsp + 0x58], rax
je 0x14002fe50
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx]
movabs r8, 0x4000000000000000
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x552c296c5cfe5a4b
movabs r9, 0x152c296c5cfe5a4b
xor r8, r9
movabs r9, 0x5bab8db31fd3d6d4
movabs r10, 0xa454724ce02c292b
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x58], rax
jne 0x14002fe50
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x50]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402a9428]
xor ecx, 0xb5db16de
and ecx, dword [0x1402a942c]
mov eax, ecx
and eax, 0x402b4b9
mov edx, 0xcc2f77b2
xor edx, 0xc82dc30b
xor ecx, edx
or eax, ecx
or eax, 0xcaaf615
mov ecx, 0xc6415962
xor ecx, 0xa38b728b
add eax, ecx
sub eax, 0xe9a01779
sub eax, 0x65ca2be9
cmp eax, 0x3104e543
jae 0x1400300b3
mov rcx, qword [rsp + 0x40]
mov edx, dword [0x1402a9430]
mov r8d, dword [0x1402a9434]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
xor eax, 0xffffffff
mov r10d, 0x40875fbc
xor r10d, 0xbf78a043
xor r9d, r10d
and eax, r9d
mov r9d, 0x94c8dc97
xor r9d, 0x6b372368
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xdb6c604b
xor edx, 0xb7c4f570
imul eax, edx
mov r8d, 0x71b24464
xor r8d, 0x3d58a3ed
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x38]
add eax, 0x7fc7d6c4
xor r8d, r8d
sub r8, 1
sub rcx, r8
mov qword [rsp + 0x28], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xcdf4f10d
jae 0x14002fea9
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
mov dl, byte [rsp + 0x37]
test dl, 1
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
jne 0x14002fd71
jmp 0x14002ff79
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 8]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14002ffae
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov eax, dword [0x1402a9438]
mov ecx, dword [0x1402a943c]
mov edx, 0x69cda0ee
xor edx, 0x855ebb65
xor ecx, edx
sub eax, ecx
xor eax, 0x577e9694
sub eax, 0xcbc576c8
mov ecx, 0x5014d089
xor ecx, 0xc0a8b396
add eax, ecx
add eax, 0xcbc576c8
mov r8d, 0xaff1223b
xor r8d, 0xf35d403c
mov ecx, 0x92bf1540
xor ecx, 0x6d40eabf
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5cac6207
or eax, 0x5cac6207
imul eax, edx
add eax, ecx
cmp eax, 0xcd2c259e
je 0x1400300bc
mov eax, dword [0x1402a9440]
sub eax, dword [0x1402a9444]
imul ecx, eax, 0xba4ec9c2
mov edx, 0xffffffff
xor edx, 0xa6819a04
mov eax, ecx
xor eax, edx
and eax, ecx
mov r8d, 0x67baa854
xor r8d, 0xe57c9263
mov ecx, 0x5059e147
xor ecx, 0xafa61eb8
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x44420c2f
xor r8d, 0xc6843618
mov edx, eax
and edx, r8d
or eax, 0x82c63a37
imul eax, edx
add eax, ecx
cmp eax, 0xa48f1d5f
jbe 0x14003002d
add rsp, 0x88
ret
movabs byte [0xfffffc53e999c2e6], al
fild dword [rax + 0x51]
jmp 0x14002fea9
wait
invalid