joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800537c0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rdi, rdx
lea r14, [rcx + 0x40]
lea rsi, [rcx + 8]
mov rbp, qword [rcx]
mov qword [rsp + 0x30], rdx
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r15d, r15d
test rax, rax
je 0x180053805
mov rdx, qword [rax + 8]
jmp 0x180053808
mov rdx, r15
mov r9d, 8
mov r8d, 0xa0
movzx ecx, byte [rsp + 0x70]
call fcn.1800478d0
mov rbx, rax
mov qword [rsp + 0x38], rax
mov qword [rax + 0x20], r15
lea rax, [0x18004b370]
mov qword [rbx + 0x28], rax
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x30], r15d
mov dword [rbx + 0x38], r15d
lea rax, [0x1800c3050]
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x48], r15
mov rax, qword [rdi]
mov qword [rbx + 0x50], rax
movzx eax, byte [rdi + 8]
mov byte [rbx + 0x58], al
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x60], rax
lea rcx, [rbx + 0x68]
mov r9, r14
xor r8d, r8d
xor edx, edx
call fcn.180048f10
mov qword [rsp + 0x40], rbx
mov byte [rsi + 8], 1
lea r9, [rsi + 0x10]
lea rdx, [rbp + 0x28]
mov qword [rsp + 0x20], rbx
mov r8, rsi
mov rcx, qword [rbp + 0x58]
call fcn.180048880
nop
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret

Function at 0x180054730
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov rdi, rdx
mov rsi, rcx
mov rax, qword [rcx + 0x10]
lea rbx, [rax + 0x28]
xor ebp, ebp
test rax, rax
cmove rbx, rbp
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x18005477e
nop dword [rax]
cmp qword [rax], rbx
je 0x180054795
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180054770
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800547ba
mov rdx, qword [rax + 8]
jmp 0x1800547bd
cmp qword [rax + 8], rbp
je 0x18005477e
nop
lea r9, [rdi + 8]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r8, rdi
xor edx, edx
xor ecx, ecx
call fcn.180050760
nop
nop
jmp 0x180054823
mov rdx, rbp
mov r9d, 8
mov r8d, 0x60
movzx ecx, byte [rsp + 0x50]
call fcn.1800478d0
mov rdx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x18006a6c0]
mov qword [rdx + 0x28], rax
mov qword [rdx], rbp
mov qword [rdx + 8], rbp
mov qword [rdx + 0x10], rbp
mov qword [rdx + 0x18], rbp
mov dword [rdx + 0x30], ebp
mov rcx, qword [rdi]
mov qword [rdx + 0x38], rcx
mov rax, qword [rdi + 8]
mov qword [rdx + 0x40], rax
movzx eax, word [rdi + 0x10]
mov word [rdx + 0x48], ax
mov rax, qword [rdi + 0x18]
mov qword [rdx + 0x50], rax
mov rcx, qword [rsi + 0x10]
lock inc dword [rcx + 0x30]
call fcn.18004cd50
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x180054a00
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xd0
mov rbx, rdx
mov rsi, rcx
cmp qword [rcx + 0x20], 0
je 0x180054b9d
mov rax, qword [rcx + 0x28]
mov r8, qword [rax + 0x18]
test r8, r8
je 0x180054a69
lea rax, [0x180053bf0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
call r8
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov rax, qword [rdx]
mov qword [rsp + 0x40], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x48], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x50], rax
add rdx, 0x18
lea rcx, [rsp + 0x58]
call fcn.18005a950
movups xmm0, xmmword [rbx + 0x80]
movups xmmword [rsp + 0xc0], xmm0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xf0], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180054ac4
mov rdx, qword [rax + 8]
jmp 0x180054ac6
xor edx, edx
mov r9d, 8
mov r8d, 0xa0
movzx ecx, byte [rsp + 0xe0]
call fcn.1800479f0
mov rbx, rax
mov rcx, qword [rsp + 0x40]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x18], rcx
lea rcx, [rax + 0x20]
lea rdx, [rsp + 0x58]
call fcn.18005a950
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rbx + 0x88], xmm0
lea rax, [0x180053c00]
mov qword [rbx], rax
mov qword [rsp + 0xe0], rbx
mov rbx, qword [rsp + 0xb8]
test rbx, rbx
je 0x180054b65
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180054b65
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x180054b65
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x58]
call fcn.18005ea70
nop
mov rax, qword [rsi + 0x28]
lea rdx, [rsp + 0xe0]
mov rcx, rsi
call qword [rax + select]
nop
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x180054b98
xor edx, edx
mov rcx, rax
call qword [rax]
nop
jmp 0x180054a54
lea rcx, [rsp + 0x20]
call fcn.180049260
nop
lea rcx, [rsp + 0x20]
call fcn.180048a30
int3
Function at 0x18005f800
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, qword [rcx]
cmp rbx, 0xffffffffffffffff
je 0x18005f8a9
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18005f8a9
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rdi
call fcn.180046bf0
mov rsi, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call fcn.180046bf0
mov rcx, qword [rax + 8]
cmp qword [rsi + 8], rcx
jne 0x18005f855
cmp edi, 0x2733
je 0x18005f86c
call fcn.180046bf0
mov rax, qword [rax + 8]
cmp qword [rsi + 8], rax
jne 0x18005f89f
cmp edi, 0x4d5
jne 0x18005f89f
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18005f89f
call fcn.180046bf0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret

Function at 0x18005ff60
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0xd0
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov rbx, rcx
xor ebp, ebp
lea rdx, [rcx + 0x10]
lea rcx, [rsp + 0x40]
call fcn.180058fe0
movups xmm0, xmmword [rbx + 0x80]
movaps xmmword [rsp + 0xb0], xmm0
lea rdi, [rbx + 8]
mov rsi, qword [rbx]
mov rbx, qword [rdi]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x18005ffd4
cmp qword [rax], rbx
je 0x18005fff5
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18005ffc6
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060013
mov rdx, qword [rax + 8]
jmp 0x180060016
cmp qword [rax + 8], 0
je 0x18005ffd4
nop
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x40]
call fcn.18004fab0
nop
nop
jmp 0x18006008f
mov rdx, rbp
mov r9d, 8
mov r8d, 0xc0
movzx ecx, byte [rsp + 0x20]
call fcn.1800478d0
mov rbx, rax
mov qword [rax + 0x20], rbp
lea rax, [0x18006aa40]
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
mov r8, qword [rsp + 0x40]
mov qword [rbx + 0x38], r8
lea rcx, [rbx + 0x40]
lea rdx, [rsp + 0x48]
call fcn.18005a950
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0xa8], xmm0
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.18006cbe0
nop
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1800600c8
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1800600c8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1800600c8
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rsp + 0x48]
call fcn.18005ea70
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.180097330
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x180060510
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xf0
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0xe8], rax
mov r14, rdx
mov rbx, rcx
xor esi, esi
mov dword [rcx + 0x28], r9d
mov ecx, dword [rdx]
cmp r9d, 1
je 0x180060696
mov rdi, qword [rbx + 0x20]
add rdi, r8
mov qword [rbx + 0x20], rdi
test ecx, ecx
jne 0x180060563
test r8, r8
je 0x180060576
cmp rdi, qword [rbx + 0x18]
jae 0x180060576
test ecx, ecx
jne 0x180060576
cmp rdi, qword [rbx]
jb 0x1800606a3
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x60], rax
lea rdx, [rbx + 0x48]
lea rcx, [rsp + 0x68]
call fcn.180058f30
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], rdi
lea r14, [rbx + 0x38]
mov rbp, qword [rbx + 0x30]
mov rbx, qword [r14]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800605ce
nop dword [rax]
cmp qword [rax], rbx
je 0x1800605ef
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1800605c0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060608
mov rdx, qword [rax + 8]
jmp 0x18006060b
cmp qword [rax + 8], 0
je 0x1800605ce
nop
lea rcx, [rsp + 0x60]
call fcn.180060210
nop
nop
jmp 0x18006068a
mov rdx, rsi
mov r9d, 8
mov r8d, 0xc0
movzx ecx, byte [rsp + 0x30]
call fcn.1800478d0
mov rdi, rax
mov qword [rax + 0x20], rsi
lea rax, [0x18006b250]
mov qword [rdi + 0x28], rax
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov dword [rdi + 0x30], esi
lea rdx, [rsp + 0x60]
lea rcx, [rdi + 0x38]
call fcn.18005a060
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rdi + 0xa0], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [rdi + 0xb0], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov r8, rdi
mov rdx, r14
mov rcx, rbp
call fcn.18006cbe0
nop
lea rcx, [rsp + 0x70]
call fcn.18005ea70
jmp 0x180060704
test ecx, ecx
jne 0x1800606a8
mov rax, qword [rbx]
cmp qword [rbx + 0x20], rax
jae 0x1800606a8
mov esi, 0x10000
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
cmovae rcx, rdx
sub rdx, rcx
add rcx, qword [rbx + 0x10]
mov qword [rsp + 0x40], rcx
cmp rdx, rsi
cmovae rdx, rsi
mov qword [rsp + 0x48], rdx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
mov rax, qword [rbx + 8]
lea r8, [rax + 0x68]
lea rdx, [rax + 8]
mov rcx, qword [rax]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, [rsp + 0x40]
call fcn.180052de0
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.180097330
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
Function at 0x180060ba0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
lea rdi, [rcx + 0x10]
lea rsi, [rcx + 8]
mov rbp, qword [rcx]
mov rbx, qword [rsi]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060bdf
cmp qword [rax], rbx
je 0x180060bfe
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180060bd1
mov qword [rsp + 0x20], rdi
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r14d, r14d
test rax, rax
je 0x180060c1d
mov rdx, qword [rax + 8]
jmp 0x180060c20
cmp qword [rax + 8], 0
je 0x180060bdf
nop
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x180060c97
mov rax, qword [rcx]
call qword [rax + select]
nop
nop
jmp 0x180060c84
mov rdx, r14
mov r9d, 8
mov r8d, 0x80
movzx ecx, byte [rsp + 0x60]
call fcn.1800478d0
mov rbx, rax
mov qword [rax + 0x20], r14
lea rax, [0x18006b370]
mov qword [rbx + 0x28], rax
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x30], r14d
lea rcx, [rbx + 0x38]
mov qword [rcx + 0x38], r14
mov rdx, rdi
call fcn.180046960
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.18006cbe0
nop
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
int3
Function at 0x180060ca0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x240
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov rdi, r8
mov r14, rdx
mov rbx, rcx
xor r15d, r15d
mov dword [rcx + 0x48], r9d
mov esi, dword [rdx]
cmp r9d, 1
je 0x180060e62
mov rdx, r8
add rcx, 0x10
call fcn.1800680e0
test esi, esi
jne 0x180060cfc
test rdi, rdi
jne 0x180060cfc
mov rdi, qword [rbx + 0x30]
jmp 0x180060d18
mov rdi, qword [rbx + 0x30]
cmp rdi, qword [rbx + 0x28]
jae 0x180060d18
mov r8d, 0x10000
test esi, esi
cmovne r8, r15
je 0x180060e6e
lea rdx, [rbx + 0x60]
lea rcx, [rsp + 0xa0]
call fcn.180058e80
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], rdi
lea rdi, [rbx + 0x58]
mov rsi, qword [rbx + 0x50]
mov rbx, qword [rdi]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060d6e
nop dword [rax]
cmp qword [rax], rbx
je 0x180060d92
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180060d60
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060deb
mov rdx, qword [rax + 8]
jmp 0x180060dee
cmp qword [rax + 8], 0
je 0x180060d6e
nop
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x90], r15
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x180060dcb
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
call qword [rax]
mov qword [rsp + 0x90], rax
lea r8, [rsp + 0x100]
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0xf0]
call qword [rsp + 0xa0]
nop
nop
jmp 0x180060e53
mov rdx, r15
mov r9d, 8
mov r8d, 0xb8
movzx ecx, byte [rsp + 0x30]
call fcn.1800478d0
mov rbx, rax
mov qword [rax + 0x20], r15
lea rax, [0x18006ab40]
mov qword [rbx + 0x28], rax
mov qword [rbx], r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x30], r15d
lea rcx, [rbx + 0x38]
lea rdx, [rsp + 0xa0]
call fcn.1800595a0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.18006cbe0
nop
lea rcx, [rsp + 0xa8]
call fcn.18005ea70
jmp 0x180060ea7
mov r8d, 0x10000
test esi, esi
cmovne r8, r15
lea rdx, [rsp + 0x120]
lea rcx, [rbx + 0x10]
call fcn.18007fc50
mov rcx, qword [rbx + 8]
lea r8, [rcx + 0x68]
lea rdx, [rcx + 8]
mov rcx, qword [rcx]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov r8, rax
call fcn.180053320
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x288]
add rsp, 0x240
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x180060ed0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x200
mov rax, qword [0x1800c31c0]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
mov rdi, r8
mov r14, rdx
mov rbx, rcx
xor r15d, r15d
mov dword [rcx + 0x48], r9d
mov esi, dword [rdx]
cmp r9d, 1
je 0x180061067
mov rdx, r8
add rcx, 0x10
call fcn.1800680e0
test esi, esi
jne 0x180060f2c
test rdi, rdi
jne 0x180060f2c
mov rdi, qword [rbx + 0x30]
jmp 0x180060f48
mov rdi, qword [rbx + 0x30]
cmp rdi, qword [rbx + 0x28]
jae 0x180060f48
mov r8d, 0x10000
test esi, esi
cmovne r8, r15
je 0x180061073
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
lea rdx, [rbx + 0x68]
lea rcx, [rsp + 0x68]
call fcn.180058f30
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xc8], xmm0
mov qword [rsp + 0xd8], rdi
lea rsi, [rbx + 0x58]
mov rbp, qword [rbx + 0x50]
mov rbx, qword [rsi]
mov ecx, dword [0x1800c7fa4]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060f9e
nop
cmp qword [rax], rbx
je 0x180060fbf
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180060f90
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1800c7f90]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x180060fd8
mov rdx, qword [rax + 8]
jmp 0x180060fdb
cmp qword [rax + 8], 0
je 0x180060f9e
nop
lea rcx, [rsp + 0x60]
call fcn.180060210
nop
nop
jmp 0x18006105b
mov rdx, r15
mov r9d, 8
mov r8d, 0xc0
movzx ecx, byte [rsp + 0x30]
call fcn.1800478d0
mov rdi, rax
mov qword [rax + 0x20], r15
lea rax, [0x18006b130]
mov qword [rdi + 0x28], rax
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov dword [rdi + 0x30], r15d
lea rdx, [rsp + 0x60]
lea rcx, [rdi + 0x38]
call fcn.180059ff0
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rdi + 0xa0], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [rdi + 0xb0], rax
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
call fcn.18006cbe0
nop
lea rcx, [rsp + 0x70]
call fcn.18005ea70
jmp 0x1800610ac
mov r8d, 0x10000
test esi, esi
cmovne r8, r15
lea rdx, [rsp + 0xe0]
lea rcx, [rbx + 0x10]
call fcn.18007fc50
mov rcx, qword [rbx + 8]
lea r8, [rcx + 0x68]
lea rdx, [rcx + 8]
mov rcx, qword [rcx]
add rcx, 0x28
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rbx
xor r9d, r9d
mov r8, rax
call fcn.180053570
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.180097330
mov rbx, qword [rsp + 0x248]
add rsp, 0x200
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x180066e70
Capabilities:
Set socket configuration

Disassembly:
mov r11, rsp
push rbp
push rdi
push r12
push r15
sub rsp, 0x48
xor r12d, r12d
mov rdi, r9
mov r15, rdx
mov rbp, rcx
cmp rcx, 0xffffffffffffffff
je 0x180066fbc
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x28], r14
test r8b, r8b
je 0x180066edb
movzx eax, byte [rdx]
test al, 8
je 0x180066edb
or al, 8
mov dword [r11 + 8], r12d
mov byte [rdx], al
lea r9, [r11 + 8]
mov edx, 0xffff
mov dword [rsp + 0x20], 4
mov r8d, 0x80
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x180066edb
call fcn.180046bf0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
lea r14, [rdi + 8]
mov esi, eax
test eax, eax
jne 0x180066ef6
mov dword [rdi], r12d
jmp 0x180066f81
mov qword [rsp + 0x78], rbx
call fcn.180046bf0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rbx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
call fcn.180046bf0
mov rcx, qword [r14]
mov rax, qword [rax + 8]
cmp qword [rcx + 8], rax
jne 0x180066f34
cmp dword [rdi], 0x2733
je 0x180066f4e
call fcn.180046bf0
mov rcx, qword [r14]
mov rax, qword [rax + 8]
cmp qword [rcx + 8], rax
jne 0x180066fb8
cmp dword [rdi], 0x4d5
jne 0x180066fb8
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], r12d
mov edx, 0x8004667e
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [r15], 0xfc
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
mov esi, eax
test eax, eax
jne 0x180066f99
mov dword [rdi], r12d
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbp
ret
call fcn.180046bf0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rbx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
mov eax, esi
jmp 0x180066f7c
mov eax, r12d
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbp
ret
Function at 0x180066fd0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rbx, qword [rcx]
mov rdi, rcx
cmp rbx, 0xffffffffffffffff
je 0x180067077
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x180067077
mov qword [rsp + 0x38], rbp
call fcn.180046bf0
mov rbp, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call fcn.180046bf0
mov rcx, qword [rax + 8]
cmp qword [rbp + 8], rcx
jne 0x180067028
cmp esi, 0x2733
je 0x18006703f
call fcn.180046bf0
mov rax, qword [rax + 8]
cmp qword [rbp + 8], rax
jne 0x180067072
cmp esi, 0x4d5
jne 0x180067072
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x180067072
call fcn.180046bf0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rdi + 8]
cmp rbx, 0xffffffffffffffff
je 0x1800670ff
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x1800670ff
call fcn.180046bf0
mov rsi, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
call fcn.180046bf0
mov rcx, qword [rax + 8]
cmp qword [rsi + 8], rcx
jne 0x1800670b5
cmp edi, 0x2733
je 0x1800670cc
call fcn.180046bf0
mov rax, qword [rax + 8]
cmp qword [rsi + 8], rax
jne 0x1800670ff
cmp edi, 0x4d5
jne 0x1800670ff
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], 0
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x1800670ff
call fcn.180046bf0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x180067400
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
mov rbx, rcx
mov edx, dword [rdx]
sub edx, 0x79
je 0x180067447
sub edx, 0x450
je 0x18006743d
sub edx, 6
je 0x180067433
cmp edx, 1
jne 0x180067461
mov dword [rsp + 0x30], 0x2751
jmp 0x18006744f
mov dword [rsp + 0x30], 0x2743
jmp 0x18006744f
mov dword [rsp + 0x30], 0x274d
jmp 0x18006744f
mov dword [rsp + 0x30], 0x274c
call fcn.180046bf0
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
cmp dword [rdi], 0
jne 0x1800674e0
cmp rbx, 0xffffffffffffffff
jne 0x180067491
mov dword [rsp + 0x30], 0x2719
call fcn.180046bf0
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov edx, 0xffff
mov r8d, 0x7010
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x1800674c1
mov dword [rdi], eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
call fcn.180046bf0
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], rbx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret