Function at 0x1800d4930
Capabilities:
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push r12
push r15
sub rsp, 0x78
mov rax, qword [rcx + 0x18]
or r12, 0xffffffffffffffff
xor ebp, ebp
mov r15, rcx
mov qword [rsp + 0x50], r12
test rax, rax
je 0x1800d4957
mov rbx, qword [rax]
jmp 0x1800d495a
mov rbx, rbp
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], r14
test rax, rax
je 0x1800d4fd4
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xa8]
movabs r9, 0x18044210208
nop word [rax + rax]
mov qword [r15 + 0x19550], rax
mov ecx, dword [rax + 0x78]
test ecx, 0xfff00000
je 0x1800d4d30
mov eax, dword [rax + 0x10]
and ecx, 0xfffff
xor edx, edx
div ecx
mov edi, ebp
mov dword [rsp + 0xb8], ebp
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1800d4d30
nop dword [rax + rax]
mov rdx, qword [r15 + 0x19550]
mov r8d, dword [rdx + 0x78]
mov eax, r8d
and eax, 0xf0000000
cmp eax, 0xa0000000
jne 0x1800d4a31
mov eax, r8d
and eax, 0xfff00000
cmp eax, 0xa1300000
je 0x1800d4a21
cmp eax, 0xa1400000
je 0x1800d4a21
and r8d, 0xfffff
mov dword [rsp + 0xa8], r8d
jmp 0x1800d4a64
mov r8d, 1
mov dword [rsp + 0xa8], r8d
jmp 0x1800d4a64
mov eax, r8d
and eax, 0xfff00000
cmp eax, 0x68700000
je 0x1800d4a58
cmp eax, 0x68800000
je 0x1800d4a58
and r8d, 0xfffff
mov dword [rsp + 0xa8], r8d
jmp 0x1800d4a64
mov r8d, dword [rdx + 0x10]
mov dword [rsp + 0xa8], r8d
mov ecx, r8d
imul ecx, edi
lea eax, [r8 + rcx]
cmp eax, dword [rdx + 0x10]
jbe 0x1800d4a87
mov rdx, rbp
mov r8d, ebp
mov dword [rsp + 0xa8], ebp
mov qword [rsp + 0x48], rdx
jmp 0x1800d4a94
mov rax, qword [rdx + 0x18]
lea rdx, [rax + rcx*8]
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0xb0], ebp
test r8d, r8d
je 0x1800d4d1d
nop word [rax + rax]
mov rdx, qword [rdx]
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1800d4d52
test r9, rcx
jne 0x1800d4d40
mov rax, qword [r15]
mov edx, dword [rdx + 0x130]
mov rcx, r15
call qword [rax + 0x28]
cmp eax, 0x11
jne 0x1800d4d56
test edi, edi
jne 0x1800d4b08
mov rax, qword [r15 + 0x19550]
mov ecx, dword [rax + 0x78]
and ecx, 0xfff00000
cmp ecx, 0x30000000
je 0x1800d4d44
cmp r12, 0xffffffffffffffff
jne 0x1800d4cdf
mov rcx, qword [r15 + 0xd078]
mov esi, dword [rcx + 0x18]
lea eax, [rsi + 1]
mov dword [rcx + 0x18], eax
mov ecx, dword [0x18025e63c]
mov rbp, qword [r15 + 0xd078]
test ecx, ecx
jns 0x1800d4b3b
xor r13d, r13d
mov rcx, r13
jmp 0x1800d4b47
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r13d, r13d
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1800d4b7b
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1800d4b5c
mov rdi, r13
jmp 0x1800d4b92
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1800d4b6c
mov qword [rcx + 0x20], r13
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1800d4b92
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1800d4c4d
xor r9d, r9d
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x78], r13
mov qword [rdi + 0x80], r13
mov qword [rdi + 0x88], r13
mov qword [rdi + 0x90], r13
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi + 0xa8], 0xffffffffffffffff
mov qword [rdi + 0x40], r13
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1800d4c3e
call fcn.18019c4f0
test al, al
je 0x1800d4bff
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1800d4c1e
bt rcx, 0x15
jae 0x1800d4c1e
or qword [rdi + 0x98], 0x10
mov eax, dword [r15 + 0x10]
mov esi, r13d
mov r12, rdi
mov dword [rdi + 0xa0], eax
inc dword [r15 + 0x10]
or dword [r15 + 0x28], 4
mov qword [rsp + 0x50], rdi
jmp 0x1800d4c52
call fcn.1801991c0
mov rcx, rdi
call fcn.18019de00
jmp 0x1800d4c52
mov esi, 0x8007000e
test esi, esi
js 0x1800d4d64
mov rdx, qword [rsp + 0x48]
mov edi, dword [rsp + 0xb8]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x108]
mov qword [r12 + 0x108], rax
mov eax, dword [rcx + 0x110]
mov dword [r12 + 0x110], eax
mov rax, qword [rcx + 0x128]
mov qword [r12 + 0x128], rax
mov eax, dword [rcx + 0x130]
mov dword [r12 + 0x130], eax
mov eax, dword [rcx + 0x134]
mov dword [r12 + 0x134], eax
mov eax, dword [rcx + 0x13c]
mov dword [r12 + 0x13c], eax
mov eax, dword [rcx + 0x48]
mov dword [r12 + 0x130], 0xffffffff
mov dword [r12 + 0x48], eax
mov r14, qword [rdx]
mov r13, qword [r15 + 0x19550]
jmp 0x1800d4ce4
mov rdx, qword [rsp + 0x48]
mov r9d, dword [rsp + 0xb0]
mov qword [rdx], r12
add rdx, 8
inc r9d
mov qword [rsp + 0x48], rdx
cmp r9d, dword [rsp + 0xa8]
mov dword [rsp + 0xb0], r9d
movabs r9, 0x18044210208
jb 0x1800d4ab0
xor ebp, ebp
inc edi
mov dword [rsp + 0xb8], edi
cmp edi, dword [rsp + 0x40]
jb 0x1800d49e0
mov rax, rbx
test rbx, rbx
je 0x1800d4d6b
mov rbx, qword [rbx]
jmp 0x1800d49a0
xor ebp, ebp
jmp 0x1800d4d1d
xor ebp, ebp
movabs r9, 0x18044210208
jmp 0x1800d4d1d
xor ebp, ebp
jmp 0x1800d4d1d
xor ebp, ebp
movabs r9, 0x18044210208
jmp 0x1800d4d1d
mov eax, esi
jmp 0x1800d4fd6
cmp r12, 0xffffffffffffffff
je 0x1800d4fd4
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800d4d84
mov rcx, rbp
jmp 0x1800d4d8d
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
cmp qword [rcx + 0x30], 0
je 0x1800d4dc1
mov rbx, qword [rcx + 0x30]
test rbx, rbx
jne 0x1800d4da2
mov rbx, rbp
jmp 0x1800d4dd6
mov rax, qword [rbx]
mov qword [rcx + 0x30], rax
test rax, rax
jne 0x1800d4db2
mov qword [rcx + 0x38], rbp
movabs rax, 0xfefefefefefefefe
mov qword [rbx], rax
jmp 0x1800d4dd6
mov rcx, qword [rcx + 0x28]
mov edx, 0x80
lea r8d, [rdx - 0x70]
call fcn.180243b70
mov rbx, rax
test rbx, rbx
je 0x1800d4ea8
xor eax, eax
mov edx, 0x30000001
mov rcx, rbx
lea r9d, [rax + 1]
lea r8d, [rax + 3]
mov qword [rbx], 0xffffffffffffffff
mov qword [rbx + 8], 0xffffffffffffffff
mov dword [rbx + 0x10], ebp
mov dword [rbx + 0x20], ebp
mov dword [rbx + 0x30], 0xffffffff
mov dword [rbx + 0x78], ebp
mov qword [rbx + 0x18], rbp
mov word [rbx + 0x7c], bp
mov qword [rbx + 0x28], rax
mov word [rbx + 0x7e], ax
mov dword [rbx + 0x38], eax
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x40], eax
mov qword [rbx + 0x48], 0xffffffffffffffff
mov dword [rbx + 0x50], eax
mov dword [rbx + 0x68], eax
mov qword [rbx + 0x70], rax
mov byte [rsp + 0x20], al
call fcn.180193d40
mov dword [rsp + 0xa8], eax
test eax, eax
js 0x1800d4e6e
test r13, r13
je 0x1800d4e63
mov eax, dword [r13 + 0x68]
mov dword [rbx + 0x68], eax
mov rax, qword [r13 + 0x70]
mov qword [rbx + 0x70], rax
mov r12, qword [rsp + 0x50]
xor ebp, ebp
mov eax, ebp
jmp 0x1800d4eb5
lea rdx, [rbx + 0x18]
lea rcx, [rbx + 0x7c]
call fcn.180193c50
lea rdx, [rbx + 0x28]
lea rcx, [rbx + 0x7e]
call fcn.180193c50
mov rcx, rbx
call fcn.1801979c0
mov rbx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x50]
mov eax, dword [rsp + 0xa8]
xor ebp, ebp
jmp 0x1800d4eb5
mov rbx, qword [rsp + 0xa8]
mov eax, 0x8007000e
test eax, eax
js 0x1800d4fd6
mov rax, qword [rbx + 0x28]
movsd xmm0, qword [0x180068590]
mov dword [rsp + 0x30], ebp
mov qword [rax], r12
mov rax, qword [rbx + 0x18]
mov r9d, 4
mov qword [rax], r14
mov rdx, qword [rbx + 0x18]
mov r8, qword [r15 + 0xd040]
add rdx, 8
mov rcx, r15
mov dword [rsp + 0x28], ebp
movsd qword [rsp + 0x20], xmm0
call fcn.18019f150
test eax, eax
js 0x1800d4fd6
mov rdx, qword [rbx + 0x18]
movsd xmm0, qword [0x1800685e8]
mov r8, qword [r15 + 0xd040]
mov dword [rsp + 0x30], ebp
mov r9d, 4
mov rcx, r15
add rdx, 0x10
mov dword [rsp + 0x28], ebp
movsd qword [rsp + 0x20], xmm0
call fcn.18019f150
test eax, eax
js 0x1800d4fd6
mov rdx, qword [r15 + 0x18]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rbx + 8], rbp
mov qword [rbx], rbp
mov ecx, ebp
mov rax, rbx
nop dword [rax + rax]
mov rax, qword [rax]
inc ecx
test rax, rax
jne 0x1800d4f60
add dword [r15 + 0x14], ecx
test rdx, rdx
je 0x1800d4f9d
mov rax, qword [rdx + 8]
mov qword [rbx + 8], rax
mov rax, qword [rdx + 8]
test rax, rax
je 0x1800d4f90
mov qword [rax], rbx
mov qword [rbx], rdx
mov qword [rdx + 8], rbx
jmp 0x1800d4fbb
mov qword [r15 + 0x18], rbx
mov qword [rbx], rdx
mov qword [rdx + 8], rbx
jmp 0x1800d4fbb
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x1800d4fab
mov qword [rax], rbx
jmp 0x1800d4faf
mov qword [r15 + 0x18], rbx
mov rax, qword [r15 + 0x20]
mov qword [rbx + 8], rax
mov qword [r15 + 0x20], rbx
or dword [r15 + 0x28], 7
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], rbp
call fcn.1800c5e00
mov eax, ebp
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xa0]
add rsp, 0x78
pop r15
pop r12
pop rbp
pop rbx
ret