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

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x50], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x50]
cmp rcx, 0
je 0x140033c25
mov rax, qword [rsp + 0x50]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
movabs rcx, 0x60ed1c2e8c9bba27
movabs rdx, 0x60ed1c2e8c9bba37
xor rcx, rdx
cmp rax, rcx
jb 0x140033c04
mov ecx, dword [0x140273918]
mov eax, 0x36969f3d
xor eax, 0x88e72aed
xor ecx, eax
mov edx, dword [0x14027391c]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x69284a6c
xor edx, edx
div ecx
and eax, 0xfdd45f83
mov ecx, 0xd7792081
xor ecx, 0xc6e6d49a
add eax, ecx
sub eax, 0x8e4f8cc
sub eax, 0x119ff41b
cmp eax, 0x9ca4c964
je 0x140033c2b
mov r8, qword [rsp + 0x48]
mov ecx, dword [0x140273920]
mov edx, dword [0x140273924]
mov eax, ecx
add eax, 1
mov r9d, 0xc4973f2b
xor r9d, 0x3b68c0d4
xor ecx, r9d
or ecx, edx
add ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x354c1c43
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov r9d, 0x55c482ea
xor r9d, 0x60889ea9
mov edx, ecx
and edx, r9d
mov r9d, 0xfab91f51
xor r9d, 0xcff50312
or ecx, r9d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x4099a4a0
shl eax, 1
xor ecx, 0x4099a4a0
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x12885483
mov r9d, 0xffffffff
xor r9d, 0x12885483
and edx, r9d
or eax, edx
mov edx, 0xd2fb99c4
xor edx, 0x2d04663b
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x12885483
and ecx, edx
mov edx, 0xe9167e01
xor edx, 0x16e981fe
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
movabs rdx, 0x46c70178c94ddea9
mov rcx, r8
sub rcx, rdx
add rcx, 0xfffffffffffffff0
movabs rdx, 0x72ec54160c92f3b6
movabs r9, 0x342b556ec5df2d1f
xor rdx, r9
add rcx, rdx
mov qword [rsp + 0x30], rcx
mov rdx, rcx
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, dl
and cl, r8b
xor cl, 0xff
and dl, r8b
xor dl, 0xff
xor r8d, r8d
xor r8b, 1
xor cl, r8b
xor dl, 0xff
or cl, dl
mov byte [rsp + 0x3f], cl
cmp eax, 0xed12e33f
jae 0x140033c2b
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140033b05
jmp 0x140033b0f
call fcn.14000f24b
jmp 0x140033c25
mov eax, dword [0x140273928]
xor eax, 0x6062967
imul eax, dword [0x14027392c]
sub eax, 0x109b1104
sub eax, 0x305d760d
mov ecx, 0xbdb90040
xor ecx, 0xad221144
add eax, ecx
mov ecx, 0x7e9a0564
xor edx, edx
div ecx
mov ecx, 0x59624658
xor edx, edx
div ecx
mov ecx, 0x6c643f12
xor ecx, 0xea3fee8b
cmp eax, ecx
je 0x140033c34
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x140273930]
xor edx, edx
div dword [0x140273934]
mov rdx, qword [rsp + 0x40]
mov r9d, eax
mov rax, qword [rsp + 0x50]
xor r8d, r8d
sub r8d, 0x5b6eb525
sub r9d, r8d
mov r8d, r9d
and r8d, 0x7a195807
xor r8d, 0xffffffff
mov r10d, 0xa43719ee
xor r10d, 0x5bc8e611
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0x7a195807
or r9d, r10d
xor r8d, 0xffffffff
mov r10d, 0x769995dd
xor r10d, 0x89666a22
xor r9d, r10d
or r8d, r9d
or r8d, 0x8272be2b
mov dword [rsp + 0x2c], r8d
mov qword [rdx], rcx
mov r8, qword [rax]
xor eax, eax
mov cl, al
xor cl, 0
and cl, 1
call fcn.1400200e0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x8659ff2d
jbe 0x140033c34
jmp 0x140033c25
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rax]
mov ecx, 1
call fcn.1400200e0
mov rcx, qword [rsp + 0x50]
call fcn.140020296
nop
add rsp, 0x58
ret
jmp 0x129e84fe5
movabs al, byte [0xffffff20e9a298e2]
nop dword [rax]