Function at 0x1403b25c0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov edi, ecx
mov rax, qword [0x14051d038]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov ecx, dword [0x14052e6f8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
test rax, rax
je 0x1403b2610
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1402ddd70
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
test edi, edi
je 0x1403b282e
xor esi, esi
jmp 0x1403b25ec
mov ecx, 1
mov edx, 0x2d8
call fcn.140225f50
test rax, rax
je 0x1403b2604
mov rsi, rax
lea rdi, [0x14053f1c0]
mov rcx, rdi
call fcn.1401b95a0
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsi + 0x2bc], eax
mov eax, dword [0x14052e70c]
mov dword [rsi + 0x2c0], eax
lea rax, [fcn.14031d0e0]
mov qword [rsi + 0x188], rax
lea rax, [0x1403f9aa0]
mov qword [rsi + 0x190], rax
lea rax, [0x1403f9ac0]
mov qword [rsi + 0x198], rax
lea rax, [0x1403f9ae0]
mov qword [rsi + 0x1a0], rax
mov eax, dword [0x14053f268]
mov dword [rsi + 0x1a8], eax
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsi + 0x1ac], eax
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsi + reloc.SHELL32.dll_IsUserAnAdmin], eax
mov rax, qword [0x14052e718]
mov qword [rsi + 0x2b0], rax
mov eax, dword [0x14053f26c]
mov dword [rsi + 0x2b8], eax
mov eax, dword [reloc.WS2_32.dll_accept]
mov dword [rsi + 0x1b0], eax
mov eax, dword [0x14053f270]
mov dword [rsi + 0x1b4], eax
mov eax, dword [0x14053f274]
mov dword [rsi + 0x1b8], eax
mov eax, dword [0x14053f278]
mov dword [rsi + 0x1bc], eax
mov eax, dword [0x14053f27c]
mov dword [rsi + 0x1c0], eax
mov eax, dword [0x14053f280]
mov dword [rsi + 0x1c4], eax
mov rax, qword [0x14052e700]
mov qword [rsi + 0x70], rax
mov rax, qword [0x14053f260]
mov qword [rsi + 0x80], rax
mov rax, qword [0x14053f250]
mov qword [rsi + 0x78], rax
mov rax, qword [0x14053f258]
mov qword [rsi + 0x88], rax
mov rax, qword [0x14053f288]
mov qword [rsi + 0x2c8], rax
mov rax, qword [0x14053f290]
mov qword [rsi + 0x2d0], rax
mov rax, qword [0x14053f298]
mov qword [rsi + 0x170], rax
mov rax, qword [0x14053f2a0]
mov qword [rsi + 0x178], rax
mov rcx, rdi
call fcn.1401b95b0
mov ecx, dword [0x14052e6f8]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x40]
mov qword [rbx], rax
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x30], 2
mov rcx, rdi
mov rdx, rax
mov r8, rdi
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x1403b281b
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 8
mov dword [rsp + 0x20], 0xffffffff
lea r8, [0x1403b2a40]
lea rcx, [rsp + 0x38]
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
mov rcx, qword [rsp + 0x40]
test eax, eax
je 0x1403b2826
mov qword [rsi + 8], rcx
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0x10], rax
mov dword [rsi], 1
jmp 0x1403b25ec
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1403b281b
mov ecx, 2
call fcn.1402e1fa0
lea rcx, str.libxml2:_Failed_to_allocate_globals_for_thread_nlibxml2:_See_xmlCheckThreadLocalStorage_n
mov edx, 0x57
mov r8d, 1
mov r9, rax
call fcn.140301170
call fcn.1402f9360
int3