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

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov eax, dword [0x140273fd8]
xor eax, 0x149ceb3f
mov ecx, dword [0x140273fdc]
xor ecx, 0x4561cc3f
or eax, ecx
mov ecx, eax
and ecx, 0xf66c6480
shl ecx, 1
add eax, 0xf66c6480
sub eax, ecx
mov r8d, 0xdbec9a17
xor r8d, 0xb758be7b
mov ecx, 0xcea7ec51
xor ecx, 0x315813ae
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, 0x6cb4246c
or eax, 0x6cb4246c
imul eax, edx
add eax, ecx
mov ecx, 0x284e7f27
xor edx, edx
div ecx
cmp eax, 0xaa96331d
jae 0x140041394
xor eax, eax
mov dword [rbp - 0x1c], eax
mov eax, 0x20
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x1c]
add r8, 0x60
mov qword [rbp - 0x18], r8
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
cmp rcx, rdx
setg cl
mov byte [rbp - 1], cl
cmp eax, 0x21923ee0
jae 0x140041394
mov al, byte [rbp - 1]
test al, 1
jne 0x140040f62
jmp 0x140040f7c
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.140040ca8
add rsp, 0x20
jmp 0x14004138e
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp]
cmp rax, rcx
jge 0x14004138e
mov rax, qword [rbp + 8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x140040fcc
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x30]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x1400410dc
mov eax, dword [0x140273fe8]
mov edx, dword [0x140273fec]
mov ecx, 0x9f84588d
xor ecx, 0x82b37a3b
xor edx, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x4d2e3dc8
xor r8d, 0xb2d1c237
xor edx, r8d
and eax, edx
sub eax, ecx
add eax, 0xdf694d62
mov ecx, eax
and ecx, 0xa5a5fefa
shl ecx, 1
xor eax, 0xa5a5fefa
add eax, ecx
mov ecx, 0x2f64facc
xor ecx, 0x22c47455
sub eax, ecx
add eax, 0xdb09d6f7
mov ecx, 0x62bcab66
xor ecx, 0x6f1c25ff
add eax, ecx
cmp eax, 0xed4f9109
jae 0x14004139d
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp]
xor eax, eax
mov ecx, 0x9c790f40
mov r9, rdx
sub r9, r8
mov qword [rbp - 0x48], r9
xor rdx, r9
xor r9, r8
mov r8, rdx
and r8, r9
test rdx, rdx
sets dl
test r8, r8
setns r8b
add dl, r8b
inc dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
jae 0x140041041
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400410ca
jmp 0x140041093
mov r8, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
mov r9d, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400265f0
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x1400410dc
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14004138e
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 8]
mov r8, qword [rbp]
mov qword [rdx], r8
add rcx, 0x10
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x60], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rax, qword [rbp - 0x60]
xorps xmm0, xmm0
movaps xmmword [rdx], xmm0
movaps xmmword [r8], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
sub rsp, 0x20
call fcn.14007ade0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14004136f
mov eax, dword [0x140273ff8]
xor eax, 0xbea03b0d
xor eax, dword [0x140273ffc]
mov ecx, 0xcaf790f3
xor ecx, 0x92c2e676
sub eax, ecx
mov ecx, 0x5bd01fed
xor ecx, 0xce771241
or eax, ecx
mov ecx, 0x48ea61e5
xor edx, edx
div ecx
mov ecx, 0x34d3f2ec
xor ecx, 0x8c17b5ea
cmp eax, ecx
je 0x1400413a6
mov eax, dword [0x140274000]
xor eax, 0xed0e1be6
mov ecx, dword [0x140274004]
xor ecx, 0x65b537e
sub eax, ecx
mov ecx, 0xda39407e
xor edx, edx
div ecx
mov ecx, 0x8cdb2953
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x60]
mov r9d, 0xffffffff
xor r9d, 0x95947801
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x60beb36c
xor r9d, 0x9f414c93
xor ecx, r9d
imul ecx, r8d
mov r9d, 0x127b6d1b
xor r9d, 0x87ef151a
mov r8d, eax
and r8d, r9d
or eax, 0x95947801
imul eax, r8d
add eax, ecx
mov rcx, rdx
add rcx, 1
mov qword [rbp - 0x70], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x6f14c3701bfe6ab7
movabs r8, 0x6f14c3701bfe6ab7
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x61], cl
cmp eax, 0x271e0554
jae 0x1400411a3
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140041269
jmp 0x140041374
mov eax, dword [0x140274008]
xor eax, 0xb6933599
mov ecx, dword [0x14027400c]
xor ecx, 0x73f6ecc4
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x444ac24c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x444ac24c
or eax, 0x444ac24c
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x91ad0d66
mov r8d, 0xffffffff
xor r8d, 0x91ad0d66
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x9499bd1c
xor r8d, 0x534b07a
mov edx, eax
and edx, r8d
or eax, 0x91ad0d66
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xe85d33d9
xor ecx, 0xffffffff
or eax, 0xe85d33d9
and eax, ecx
cmp eax, 0xa12a245
je 0x1400413af
mov eax, dword [0x140274010]
mov r8d, dword [0x140274014]
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
add eax, 0x8c3f06cd
and eax, 0x49c794a7
and eax, 0xfaec649c
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14000f24b
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xa745cf71
ja 0x14004130a
jmp 0x14004136f
jmp 0x14004138e
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp]
cmp rax, rcx
mov qword [rbp - 0x50], rax
je 0x14004136f
jmp 0x1400410fb
lea rsp, [rbp + 0x10]
pop rbp
ret
out dx, al
retf 0x1acf
mov esi, edi
sbb al, byte [rdx - 0x36417]
jmp [rbp - 0x16a5349c]
lodsd eax, dword [rsi]
retf
push 0xffffffffe9a2251e
push rdx
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140040ca8
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140040e60