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

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x50], rcx
call fcn.1401af15c
mov rcx, qword [rsp + 0x50]
cmp rcx, 0
je 0x1401af145
mov rax, qword [rsp + 0x50]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x40], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x48], rax
cmp rax, 0x10
jb 0x1401af095
mov rdx, qword [rsp + 0x48]
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x38], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1401aeef5
jmp 0x1401af074
mov eax, dword [str._e_U]
mov ecx, dword [0x140221eb4]
mov edx, 0x3244344b
xor edx, 0x4e1ea1e1
xor ecx, edx
xor eax, ecx
mov ecx, 0xa6b76581
xor ecx, 0xccd0c61c
xor eax, ecx
mov ecx, 0xdef52364
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x81705503
or eax, edx
mov edx, 0xffffffff
xor edx, 0x81705503
mov r8d, 0xffffffff
xor r8d, 0x81705503
or edx, r8d
mov r8d, 0xf945f369
xor r8d, 0x6ba0c96
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xc83adc18
xor edx, 0x37c523e7
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x43734ecd
xor ecx, 0x6bcdcf22
cmp eax, ecx
jb 0x1401af14a
mov eax, dword [0x140221eb8]
mov ecx, dword [0x140221ebc]
xor ecx, 0x76dfc075
xor edx, edx
div ecx
mov r8d, 0x6c37c6e3
xor r8d, 0x271135c8
mov ecx, 0xa35c076c
xor ecx, 0x5ca3f893
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, 0x4b26f32b
or eax, 0x4b26f32b
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xdeb83a24
mov edx, 0x880d21c1
xor edx, 0x77f2de3e
xor ecx, edx
add eax, 0xdeb83a24
mov edx, 0x15903f89
xor edx, 0x15903f88
add eax, edx
add eax, ecx
mov r8d, 0xc918aa69
xor r8d, 0xed357202
mov ecx, 0xe812a8a2
xor ecx, 0x17ed575d
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x1dd28651
xor r8d, 0x39ff5e3a
mov edx, eax
and edx, r8d
or eax, 0x242dd86b
imul eax, edx
add eax, ecx
mov dword [rsp + 0x34], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x34]
cmp eax, 0x4aadcf1a
jbe 0x1401af14a
jmp 0x1401af145
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.140011d2a
jmp 0x1401af145
mov eax, dword [0x140221ec0]
or eax, dword [0x140221ec4]
sub eax, 0x6e47c2dd
mov ecx, 0x4b885ce0
xor ecx, 0xe064c08f
xor edx, edx
div ecx
add eax, 0x8d1c7146
sub eax, 0x36362c75
mov ecx, 0xcc0428ed
xor ecx, 0x411859ab
sub eax, ecx
cmp eax, 0x85b80f75
jbe 0x1401af153
mov eax, dword [0x140221ec8]
add eax, dword [0x140221ecc]
xor eax, 0x51769388
mov ecx, 0x4269b27f
xor edx, edx
div ecx
mov ecx, 0x51498d56
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x40]
mov ecx, eax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x30], ecx
mov ecx, 0x379f3fe1
xor ecx, 0x3092458b
mov dword [rsp + 0x2c], ecx
mov r8, qword [rax]
mov ecx, 1
call fcn.140011d2a
mov rcx, qword [rsp + 0x50]
call fcn.140011df0
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
ja 0x1401af0d7
jmp 0x1401af145
add rsp, 0x58
ret
jne 0x1401af165
jl 0x1401af1c4
jmp 0x1401aef94
adc dword [rdi - 0x80], esp
shr cl, 1
jnp 0x1401af159
invalid
invalid