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

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov r8, qword [rcx]
mov qword [rsp + 0x40], r8
mov rax, rcx
add rax, 8
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x50], rax
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor ecx, ecx
sub rcx, 1
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x58], rcx
mov rdx, r8
and rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r9, 0xdbc22291c1fc6013
movabs r10, 0x243ddd6e3e039fec
xor r9, r10
xor rdx, r9
movabs r9, 0xbbf5846792082e9d
movabs r10, 0x440a7b986df7d162
xor r9, r10
movabs r10, 0xf9424a465e178aba
movabs r11, 0x6bdb5b9a1e87545
xor r10, r11
xor r9, r10
or rdx, r9
mov r9, 0xffffffffffffffff
and r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
movabs r9, 0xbbb12a6a1e20ca32
movabs r10, 0x444ed595e1df35cd
xor r9, r10
xor rdx, r9
movabs r9, 0xa05c17d2f39d566a
movabs r10, 0x5fa3e82d0c62a995
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
mov qword [rsp + 0x60], rcx
cmp rax, 0
je 0x14003486f
mov rax, qword [rsp + 0x60]
movabs rcx, 0x9e4af83151483b25
movabs rdx, 0x9e4af83151483b25
xor rcx, rdx
cmp rax, rcx
jl 0x140034865
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax]
movabs r8, 0x563f02f5442b490b
movabs r9, 0xe9c0fd0abbd4b6f4
xor r8, r9
and rcx, r8
cmp rcx, rdx
mov qword [rsp + 0x28], rax
jge 0x140034904
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
mov r9d, 0x10
mov qword [rsp + 0x20], 8
call fcn.140023a90
mov rcx, qword [rsp + 0x48]
mov qword [rcx], rax
mov qword [rsp + 0x28], rax
jmp 0x140034904
call fcn.14000ee80
jmp 0x140034939
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
movabs r8, 0xb413eb3da77a99f4
movabs rax, 0xb413eb3da77a99f5
xor r8, rax
movabs r9, 0x79b1c4d5331eb978
movabs rax, 0x79b1c4d5331eb968
xor r9, rax
movabs rax, 0xa127340bd25b2281
movabs r10, 0xa127340bd25b2289
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140023a90
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rdx], rax
movabs rdx, 0x4ca62f5219ecab4c
movabs r8, 0x4ca62f5219ecab4c
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x28], rax
jge 0x140034904
call fcn.14000ee80
jmp 0x140034939
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
mov rax, qword [rsp + 0x28]
mov qword [r8], r9
add rax, 8
shl rdx, 4
add rax, rdx
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov eax, dword [0x1402a95f8]
xor eax, 0xaa72285b
xor edx, edx
div dword [0x1402a95fc]
mov ecx, 0xc5e65f90
xor ecx, 0xbb2db45e
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0xd8fd5831
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd8fd5831
add eax, edx
sub eax, ecx
mov ecx, 0x99b41609
xor edx, edx
div ecx
mov ecx, 0x242b9a66
xor ecx, 0x6615d70f
cmp eax, ecx
je 0x140034a37
mov eax, dword [0x1402a9600]
xor edx, edx
div dword [0x1402a9604]
mov ecx, 0x442b9f75
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x199bdb62
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x93b8aa0f
xor r8d, 0x6c4755f0
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x199bdb62
mov r8d, 0x6c0eaa19
xor r8d, 0x7595717b
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa091e9d2
xor edx, 0x7171d467
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xd1e03db5
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd1e03db5
or eax, 0xd1e03db5
imul eax, edx
add eax, ecx
cmp eax, 0x1f0e1ba
ja 0x140034990
add rsp, 0x68
ret
imul ebp, dword [rbp + rdx - 0xaf1616], 0xffffffff
dec dword [rax - 0x7d]
sub rsp, 0x78
invalid
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x50], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x50]
add rax, 0x60
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140034dda
mov rax, qword [rsp + 0x60]
movabs rdx, 0xa78a3a6695bca251
movabs rcx, 0x5875c5996a435da1
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, 0xfffffffffffffff0
add rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp rax, 0x10
jb 0x140034d78
push 0xffffffffffffff99
vaddpd ymm9, ymm1, ymmword [rax + 0x31]
retf 0x8948
mov ecx, dword [0x1402a9608]
mov eax, dword [0x1402a960c]
add ecx, 0x59ecc3b7
sub ecx, eax
sub ecx, 0x59ecc3b7
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x392afa0b
mov edx, 0xffffffff
xor edx, 0x392afa0b
and ecx, edx
sub ecx, eax
xor ecx, 0x3785f354
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd825f046
and eax, edx
mov edx, 0x38a778ff
xor edx, 0xe08288b9
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x93ac655c
xor ecx, 0x8e505b74
cmp eax, ecx
jbe 0x140034dec
mov r9, qword [rsp + 0x40]
mov r8d, dword [0x1402a9610]
mov eax, dword [0x1402a9614]
xor eax, 0xe200e978
imul r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x691732f6
mov edx, 0x663b6258
xor edx, 0xf2c50ae
mov ecx, 0xd88e08a4
xor ecx, 0x2771f75b
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x7d184d44
and ecx, 0x691732f6
and edx, 0x7d184d44
or eax, r8d
or ecx, edx
xor eax, ecx
mov r8d, 0xe06e7a0d
xor r8d, 0xa68c5581
mov ecx, 0xe850f456
xor ecx, 0x17af0ba9
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x9ff5e3d
xor r8d, 0xf600a1c2
xor ecx, r8d
imul ecx, edx
mov r8d, 0x3ecb328f
xor r8d, 0x78291d03
mov edx, eax
and edx, r8d
or eax, 0x46e22f8c
imul eax, edx
add eax, ecx
mov ecx, 0x588eb46b
xor edx, edx
div ecx
movabs rdx, 0x3b48f6afd3ce39b9
movabs rcx, 0xc4b709502c31c649
xor rdx, rcx
mov rcx, r9
add rcx, rdx
mov qword [rsp + 0x28], rcx
mov rdx, rcx
and rdx, rdx
xor rdx, 0xffffffffffffffff
and rdx, r9
xor rdx, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
movabs r10, 0x692523b09b0f98de
movabs r8, 0x96dadc4f64f06721
xor r10, r8
mov r8, rcx
xor r8, r10
movabs r10, 0xbed1c5748870cdd7
movabs r11, 0x412e3a8b778f3228
xor r10, r11
xor r9, r10
or r8, r9
movabs r9, 0x33673f0e384922f5
movabs r10, 0xcc98c0f1c7b6dd0a
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
cmp rdx, 0
setl dl
movabs r8, 0x3776dc299d225f99
movabs r9, 0xc88923d662dda066
xor r8, r9
cmp rcx, r8
setg cl
and cl, dl
mov byte [rsp + 0x37], cl
cmp eax, 0x4fb3284a
je 0x140034b34
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140034ccb
jmp 0x140034cd5
call fcn.14000ee80
jmp 0x140034dda
mov eax, dword [0x1402a9618]
mov edx, dword [0x1402a961c]
mov r8d, 0x2e58b5bd
xor r8d, 0xd1a74a42
mov ecx, eax
xor ecx, r8d
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, 0x961aba87
xor edx, edx
div ecx
mov ecx, 0x367da594
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x380009ae
shl ecx, 1
xor eax, 0x380009ae
add eax, ecx
cmp eax, 0x7cd380f2
je 0x140034df5
mov r8, qword [rsp + 0x28]
mov eax, dword [0x1402a9620]
xor eax, 0x643685c0
and eax, dword [0x1402a9624]
mov ecx, 0x2144d545
xor edx, edx
div ecx
mov ecx, 0xb04105f
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x38]
xor eax, 0xd078a2b6
mov ecx, 0x200a5dcc
xor ecx, 0x1aab9e9f
mov qword [rdx], r8
cmp eax, ecx
jbe 0x140034d2b
jmp 0x140034dda
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x68]
call fcn.1401186d0
mov rax, qword [rsp + 0x58]
mov al, byte [rax]
mov cl, 0xb6
xor cl, 0xb6
cmp al, cl
jne 0x140034de7
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x20], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
add rsp, 0x78
ret
inc dword [rdx]
add dl, byte [rbx - 0x17]
invalid
rcl byte [rbp + 0x2de9c4bf], cl
invalid