joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18004de50
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov r14d, r8d
mov rsi, rdx
mov rbp, rcx
xor r8d, r8d
mov edx, 1
xor ecx, ecx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi + 8], rax
mov rdi, rax
test rax, rax
jne 0x18004deb6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rsi]
mov edx, 1
mov rcx, rsi
mov ebx, eax
call qword [r8]
mov dword [rsp + 0x30], ebx
call fcn.180046bf0
mov qword [rsp + 0x38], rax
test ebx, ebx
jne 0x18004dfba
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbp + 0x10], rax
mov qword [rsi + 0x10], rax
cmp qword [rbp + 0x10], 0
jne 0x18004df04
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rsi]
mov edx, 1
mov rcx, rsi
mov ebx, eax
call qword [r8]
mov dword [rsp + 0x30], ebx
call fcn.180046bf0
mov qword [rsp + 0x38], rax
test ebx, ebx
jne 0x18004dfcc
xor ecx, ecx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea r8, [0x18004e3c0]
mov r9, rsi
mov dword [rsp + 0x20], ecx
mov edx, r14d
mov dword [rsp + 0x68], ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp + 8], rax
test rax, rax
jne 0x18004df79
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, qword [rsi]
mov edx, 1
mov rcx, rsi
mov ebx, eax
call qword [r8]
test rdi, rdi
je 0x18004df58
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x18004df67
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rsp + 0x30], ebx
call fcn.180046bf0
mov qword [rsp + 0x38], rax
test ebx, ebx
jne 0x18004dfa8
test rdi, rdi
je 0x18004df95
mov edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
lea rdx, str.thread
lea rcx, [rsp + 0x30]
call fcn.180046b50
int3
lea rdx, str.thread.entry_event
lea rcx, [rsp + 0x30]
call fcn.180046b50
int3
lea rdx, str.thread.exit_event
lea rcx, [rsp + 0x30]
call fcn.180046b50
int3
Function at 0x18004fb40
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rbx, rdx
mov rdi, rcx
xor esi, esi
lea rcx, [rbp + 0xf0]
call fcn.18005a710
movups xmm0, xmmword [rbx + 0xd0]
movaps xmmword [rbp + 0x1c0], xmm0
xor r9d, r9d
lea r8, [0x1800a0ed6]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1800585d0
mov rbx, rax
cmp qword [rax + 0x20], rsi
je 0x18004fbe5
mov rcx, qword [rax + 0x18]
mov qword [rbp + 0x90], rcx
mov rcx, qword [rax + 0x28]
mov qword [rbp + 0xa0], rcx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x28], rsi
mov rdx, rax
lea rcx, [rbp + 0x78]
mov rax, qword [rbp + 0x90]
call qword [rax + select]
mov qword [rbx + 0x20], rsi
jmp 0x18004fbf7
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rsi
mov rax, qword [rbx + 0x30]
mov qword [rbp + 0xa8], rax
lea rax, [0x18009f6d0]
mov qword [rbx + 0x30], rax
cmp qword [rbx + 0x20], 0
je 0x18004fc1e
mov rax, qword [rbx + 0x18]
mov rcx, rbx
call qword [rax]
nop
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [0x1800a0ed7]
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0xb0]
mov rcx, qword [0x1800c30c8]
call fcn.1800500c0
mov r14, rax
cmp qword [rax + 0x20], 0
je 0x18004fda1
mov rcx, qword [rax + 0x28]
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x18004fc93
lea rcx, [0x180053b00]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0xf0]
mov qword [rsp + 0x48], rcx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, r14
call rax
jmp 0x18004fd3b
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x68]
call fcn.18005a710
movaps xmm0, xmmword [rbp + 0x1c0]
movups xmmword [rbp + 0x68], xmm0
lea rax, [rbp - 0x68]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x18004fccc
mov rsi, qword [rax + 8]
mov r9d, 8
mov r8d, 0xf0
mov rdx, rsi
movzx ecx, byte [rsp + 0x30]
call fcn.1800479f0
mov rdi, rax
lea rdx, [rbp - 0x68]
lea rcx, [rax + 8]
call fcn.18005a710
movups xmm0, xmmword [rbp + 0x68]
movups xmmword [rdi + 0xd8], xmm0
lea rax, [0x180053b30]
mov qword [rdi], rax
mov qword [rsp + 0x38], rdi
lea rcx, [rbp - 0x68]
call fcn.18005e630
nop
mov rax, qword [r14 + 0x28]
lea rdx, [rsp + 0x38]
mov rcx, r14
call qword [rax + select]
nop
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x18004fd3b
xor edx, edx
mov rcx, rax
call qword [rax]
nop
cmp qword [rbp + 0xd0], 0
je 0x18004fd56
lea rcx, [rbp + 0xb0]
mov rax, qword [rbp + 0xc8]
call qword [rax]
nop
cmp qword [rbp + 0x98], 0
je 0x18004fd6e
lea rcx, [rbp + 0x78]
mov rax, qword [rbp + 0x90]
call qword [rax]
nop
lea rcx, [rbp + 0xf0]
call fcn.18005e630
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.180097330
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
lea rcx, [rsp + 0x40]
call fcn.180049260
nop
lea rcx, [rsp + 0x40]
call fcn.180048a30
int3
Function at 0x1800501e0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x100
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0xf8], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor ebp, ebp
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x50]
call fcn.1800590a0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], rbp
mov rax, qword [rdi + 8]
test rax, rax
je 0x180050242
lock inc dword [rax + 8]
mov rax, qword [rdi]
mov qword [rsp + 0xd8], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0xe0], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xe8], rax
lea rdi, [rsi + 8]
mov rsi, qword [rsi]
mov rbx, qword [rdi]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x18005028e
cmp qword [rax], rbx
je 0x1800502af
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180050280
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800502f4
mov rdx, qword [rax + 8]
jmp 0x1800502f7
cmp qword [rax + 8], 0
je 0x18005028e
nop
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x50]
call fcn.180050690
nop
nop
jmp 0x180050358
mov rdx, rbp
mov r9d, 8
mov r8d, 0xe0
movzx ecx, byte [rsp + 0x30]
call fcn.1800478d0
mov rbx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x18006ae20]
mov qword [rbx + 0x28], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
mov qword [rbx + 0x18], rbp
mov dword [rbx + 0x30], ebp
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0x50]
call fcn.180059690
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rbp
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.18006cbe0
nop
mov edi, 0xffffffff
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
je 0x180050393
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180050393
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180050393
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x1800503c7
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1800503c7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1800503c7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x58]
call fcn.18005ea70
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x128]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
Function at 0x180052bf0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x48], r12d
lea r13, [0x1800c3050]
mov qword [rsp + 0x50], r13
lea rdi, [rcx + 8]
cmp qword [rdi], 0xffffffffffffffff
jne 0x180052cb5
mov eax, 2
mov ecx, 0x17
cmp word [rdx], ax
cmovne eax, ecx
mov dword [rsp + 0x44], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
mov r8, rdi
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx]
call fcn.18007e800
cmp dword [rsp + 0x48], r12d
je 0x180052cb5
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.18005a710
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x140], xmm0
lea rcx, [rbx + 0x68]
xor r8d, r8d
lea rdx, [rsp + 0x70]
call fcn.180058460
nop
lea rcx, [rsp + 0x70]
call fcn.18005e630
jmp 0x180052dae
lea r14, [rbx + 0x68]
mov r15, qword [rbx]
mov qword [rsp + 0x58], rsi
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180052cd8
mov rdx, qword [rax + 8]
jmp 0x180052cdb
mov rdx, r12
mov r9d, 8
mov r8d, 0x178
movzx ecx, byte [rsp + 0x40]
call fcn.1800478d0
mov rbx, rax
mov qword [rsp + 0x60], rax
mov rcx, qword [rdi]
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x50], r13
mov qword [rax + 0x20], r12
lea rax, [0x18006bc20]
mov qword [rbx + 0x28], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
mov dword [rbx + 0x30], r12d
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rbx + 0x38], xmm0
mov qword [rbx + 0x48], r12
mov qword [rbx + 0x50], r12
lea rax, [0x18006ce00]
mov qword [rbx + 0x58], rax
mov qword [rbx + 0x60], rcx
mov byte [rbx + 0x68], 0
lea rcx, [rbx + 0x70]
mov rdx, rsi
call fcn.18005a710
lea rcx, [rbx + 0x140]
mov r9, r14
xor r8d, r8d
xor edx, edx
call fcn.180048f10
mov qword [rsp + 0x68], rbx
mov eax, select
mov ecx, 0x1c
cmp word [rbp], 2
cmovne eax, ecx
lea rcx, [r15 + 0x28]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
mov r9d, 1
mov r8d, dword [rdi + 0x38]
mov rdx, rdi
call fcn.18008bc80
nop
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x1b8]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180052de0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov r15d, r9d
mov r14, r8
mov rbp, rdx
mov r12, rcx
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edi, edi
test rax, rax
je 0x180052e1e
mov rdx, qword [rax + 8]
jmp 0x180052e21
mov rdx, rdi
mov r9d, 8
mov r8d, 0x140
movzx ecx, byte [rsp + 0xd0]
call fcn.1800478d0
mov rbx, rax
mov rax, qword [rbp + 0x18]
mov rsi, rdi
mov rcx, rdi
test rax, rax
je 0x180052e57
mov rcx, qword [rbp + 0x10]
mov rsi, rax
lock inc dword [rax + 0xc]
movzx eax, byte [rbp + 8]
mov qword [rbx + 0x20], rdi
lea rdx, [0x18006be60]
mov qword [rbx + 0x28], rdx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov dword [rbx + 0x30], edi
mov byte [rbx + 0x38], al
mov qword [rbx + 0x40], rdi
mov qword [rbx + 0x48], rdi
test rsi, rsi
je 0x180052e98
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x48], rsi
lock inc dword [rsi + 0xc]
movups xmm0, xmmword [r14]
movups xmmword [rbx + 0x50], xmm0
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx]
mov qword [rbx + 0x60], rax
mov rax, qword [rdx + 8]
mov qword [rbx + 0x68], rax
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rbx + 0x70], xmm0
movsd xmm1, qword [rdx + 0x20]
movsd qword [rbx + 0x80], xmm1
mov eax, dword [rdx + 0x28]
mov dword [rbx + 0x88], eax
mov rax, qword [rdx + 0x30]
mov qword [rbx + 0x90], rax
mov rax, qword [rdx + 0x38]
mov qword [rbx + 0x98], rax
add rdx, 0x40
lea rcx, [rbx + 0xa0]
call fcn.18005a060
lea rcx, [rbx + 0x108]
mov r9, qword [rsp + 0xd8]
xor r8d, r8d
xor edx, edx
call fcn.180048f10
test rsi, rsi
je 0x180052f31
mov eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x180052f31
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
movups xmm0, xmmword [r14]
movq qword [rsp + 0x58], xmm0
movq xmm0, qword [r14 + 8]
movd dword [rsp + 0x50], xmm0
mov rax, qword [r14 + 8]
mov qword [rsp + 0x60], rax
test byte [rbp + 8], 0x10
je 0x180052f5f
test rax, rax
jne 0x180052f5f
mov al, 1
jmp 0x180052f61
xor eax, eax
mov qword [rsp + 0x30], rbx
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r15d
mov r9d, 1
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, r12
call fcn.18008c090
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x180052fb0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
mov r15d, r9d
mov r14, r8
mov rbp, rdx
mov r12, rcx
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edi, edi
test rax, rax
je 0x180052fee
mov rdx, qword [rax + 8]
jmp 0x180052ff1
mov rdx, rdi
mov r9d, 8
mov r8d, 0x148
movzx ecx, byte [rsp + 0xd0]
call fcn.1800478d0
mov rbx, rax
mov rax, qword [rbp + 0x18]
mov rsi, rdi
mov rcx, rdi
test rax, rax
je 0x180053027
mov rcx, qword [rbp + 0x10]
mov rsi, rax
lock inc dword [rax + 0xc]
movzx eax, byte [rbp + 8]
mov qword [rbx + 0x20], rdi
lea rdx, [0x18006c1b0]
mov qword [rbx + 0x28], rdx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov dword [rbx + 0x30], edi
mov byte [rbx + 0x38], al
mov qword [rbx + 0x40], rdi
mov qword [rbx + 0x48], rdi
test rsi, rsi
je 0x180053068
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x48], rsi
lock inc dword [rsi + 0xc]
movups xmm0, xmmword [r14]
movups xmmword [rbx + 0x50], xmm0
lea rcx, [rbx + 0x60]
mov rdx, qword [rsp + 0xd0]
call fcn.18005a850
lea rcx, [rbx + 0x110]
mov r9, qword [rsp + 0xd8]
xor r8d, r8d
xor edx, edx
call fcn.180048f10
test rsi, rsi
je 0x1800530b7
mov eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x1800530b7
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
movups xmm0, xmmword [r14]
movq qword [rsp + 0x58], xmm0
movq xmm0, qword [r14 + 8]
movd dword [rsp + 0x50], xmm0
mov rax, qword [r14 + 8]
mov qword [rsp + 0x60], rax
test byte [rbp + 8], 0x10
je 0x1800530e5
test rax, rax
jne 0x1800530e5
mov al, 1
jmp 0x1800530e7
xor eax, eax
mov qword [rsp + 0x30], rbx
mov byte [rsp + 0x28], al
mov dword [rsp + 0x20], r15d
mov r9d, 1
lea r8, [rsp + 0x50]
mov rdx, rbp
mov rcx, r12
call fcn.18008c090
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x180053130
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r15, r9
mov rbp, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x30], r9
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r13d, r13d
test rax, rax
je 0x18005316f
mov rdx, qword [rax + 8]
jmp 0x180053172
mov rdx, r13
mov r9d, 8
mov r8d, 0x198
movzx ecx, byte [rsp + 0x90]
call fcn.1800478d0
mov rdi, rax
mov rsi, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800531cb
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
lock inc dword [rcx + 0xc]
mov rsi, qword [rsp + 0x38]
lea rax, [rsp + 0x20]
mov qword [rsp + 0x98], rax
mov r12, qword [r14 + 0x28]
mov qword [rdi + 0x20], r13
lea rax, [0x18006b530]
mov qword [rdi + 0x28], rax
mov qword [rsi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov dword [rdi + 0x30], r13d
mov dword [rdi + 0x38], r13d
lea rax, [0x1800c3050]
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x48], r13
mov qword [rdi + 0x50], r13
cmp qword [rsp + 0x28], 0
je 0x180053238
mov rax, qword [rsp + 0x20]
mov qword [rdi + 0x48], rax
mov rax, qword [rsp + 0x28]
mov qword [rdi + 0x50], rax
lock inc dword [rax + 0xc]
mov rsi, qword [rsp + 0x38]
lea rbx, [rdi + 0x58]
mov qword [rsp + 0xa0], rbx
movups xmm0, xmmword [rbp]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rbx + 0x20], xmm0
lea rdx, [rbp + 0x30]
lea rcx, [rbx + 0x30]
call fcn.1800460c0
nop
lea rdx, [rbp + 0x50]
lea rcx, [rbx + 0x50]
call fcn.1800460c0
nop
mov qword [rdi + 0xc8], r12
mov rax, qword [r15]
mov qword [rdi + 0xd0], rax
mov rax, qword [r15 + 8]
mov qword [rdi + 0xd8], rax
lea rdx, [r15 + 0x10]
lea rcx, [rdi + 0xe0]
call fcn.180059120
lea rcx, [rdi + 0x158]
mov r9, qword [rsp + 0xb0]
xor r8d, r8d
xor edx, edx
call fcn.180048f10
mov qword [rdi + 0x190], r13
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1800532e7
mov eax, 0xffffffff
lock xadd dword [rcx + 0xc], eax
cmp eax, 1
jne 0x1800532e2
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x40], rsi
mov rdx, rsi
lea rcx, [r14 + 0x28]
call fcn.18008c1a0
nop
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180053320
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0x488], rax
mov dword [rsp + 0x44], r9d
mov rdi, r8
mov r15, rdx
mov qword [rsp + 0x48], rcx
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x4f8]
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebx, ebx
test rax, rax
je 0x180053382
mov rdx, qword [rax + 8]
jmp 0x180053385
mov rdx, rbx
mov r9d, 8
mov r8d, 0x248
movzx ecx, byte [rsp + 0x40]
call fcn.1800478d0
mov rsi, rax
mov rax, qword [r15 + 0x18]
mov r14, rbx
mov rcx, rbx
test rax, rax
je 0x1800533b8
mov rcx, qword [r15 + 0x10]
mov r14, rax
lock inc dword [rax + 0xc]
mov qword [rsi + 0x20], rbx
lea rax, [0x18006c480]
mov qword [rsi + 0x28], rax
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rbx
mov dword [rsi + 0x30], ebx
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x40], rbx
test r14, r14
je 0x1800533f3
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x40], r14
lock inc dword [r14 + 0xc]
lea rcx, [rsi + 0x48]
mov rax, rdi
mov edx, 2
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180053400
mov rax, qword [rax]
mov qword [rcx], rax
lea rcx, [rsi + 0x150]
mov rdx, r12
call fcn.18005aac0
lea rcx, [rsi + 0x210]
mov r9, r13
xor r8d, r8d
xor edx, edx
call fcn.180048f10
test r14, r14
je 0x180053499
mov eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x180053499
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rsp + 0x460], rbx
mov rcx, rbx
mov qword [rsp + 0x468], rbx
mov rdx, qword [rdi + 0x100]
shl rdx, 4
add rdx, rdi
cmp rdi, rdx
je 0x180053509
nop
cmp rbx, 0x40
jae 0x180053509
movups xmm0, xmmword [rdi]
add rbx, rbx
movq qword [rsp + rbx*8 + 0x68], xmm0
mov rax, qword [rdi + 8]
mov dword [rsp + rbx*8 + 0x60], eax
mov rcx, qword [rsp + 0x468]
add rcx, rax
mov qword [rsp + 0x468], rcx
add rdi, 0x10
mov rbx, qword [rsp + 0x460]
inc rbx
mov qword [rsp + 0x460], rbx
cmp rdi, rdx
jne 0x1800534c0
test byte [r15 + 8], 0x10
je 0x180053519
test rcx, rcx
jne 0x180053519
mov al, 1
jmp 0x18005351b
xor eax, eax
mov qword [rsp + 0x30], rsi
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, [rsp + 0x60]
mov rdx, r15
mov rcx, qword [rsp + 0x48]
call fcn.18008c2f0
nop
mov rcx, qword [rsp + 0x488]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x4e0]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x180053570
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0x488], rax
mov dword [rsp + 0x44], r9d
mov rdi, r8
mov r15, rdx
mov qword [rsp + 0x48], rcx
mov r12, qword [rsp + 0x4f0]
mov r13, qword [rsp + 0x4f8]
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor ebx, ebx
test rax, rax
je 0x1800535d2
mov rdx, qword [rax + 8]
jmp 0x1800535d5
mov rdx, rbx
mov r9d, 8
mov r8d, 0x250
movzx ecx, byte [rsp + 0x40]
call fcn.1800478d0
mov rsi, rax
mov rax, qword [r15 + 0x18]
mov r14, rbx
mov rcx, rbx
test rax, rax
je 0x180053608
mov rcx, qword [r15 + 0x10]
mov r14, rax
lock inc dword [rax + 0xc]
mov qword [rsi + 0x20], rbx
lea rax, [0x18006c710]
mov qword [rsi + 0x28], rax
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], rbx
mov dword [rsi + 0x30], ebx
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x40], rbx
test r14, r14
je 0x180053643
mov qword [rsi + 0x38], rcx
mov qword [rsi + 0x40], r14
lock inc dword [r14 + 0xc]
lea rcx, [rsi + 0x48]
mov rax, rdi
mov edx, 2
nop
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x180053650
mov rax, qword [rax]
mov qword [rcx], rax
lea rcx, [rsi + 0x150]
mov rdx, r12
call fcn.18005ab40
lea rcx, [rsi + 0x218]
mov r9, r13
xor r8d, r8d
xor edx, edx
call fcn.180048f10
test r14, r14
je 0x1800536e9
mov eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x1800536e9
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rsp + 0x460], rbx
mov rcx, rbx
mov qword [rsp + 0x468], rbx
mov rdx, qword [rdi + 0x100]
shl rdx, 4
add rdx, rdi
cmp rdi, rdx
je 0x180053759
nop
cmp rbx, 0x40
jae 0x180053759
movups xmm0, xmmword [rdi]
add rbx, rbx
movq qword [rsp + rbx*8 + 0x68], xmm0
mov rax, qword [rdi + 8]
mov dword [rsp + rbx*8 + 0x60], eax
mov rcx, qword [rsp + 0x468]
add rcx, rax
mov qword [rsp + 0x468], rcx
add rdi, 0x10
mov rbx, qword [rsp + 0x460]
inc rbx
mov qword [rsp + 0x460], rbx
cmp rdi, rdx
jne 0x180053710
test byte [r15 + 8], 0x10
je 0x180053769
test rcx, rcx
jne 0x180053769
mov al, 1
jmp 0x18005376b
xor eax, eax
mov qword [rsp + 0x30], rsi
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, [rsp + 0x60]
mov rdx, r15
mov rcx, qword [rsp + 0x48]
call fcn.18008c2f0
nop
mov rcx, qword [rsp + 0x488]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x4e0]
add rsp, 0x490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret