Function at 0x14003dcf0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rax, 0x60
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x14003de91
mov ecx, dword [0x140273e38]
mov eax, 0xaa24d171
xor eax, 0x55b8bd0b
xor ecx, eax
or ecx, dword [0x140273e3c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xefd04680
and eax, edx
mov edx, 0x2f9ed341
xor edx, 0xd0612cbe
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xefd04680
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5dbda348
add eax, ecx
mov ecx, 0x525d87df
xor ecx, 0x525d87de
add eax, ecx
mov ecx, 0x50f02866
xor edx, edx
div ecx
cmp eax, 0xa14e7ec6
je 0x14003e34e
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140273e40]
xor edx, edx
div dword [0x140273e44]
mov rdx, qword [rsp + 0x70]
mov edi, eax
mov eax, 0xffffffff
xor eax, 0xbc304634
xor r8d, r8d
sub r8d, 1
sub eax, r8d
sub edi, eax
mov eax, 0x1a80bb76
xor eax, 0xe57f4489
mov r8d, edi
xor r8d, eax
mov r10d, 0xffffffff
xor r10d, 0x60340199
mov r9d, 0xffffffff
xor r9d, 0xbd1e204c
mov r11d, 0xaf16e123
xor r11d, 0x1208c16f
mov eax, r8d
and eax, r11d
and edi, r9d
mov r11d, r10d
and r11d, 0xbd1e204c
mov esi, 0xbf3f3745
xor esi, 0xdf0b36dc
and esi, r9d
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r10d
mov r10d, 0x82d22750
xor r10d, 0x7d2dd8af
xor r8d, r10d
or r9d, 0xbd1e204c
and r8d, r9d
or eax, r8d
and eax, 0x977e2acc
mov dword [rsp + 0x64], eax
mov eax, 0x6c66d063
xor eax, 0x40c3efde
mov dword [rsp + 0x60], eax
call fcn.14003d820
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
je 0x14003ddb0
jmp 0x14003e2a8
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x14003e2a8
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14003e008
mov ecx, dword [0x140273e48]
mov edx, dword [0x140273e4c]
xor edx, 0xe05672b5
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
mov edx, 0xef64f3ed
xor edx, 0x109b0c12
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x4511d79c
xor edx, 0xbaee2863
xor ecx, edx
or eax, ecx
mov ecx, 0xd6b49c93
xor ecx, 0xfa899b59
or eax, ecx
mov ecx, eax
xor ecx, 0x169563b3
xor ecx, 0xffffffff
or eax, 0x169563b3
and eax, ecx
add eax, 0x9958d2bc
cmp eax, 0x4b699cea
je 0x14003e357
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140273e50]
imul eax, dword [0x140273e54]
mov r8d, 0xffffffff
xor r8d, 0x5dad5d26
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
imul eax, eax, 0xab6859ee
mov r8d, 0x5868f3b7
xor r8d, 0x6609e441
and eax, r8d
mov r8, qword [rcx]
mov rcx, r8
xor rcx, 0xffffffffffffffff
movabs r9, 0xbf3bc1cb2b7f3112
movabs r10, 0x40c43e34d480ceed
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0xbfffffffffffffff
movabs r9, 0xbfffffffffffffff
or r8, r9
movabs r9, 0x5f30e69f24d5c066
movabs r10, 0xa0cf1960db2a3f99
xor r9, r10
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
cmp rcx, rdx
setl cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xc9844839
jae 0x14003df3c
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14003e008
jmp 0x14003e0d5
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x70]
mov rdx, r9
sub rdx, r8
mov qword [rsp + 0x40], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov rax, r9
and rax, rcx
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
or rax, rcx
cmp rax, 0
setl al
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
movabs r9, 0x114d39042aaf5229
movabs r10, 0xeeb2c6fbd550add6
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0x2727e1fe99bda17
movabs r8, 0xfd8d81e0166425e8
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14003e0cb
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14003e0d5
call fcn.14000f24b
jmp 0x14003e2a8
mov eax, dword [0x140273e58]
xor edx, edx
div dword [0x140273e5c]
mov ecx, eax
or ecx, 0xca4c93ce
mov eax, ecx
and eax, 0x42da77c3
or ecx, 0x42da77c3
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x4a0fb9ff
xor ecx, 0x91914f28
mov edx, 0xcc106399
xor edx, 0x33ef9c66
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xdb9ef6d7
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x241316f2
jb 0x14003e360
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov eax, dword [0x140273e60]
mov r9d, dword [str.SSF]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, r9d
add eax, ecx
add eax, 0x453fb6c7
mov ecx, 0x247309d6
xor ecx, 0x10713f0a
sub eax, ecx
mov ecx, 0xe49fc1c9
xor ecx, 0xa1a0770e
sub eax, ecx
mov ecx, 0xbecb633
xor ecx, 0x5ed9509a
imul eax, ecx
and eax, 0x246231de
mov ecx, 0x2cce7141
xor ecx, 0xf7a7467b
mov qword [rdx], r8
cmp eax, ecx
ja 0x14003e360
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
jmp 0x14003e1b2
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14003e2a8
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.140135d95
mov rax, qword [rsp + 0x78]
mov al, byte [rax]
mov cl, 0x97
xor cl, 0x97
cmp al, cl
jne 0x14003e2a8
mov rcx, qword [rsp + 0x30]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov r8, rcx
or r8, r8
movabs rdx, 0x12c33605c38ca0ec
movabs r9, 0xed3cc9fa3c735f13
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rax
xor rdx, r8
movabs rcx, 0x98a010cb76eb07c
movabs r9, 0xf675fef348914f83
xor rcx, r9
xor rdx, rcx
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14003e1b2
call fcn.14000f24b
mov ecx, dword [0x140273e68]
imul ecx, dword [0x140273e6c]
xor ecx, 0x9aefb421
add ecx, 0xeb29ce70
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x557a611a
mov edx, 0xffffffff
xor edx, 0x557a611a
and ecx, edx
or eax, ecx
mov ecx, 0xd86f7a4c
xor ecx, 0x4c275cb6
cmp eax, ecx
jae 0x14003e369
mov eax, dword [0x140273e70]
mov ecx, dword [0x140273e74]
xor ecx, 0xfbc0891d
sub eax, ecx
mov ecx, 0x692e3e23
xor edx, edx
div ecx
mov ecx, 0xa254d8b9
xor ecx, 0x603332c3
imul eax, ecx
mov edx, 0x3bd98ed9
xor edx, 0x24a1e7f8
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x1f786921
sub eax, ecx
mov ecx, 0x6aff8901
xor ecx, 0xc460843f
cmp eax, ecx
je 0x14003e369
add rsp, 0x88
pop rdi
pop rsi
ret
popfq
or cl, dil
jmp 0x14003ddb0
sbb r9b, cl
insb byte [rdi], dx
jmp 0x14003df3c
adc ch, byte [rcx]
cmp al, 0xe7
jmp 0x14003e134
loopne 0x14003e308
mov ch, 0x93
jmp 0x14003e2ed