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

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov ecx, dword [0x140273cd8]
and ecx, dword [0x140273cdc]
mov edx, 0x95a9c4d9
xor edx, 0x4f335ac8
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xda9a9e11
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0x82be7495
mov edx, 0xbd2dc05d
xor edx, 0x42d23fa2
xor eax, edx
or ecx, 0x82be7495
and ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe831acaa
or eax, edx
mov edx, 0xffffffff
xor edx, 0xe831acaa
mov r8d, 0xffffffff
xor r8d, 0xe831acaa
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x2ec7a8c2
jbe 0x14003b92b
mov eax, dword [0x140273ce0]
mov ecx, dword [0x140273ce4]
xor ecx, 0xbf929085
xor edx, edx
div ecx
add eax, 0xb96b9ae4
or eax, 0xfb5e5603
imul eax, eax, 0x70f97832
mov dword [rbp - 8], eax
mov eax, 0x10
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x10], rcx
add rcx, 0x60
mov qword [rbp - 0x18], rcx
mov qword [rax], 0
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14009c9a0
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 8]
add rsp, 0x20
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rbp - 1], cl
cmp eax, 0xaa6b66f8
jbe 0x14003b5b0
mov cl, byte [rbp - 1]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x14003b666
jmp 0x14003b6e6
mov ecx, 0x70
mov edx, 8
sub rsp, 0x20
call fcn.140029060
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rcx], rax
mov rdx, qword [str._h_]
mov qword [rax], rdx
mov rax, qword [rcx]
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.14009ccb0
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov dl, byte [rdx]
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp dl, 0
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x14003b6e6
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.14009c9a0
mov rax, qword [rbp - 0x40]
add rsp, 0x20
mov qword [rbp - 0x48], rax
jmp 0x14003b856
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
mov eax, dword [0x140273ce8]
xor eax, dword [0x140273cec]
mov ecx, 0xb1bd8f38
xor ecx, 0x477c231d
imul eax, ecx
and eax, 0x6febe928
mov ecx, 0x73791234
xor edx, edx
div ecx
mov ecx, 0x44cd1a3a
xor ecx, 0xe39e422a
cmp eax, ecx
ja 0x14003b934
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x50]
mov edx, dword [0x140273cf0]
mov r8d, dword [0x140273cf4]
mov r9d, 0xe0204212
xor r9d, 0xeaf41ae8
xor r8d, r9d
mov r9d, 0x73673132
xor r9d, 0x8c98cecd
xor r8d, r9d
add edx, r8d
mov r8d, 0x277c4291
xor r8d, 0x277c4290
add edx, r8d
mov r8d, edx
or r8d, r8d
mov r9d, 0xcad39e3c
xor r9d, 0x352c61c3
xor r8d, r9d
mov r9d, 0x68111761
or r9d, 0x68111761
xor r9d, 0xffffffff
xor r8d, 0xffffffff
xor r9d, 0xffffffff
and r8d, r9d
mov r9d, 0x8d1fcb94
xor r9d, 0xe50edcf5
or edx, r9d
xor edx, 0xffffffff
or r8d, edx
mov edx, 0x786f0e7e
xor edx, 0x8790f181
xor r8d, edx
or r8d, 0xd247c15
mov r9d, 0x3cd07f12
xor r9d, 0x3b737d92
mov edx, 0x3aff0ab
xor edx, 0xfc500f54
xor r9d, edx
mov edx, r8d
xor edx, r9d
and edx, r8d
mov dword [rbp - 0x60], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14009c9a0
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x96
xor dl, 0x96
cmp cl, dl
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xc83aa92
jae 0x14003b731
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x59]
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x14003b847
jmp 0x14003b856
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x18]
mov byte [rcx], 1
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x68], rax
mov ecx, dword [0x140273cf8]
mov edx, dword [0x140273cfc]
mov eax, 0xdedfa44b
xor eax, 0x21205bb4
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xf1911572
add eax, ecx
add eax, 1
add eax, 0x6daa1aa
add eax, 0x36fb1a57
sub eax, 0x6daa1aa
add eax, 0xa9b3d26c
cmp eax, 0xd8b67ec7
jb 0x14003b93d
mov ecx, dword [0x140273d00]
xor ecx, 0xf0432408
mov edx, dword [0x140273d04]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
and eax, 0x592b18bc
and eax, eax
mov ecx, 0x44dcee2b
xor ecx, 0xbb2311d4
xor eax, ecx
mov ecx, 0xafab0881
xor ecx, 0x11fd918e
mov edx, 0x25c74c6a
xor edx, 0xda38b395
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xbe56990f
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xec1b6557
xor edx, edx
div ecx
cmp eax, 0x26d4cf0b
je 0x14003b8ab
mov rax, qword [rbp - 0x68]
mov rsp, rbp
pop rbp
ret
invalid
xor ch, byte [rsi + rsi*8]
sub eax, 0xfffdf4e9
jmp rdi
out 0x69, eax
xor eax, 0xff65e9f7
invalid