Function at 0x140033377
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rax, 0x60
mov qword [rsp + 0x80], rax
mov rax, qword [rcx]
mov qword [rsp + 0x88], rax
cmp rax, rdx
jle 0x140032e7b
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
call fcn.140032b90
jmp 0x14003335d
mov r8d, dword [0x1402738c8]
xor r8d, dword [0x1402738cc]
mov edx, 0xffffffff
xor edx, 0x1a2060fb
mov ecx, r8d
and ecx, edx
mov eax, r8d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov edx, 0x3db6911b
xor edx, 0x2796f1e0
mov ecx, r8d
and ecx, edx
or r8d, 0x1a2060fb
imul r8d, ecx
add r8d, eax
mov ecx, 0xebe81b50
xor ecx, 0x1417e4af
mov eax, r8d
xor eax, ecx
and eax, 0xe1c634b6
mov ecx, 0xffffffff
xor ecx, 0xe1c634b6
and r8d, ecx
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x18f6774d
mov r9d, 0xffffffff
xor r9d, 0x18f6774d
and r8d, r9d
mov ecx, 0x6e2f6ef0
xor ecx, 0x1c09dd87
mov edx, 0x45d1bbda
xor edx, 0xba2e4425
xor ecx, edx
and ecx, 0x18f6774d
mov edx, 0xddfcda41
xor edx, 0xafda6936
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0xd00fc24d
je 0x140033365
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402738d0]
xor edx, edx
div dword [0x1402738d4]
mov edx, 0xaaefe52
xor edx, 0x180a9165
sub eax, edx
sub eax, 0x8c5193a9
add eax, 0x12a46f37
mov r8d, 0x5a32b2ad
xor r8d, 0x8ae3c7d9
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x78]
or eax, 0xa2677015
cmp rcx, rdx
setl cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x5915cf3a
je 0x140033365
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140032fb0
jmp 0x14003335d
mov rax, qword [rsp + 0x70]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140033189
mov r11d, dword [0x1402738d8]
mov eax, 0x909378c7
xor eax, 0x21c07613
xor r11d, eax
xor r11d, dword [0x1402738dc]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x5cfc1b11
mov edx, 0xffffffff
xor edx, 0x2ce59d02
mov eax, ecx
and eax, 0x2ce59d02
and r11d, edx
mov r9d, r8d
and r9d, 0x2ce59d02
mov r10d, edx
and r10d, 0x5cfc1b11
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x2ce59d02
and ecx, edx
or eax, ecx
mov ecx, 0xf3deab94
xor ecx, 0x79a32bc5
xor edx, edx
div ecx
imul eax, eax, 0xb59b6a2e
cmp eax, 0x7d9329e9
ja 0x14003336e
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1402738e0]
mov r8d, 0xa77027ce
xor r8d, 0xdad8bde3
xor eax, r8d
mov r10d, dword [0x1402738e4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
mov r11d, 0xc373cae5
xor r11d, 0x3c8c351a
xor r8d, r11d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
xor r8d, r8d
sub r8d, 0xed6c4d65
add eax, r8d
add eax, 0x213df6f9
mov r8d, 0xfed4b66b
xor r8d, 0xe8ca0b48
sub eax, r8d
mov r8, qword [rcx]
movabs r9, 0xbfffffffffffffff
mov rcx, r8
and rcx, r9
movabs r9, 0x1e4956c8616f1bc1
movabs r10, 0xe1b6a9379e90e43e
xor r9, r10
xor rcx, r9
movabs r9, 0x88071c856ccb034e
movabs r10, 0x77f8e37a9334fcb1
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
movabs r10, 0xbfffffffffffffff
xor r9, r10
or r8, r9
xor rcx, 0xffffffffffffffff
movabs r9, 0x1d59b784b3707af8
movabs r10, 0xe2a6487b4c8f8507
xor r9, r10
xor r8, r9
or rcx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x57], cl
cmp eax, 0xaede0c96
ja 0x14003336e
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140033189
jmp 0x140033236
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x78]
mov rcx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rax, r8
and rax, r9
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, rax
xor rcx, r8
movabs r8, 0xd406db7095b2c08c
movabs r9, 0xd406db7095b2c08c
xor r8, r9
cmp rcx, r8
setl cl
xor rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
mov al, 1
xor al, 0
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14003322c
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140033236
call fcn.14000f24b
jmp 0x14003335d
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov qword [rcx], rdx
lea rcx, [rsp + 0x90]
add rcx, 0x10
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1402980b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x30]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rdx], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
lea rdx, [rsp + 0x90]
call fcn.1400752a0
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x14003333b
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 1
mov qword [rsp + 0x28], rax
movabs r8, 0x1a5781c9d3666f49
movabs rdx, 0xe5a87e362c9990b6
xor r8, rdx
mov rdx, rcx
xor rdx, r8
and rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0x91dfa40f8bf02ae1
movabs r9, 0x6e205bf0740fd51e
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140033340
call fcn.14000f24b
jmp 0x14003335d
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
mov qword [rsp + 0x40], rax
je 0x14003333b
jmp 0x140033261
add rsp, 0xb8
ret
invalid
int 0xf8
loop 0x1400333ab
jmp 0x140033064
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140032b90
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140032e20
add byte [rax], al
add byte [rax], al
add byte [rax - 0x7f], cl
sub rsp, 0x98
mov qword [rsp + 0x88], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x90], rax
cmp rax, 0
jle 0x140033738
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x88]
add rax, 8
mov qword [rsp + 0x70], rax