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

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x70], rcx
mov rax, qword [rcx]
movabs rcx, 0x2062b7afa81e8643
movabs rdx, 0x2062b7afa81e8643
xor rcx, rdx
cmp rax, rcx
jle 0x140055ff4
mov rax, qword [rsp + 0x70]
add rax, 8
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov eax, dword [0x140274b08]
mov edx, dword [0x140274b0c]
mov r8d, 0x6b36b673
xor r8d, 0x94c9498c
mov ecx, eax
xor ecx, r8d
and ecx, edx
mov r8d, 0xafccc951
xor r8d, 0x503336ae
xor edx, r8d
and eax, edx
sub eax, ecx
sub eax, 0x94776f1e
mov ecx, 0xdd6f0dd4
xor ecx, 0xdd6f0dd4
mov edx, 0x1d86d701
xor edx, 0xfb81a3b9
sub ecx, edx
add eax, ecx
or eax, 0xcf73d887
cmp eax, 0xfe8a25f0
jae 0x140056108
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov r8d, dword [0x140274b10]
mov r9d, dword [0x140274b14]
xor edx, edx
sub edx, r8d
xor r8d, r8d
sub r8d, r9d
add edx, r8d
mov r8d, 0x972b6b66
xor r8d, 0x972b6b66
sub r8d, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
mov r9d, 0xffffffff
xor r9d, 0x9a3c1611
mov r10d, 0xffffffff
xor r10d, 0x9a3c1611
and r9d, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x9a3c1611
xor r8d, 0xffffffff
xor edx, 0xffffffff
mov r9d, 0x6a5fd522
xor r9d, 0x95a02add
xor r8d, r9d
and edx, r8d
mov r8d, 0x28b57669
xor r8d, 0x72a11400
sub edx, r8d
sub edx, 0x1a1d8f52
mov r8d, 0xf473501
xor r8d, 0x55535768
add edx, r8d
mov r9d, 0x2bd55fdb
xor r9d, 0xd42aa024
mov r8d, edx
xor r8d, r9d
mov r9d, 0x6cd025ef
xor r9d, 0x37bb50b1
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x5b6b755e
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0xa6a837d6
xor r10d, 0xfdc34288
mov r9d, edx
and r9d, r10d
or edx, 0x5b6b755e
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x50], edx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x48], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x50]
cmp rcx, 0
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0x706bcd71
jb 0x140055cfe
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140055fb4
jmp 0x140055e55
mov rax, qword [rsp + 0x48]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x38], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x40], rax
movabs rcx, 0x5899883f233fefdf
movabs rdx, 0x5899883f233fefcf
xor rcx, rdx
cmp rax, rcx
jb 0x140055f81
mov r8, qword [rsp + 0x40]
movabs rcx, 0x3da401fc18eea53f
movabs rax, 0xc25bfe03e7115acf
xor rcx, rax
mov rax, r8
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov rdx, r8
or rdx, rdx
movabs r9, 0xaf31de45cbbfb0f6
movabs r10, 0x50ce21ba34404f09
xor r9, r10
xor rdx, r9
movabs r9, 0x1a5b9927684a6c1f
movabs r10, 0xe5a466d897b593e0
xor r9, r10
xor rcx, r9
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0xeefeb66daafc1c0b
movabs r8, 0x110149925503e3f4
xor rcx, r8
cmp rax, rcx
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x140055f56
jmp 0x140055f60
call fcn.14000f24b
jmp 0x140055fb4
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
mov qword [rdx], rcx
mov r8, qword [rax]
xor ecx, ecx
call fcn.1400200e0
jmp 0x140055fb4
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov r8, qword [rax]
xor eax, eax
mov cl, al
xor cl, 1
and cl, 1
call fcn.1400200e0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140020296
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, 1
add rdx, rax
movabs rax, 0x6221302cb00743ce
movabs r8, 0x6221302cb00743ce
xor rax, r8
sub rax, rdx
cmp rax, qword [rcx]
mov qword [rsp + 0x68], rax
jl 0x140055c91
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140056103
mov eax, dword [0x140274b18]
imul eax, dword [0x140274b1c]
mov ecx, 0xffffffff
xor ecx, 0xaa794e38
mov r8d, eax
xor r8d, ecx
and r8d, eax
sub r8d, 0xf3c4135b
mov ecx, 0x73f66980
xor ecx, 0x8c09967f
mov eax, r8d
xor eax, ecx
and eax, 0x48637ac
mov r9d, 0xffffffff
xor r9d, 0x48637ac
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x28244ae
and ecx, 0x48637ac
mov edx, 0xd51128ea
xor edx, 0xd7936c44
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x4017d486
jb 0x140056111
mov eax, dword [0x140274b20]
mov edx, dword [0x140274b24]
mov r8d, eax
and r8d, edx
mov ecx, 0x267a28d0
xor ecx, 0x267a28d2
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x741c4552
xor ecx, 0x919377b8
add eax, ecx
xor eax, 0x4ed3339b
mov ecx, 0xc9e08da2
xor ecx, 0xe41b2fd7
sub eax, ecx
mov dword [rsp + 0x24], eax
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
mov eax, dword [rsp + 0x24]
cmp eax, 0xbbc57773
je 0x14005608a
jmp 0x140056103
add rsp, 0x78
ret
invalid
int3