Function at 0x1404335a0
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbp, qword [0x140692950]
mov rax, qword [rbp]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rsi, rcx
mov rdi, rdx
test rcx, rcx
je 0x1404336d0
lea r12, [0x1405a5d88]
mov rcx, r12
call fcn.140430a60
mov rcx, rsi
call fcn.1404310d0
mov rcx, r12
mov rbx, rax
call fcn.140430d30
test rbx, rbx
je 0x1404336d0
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1404336d0
lea rdx, [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x1404336d0
test byte [rbx + 0x44], 4
jne 0x1404336f0
call fcn.1404317b0
mov ecx, dword [0x1405a5d98]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140433710
cmp rsi, qword [rax + 0x1d8]
je 0x140433740
mov eax, dword [rbx + 0xbc]
mov rcx, qword [rbx + 0x28]
test eax, eax
je 0x14043365f
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14043366e
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbx + 0x28]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140433682
call rsi
mov qword [rbx + 0x30], 0
test rdi, rdi
je 0x140433728
mov rax, qword [rbx + 8]
lea rcx, [rbx + 0x38]
mov qword [rdi], rax
call fcn.140430ed0
lea rcx, [rbx + 0x68]
call fcn.140431040
cmp eax, 1
je 0x14043374c
cmp qword [rbx + 0x1d0], 0
mov qword [rbx + 0x68], 0xffffffffffffffff
je 0x140433700
xor eax, eax
jmp 0x1404336d5
mov eax, 3
mov rdx, qword [rsp + 0x28]
sub rdx, qword [rbp]
jne 0x140433747
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov eax, 0x16
jmp 0x1404336d5
mov rcx, rbx
call fcn.140431610
xor eax, eax
jmp 0x1404336d5
call fcn.140431860
test rax, rax
je 0x140433647
jmp 0x14043363a
lea rcx, [rbx + 0x38]
call fcn.140430ed0
lea rcx, [rbx + 0x68]
jmp 0x1404336a7
mov eax, 0x24
jmp 0x1404336d5
call fcn.140420720
call fcn.1404313a0
nop
nop word cs:[rax + rax]
nop dword [rax]
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbp, qword [0x140692950]
mov r12, qword [rbp]
mov qword [rsp + 0x28], r12
lea r12, [0x1405a5d88]
mov rsi, rcx
mov rdi, rdx
mov rcx, r12
call fcn.140430a60
mov rcx, rsi
call fcn.1404310d0
mov rbx, rax
test rax, rax
je 0x1404338a0
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1404338a0
lea rdx, [rsp + 0x24]
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x1404338a0
test byte [rbx + 0x44], 4
jne 0x1404338b0
call fcn.1404317b0
mov ecx, dword [0x1405a5d98]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1404338e0
mov rdx, qword [rax + 0x1d8]
cmp rsi, rdx
je 0x140433920
mov edx, dword [rbx + 0xbc]
test edx, edx
jne 0x140433815
xor edx, edx
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1404338c0
mov rcx, qword [rbx + 0x28]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14043382d
call rsi
mov qword [rbx + 0x30], 0
test rdi, rdi
je 0x1404338f8
mov rax, qword [rbx + 8]
lea rcx, [rbx + 0x38]
mov qword [rdi], rax
call fcn.140430ed0
lea rcx, [rbx + 0x68]
call fcn.140431040
cmp eax, 1
je 0x140433937
cmp qword [rbx + 0x1d0], 0
mov qword [rbx + 0x68], 0xffffffffffffffff
je 0x140433910
mov rcx, r12
call fcn.140430d30
xor eax, eax
mov rdx, qword [rsp + 0x28]
sub rdx, qword [rbp]
jne 0x140433932
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, r12
call fcn.140430d30
mov eax, 3
jmp 0x140433880
mov rcx, r12
call fcn.140430d30
mov eax, 0x16
jmp 0x140433880
mov eax, dword [rbx + 0xbc]
test eax, eax
jne 0x140433815
mov rcx, r12
call fcn.140430d30
mov eax, 0x10
jmp 0x140433880
call fcn.140431860
xor edx, edx
test rax, rax
je 0x1404337ee
jmp 0x1404337e7
lea rcx, [rbx + 0x38]
call fcn.140430ed0
lea rcx, [rbx + 0x68]
jmp 0x140433852
mov rcx, rbx
call fcn.140431610
jmp 0x140433876
mov rcx, r12
call fcn.140430d30
mov eax, 0x24
jmp 0x140433880
call fcn.140420720
call fcn.1404313a0
nop
nop dword [rax]