Function at 0x1400136a0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x70
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov edx, dword [0x1402729c8]
mov ecx, dword [0x1402729cc]
mov r8d, 0x19e4fc16
xor r8d, 0xe61b03e9
mov eax, edx
xor eax, r8d
mov r8d, 0x4edbca6b
xor r8d, 0xb1243594
xor edx, r8d
or eax, edx
and ecx, ecx
mov edx, 0x7b2dd176
xor edx, 0x84d22e89
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
sub eax, 0x1ac907ed
mov r8d, 0xffffffff
xor r8d, 0x90fe868
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x90fe868
or eax, 0x90fe868
imul eax, edx
add eax, ecx
mov ecx, 0xf9c0316d
xor edx, edx
div ecx
cmp eax, 0xf9df9adb
ja 0x140013a83
mov rax, qword [rsp + 0x60]
mov esi, dword [0x1402729d0]
xor esi, 0x66cc95cc
and esi, dword [0x1402729d4]
and esi, 0xe4bee223
or esi, 0x75b291e3
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x84de40e8
mov r8d, 0xffffffff
xor r8d, 0x808b06c0
mov ecx, edx
and ecx, 0x808b06c0
and esi, r8d
mov r10d, r9d
and r10d, 0x808b06c0
mov r11d, 0x444356fe
xor r11d, 0xc09d1616
and r11d, r8d
or ecx, esi
or r10d, r11d
xor ecx, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x808b06c0
and edx, r8d
or ecx, edx
mov dword [rsp + 0x34], ecx
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x34]
mov r8d, r10d
mov ecx, 8
xor r9d, r9d
cmp r8d, 0x100
cmovb rcx, r9
movabs r11, 0xd7dd677caecd6c5d
movabs r9, 0xd7dd677caecd6c4d
xor r11, r9
movabs r9, 0xb85aa64d0008bbb7
movabs rsi, 0xb85aa64d0008bbaf
xor r9, rsi
cmp r8d, 0x1000000
cmovb r9, r11
cmp r8d, 0x10000
cmovb r9, rcx
mov ecx, r9d
shr r8d, cl
mov ecx, r8d
mov ecx, ecx
mov r8d, ecx
lea rcx, [0x140281d90]
movsx rcx, byte [rcx + r8]
add r9, rcx
mov rcx, r9
add rcx, 0xfffffffffffffffb
sar r10, cl
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x38], r10
mov r8, r10
and r8, 0xffffffffffffffe0
movabs r11, 0x686f16e61107676c
movabs rsi, 0x9790e919eef8988c
xor r11, rsi
or r10, r11
add r8, r10
add r9, 0xfffffffffffffffa
mov qword [rsp + 0x40], r9
mov qword [rdx + 0x20], 0
add rcx, 0x868
shl r9, 8
add rcx, r9
shl r8, 3
add rcx, r8
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
mov qword [rdx + 0x18], r8
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x7f39149b
jb 0x140013a83
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x1400139c8
jmp 0x1400138f3
mov eax, dword [0x1402729d8]
or eax, dword [0x1402729dc]
mov edx, 0xceba82a0
xor edx, 0x16990bb6
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xd8238916
add eax, ecx
or eax, 0xe738966
add eax, 0x68a4c44e
cmp eax, 0x23d680af
je 0x140013a8c
mov r8, qword [rsp + 0x60]
mov eax, dword [0x1402729e0]
mov edx, dword [0x1402729e4]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r9d, edx
and r9d, ecx
mov ecx, 0xbe53065
xor ecx, 0xbe53067
imul ecx, r9d
sub ecx, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x3f61b07e
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
or eax, 0xe8aa5a4c
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x2387d5d1
xor edx, 0xcb2d8f9d
mov r9d, 0x966bec4a
xor r9d, 0x699413b5
xor edx, r9d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x68b4df87
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x50]
mov ecx, 0x6ba77591
xor ecx, 0x15bf1b65
mov qword [rdx + 0x20], r8
cmp eax, ecx
je 0x14001392d
jmp 0x1400139c8
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov qword [r8], r9
mov edx, dword [rax + rdx*4 + 0x804]
and rcx, 0x1f
mov r8d, 1
shl r8, cl
mov rcx, qword [rsp + 0x40]
or edx, r8d
mov dword [rax + rcx*4 + 0x804], edx
mov edx, dword [rax + 0x800]
mov dword [rsp + 0x24], edx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0x1f
mov rdx, 0xffffffffffffffff
movabs r9, 0xbda171f3d0397168
xor rdx, r9
or rcx, r8
movabs r8, 0xbda171f3d0397168
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs eax, dword [0xfff18348c2094cbd]
and rcx, rdx
mov edx, 1
shl rdx, cl
mov ecx, dword [rsp + 0x24]
mov r8d, edx
mov edx, r8d
and edx, ecx
xor edx, 0xffffffff
add ecx, r8d
mov r8d, 0xefe6b749
xor r8d, 0xefe6b748
add ecx, r8d
add ecx, edx
mov dword [rax + 0x800], ecx
add rsp, 0x70
pop rsi
ret
pop rsi
invalid
jb 0x140013aa5
loope 0x140013a3f
jmp 0x14001392d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rcx
mov eax, dword [0x1402729e8]
xor eax, 0x5cc4f9c1
mov edx, dword [0x1402729ec]
mov r8d, 0x34b5e03c
xor r8d, 0xcb4a1fc3
mov ecx, eax
xor ecx, r8d
xor eax, 0xffffffff
and ecx, eax
mov r8d, 0x5d6c4f55
xor r8d, 0xa293b0aa
mov eax, edx
xor eax, r8d
mov r8d, 0xa673d451
xor r8d, 0x598c2bae
xor edx, r8d
and eax, edx
or ecx, eax
mov eax, 0x3e0e9c1c
xor eax, 0xc1f163e3
xor ecx, eax
mov eax, ecx
or eax, 0x1838f9ca
mov edx, 0x748ae432
xor edx, 0x8b751bcd
xor eax, edx
or ecx, 0x1838f9ca
mov edx, 0xc2ae986a
xor edx, 0x3d516795
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0x82d421db
or eax, 0xdd868d4d
mov ecx, 0xa15aec2e
xor ecx, 0x51f60d34
cmp eax, ecx
ja 0x140013be7
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1402729f0]
xor edx, edx
div dword [0x1402729f4]
mov rdx, qword [rsp + 0x38]
add eax, 0x2505a18b
mov r9d, eax
and r9d, 0x5cf8fc7
or eax, 0x5cf8fc7
add r9d, eax
mov eax, r9d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xff699eb3
mov r10d, 0xffffffff
xor r10d, 0xff699eb3
and r9d, r10d
or eax, r9d
xor eax, 0xffffffff
mov dword [rsp + 0x2c], eax
call fcn.1400130f0
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call fcn.1400136a0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x941a22f7
je 0x140013b59
add rsp, 0x48
ret
nop
invalid