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

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x88], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x88]
add rax, 0x60
mov qword [rsp + 0x90], rax
cmp qword [rcx], 0
jle 0x14004b272
mov eax, dword [0x140274588]
xor eax, 0x1c9e3e11
mov r8d, dword [0x14027458c]
mov ecx, 0xd861cf75
xor ecx, 0x279e308a
mov r9d, r8d
xor r9d, ecx
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 edx, 0x479ca8c2
xor edx, 0xf636fc10
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xb1aa54d2
sub eax, ecx
and eax, 0x749a7a7f
and eax, 0xb607ac74
cmp eax, 0x70652fc
je 0x14004b36a
mov eax, dword [0x140274590]
xor edx, edx
div dword [0x140274594]
mov rdx, qword [rsp + 0x88]
add eax, 0xfee1822c
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x5333ce2d
mov r9d, 0xffffffff
xor r9d, 0x5333ce2d
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r9d, 0x59da5238
xor r9d, 0xae99c15
mov r8d, eax
and r8d, r9d
or eax, 0x5333ce2d
imul eax, r8d
add eax, ecx
add eax, 0x540f45bd
mov ecx, 0x481999b4
xor ecx, 0x6ddd3c92
add rdx, 8
mov qword [rsp + 0x80], rdx
cmp eax, ecx
jb 0x14004b36a
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x14004aef4
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x14004b253
mov rax, qword [rsp + 0x70]
mov rcx, rax
and rcx, 0xfffffffffffffff0
shl rcx, 1
movabs rdx, 0x37e91e6bd1f2c8ba
movabs r8, 0xc816e1942e0d374a
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
movabs rcx, 0xdc9ea98b4dc2977f
movabs rdx, 0xdc9ea98b4dc2976f
xor rcx, rdx
cmp rax, rcx
jb 0x14004b0ec
mov rdx, qword [rsp + 0x60]
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
xor al, 0xff
and cl, dl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x14004afbb
jmp 0x14004afc5
call fcn.14000f24b
jmp 0x14004b253
mov eax, dword [0x140274598]
add eax, dword [0x14027459c]
mov ecx, 0x35adec30
xor ecx, 0x11aaef49
sub eax, ecx
add eax, 0x9511c893
mov ecx, 0x7914d0eb
xor ecx, 0x5d13d392
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xbb913e3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbb913e3
mov r8d, 0x89961ef6
xor r8d, 0x822f0d15
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xca1d72a9
xor ecx, 0xd8cf0e05
and eax, ecx
cmp eax, 0x43774f27
jae 0x14004b373
mov r8, qword [rsp + 0x50]
mov ecx, dword [0x1402745a0]
mov edx, dword [0x1402745a4]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r9d, edx
or r9d, r9d
xor r9d, 0xffffffff
mov r10d, 0x535c3b27
xor r10d, 0xaca3c4d8
xor eax, r10d
mov r10d, 0xfce27e84
xor r10d, 0x31d817b
xor r9d, r10d
and eax, r9d
mov r9d, 0xce0d0991
xor r9d, 0x31f2f66e
xor ecx, r9d
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x53567d27
xor edx, 0xaca982d8
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xb79a2ef7
xor ecx, ecx
sub ecx, 0x8dcf4266
sub eax, ecx
mov ecx, 0x92564c6a
xor ecx, 0x81cc0130
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, 0xc2042b6e
xor ecx, 0xadcabfb0
mov qword [rdx], r8
cmp eax, ecx
ja 0x14004b042
jmp 0x14004b253
mov eax, dword [0x1402745a8]
xor eax, 0x12c5d0a0
xor eax, dword [0x1402745ac]
mov ecx, 0x18ec39a5
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xa1f40f17
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa1f40f17
or eax, 0xa1f40f17
imul eax, edx
add eax, ecx
mov ecx, 0x369db83f
xor ecx, 0x1c2d128a
xor edx, edx
div ecx
cmp eax, 0x524d21e
je 0x14004b37c
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1402745b0]
imul eax, dword [0x1402745b4]
mov edx, eax
xor edx, 0xbec647c8
mov r8d, 0xfb407180
xor r8d, 0x45863648
mov r9d, 0x97528c0e
xor r9d, 0x68ad73f1
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
xor edx, edx
sub edx, 0xc3e469
sub eax, edx
mov r8d, 0x1b88bdb4
xor r8d, 0xa744b0bd
xor edx, edx
div r8d
mov dword [rsp + 0x48], eax
mov eax, 0x678edbf7
xor eax, 0x719b72d5
mov dword [rsp + 0x44], eax
call fcn.1401da416
mov rdx, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
ja 0x14004b14f
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14004b1f4
jmp 0x14004b361
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov rcx, rax
and rcx, 0xfffffffffffffff0
shl rcx, 1
movabs rdx, 0xc48dbe2efb888cb2
movabs r8, 0x3b7241d104777342
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x38]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x68]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0x78], rax
jl 0x14004aef4
mov ecx, dword [0x1402745b8]
xor ecx, dword [0x1402745bc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x7fbd7427
xor eax, 0xffffffff
mov edx, 0x7fbd7427
and edx, 0x7fbd7427
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xf3f9e9e9
xor edx, 0xc061616
xor ecx, edx
or eax, ecx
xor eax, 0x4106d97c
and eax, 0x6e028f4f
cmp eax, 0x6e05cc07
je 0x14004b385
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402745c0]
mov edx, dword [0x1402745c4]
xor edx, 0xffffffff
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov r8d, 0xb14ebb5
xor edx, edx
div r8d
and eax, 0x451ac903
mov edx, eax
xor edx, 0xd98a3d11
xor edx, 0xffffffff
or eax, 0xd98a3d11
and eax, edx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x28], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x649e6d03
jae 0x14004b385
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14004b361
jmp 0x14004b344
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
nop
add rsp, 0x98
ret
add ch, byte [rbx - 0xb163fa0]
cli
invalid
sar byte [rcx - 0x7c], cl
mov eax, 0xfffcc6e9
invalid
invalid
pop rsp
sub ah, cl
ret 0x41e9