joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140013890
Capabilities:
Allocate thread local storage

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x1a0
mov qword [rax - 0x118], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14001398a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.140198620
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], rax
lea rcx, [fcn.140012770]
xor esi, esi
test ebx, ebx
cmove rcx, rsi
test rcx, rcx
je 0x14001398a
lea rax, vtable.std::exception.0
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
lea rax, [0x140225db0]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x28], 1
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x20]
call qword [sym.imp.VCRUNTIME140.dll___std_exception_copy]
lea rax, vtable.boost::system::system_error.0
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x80], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x68], sil
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x130]
call fcn.1400279f0
nop
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140027a40
lea rdx, [0x140271318]
lea rcx, [rsp + 0xa0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov eax, edi
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret

Function at 0x1400139b0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rdi
sub rsp, 0x28
mov rbx, rcx
mov ecx, dword [0x14028cb40]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edi, edi
test rax, rax
je 0x140013a09
mov rax, qword [rax + 8]
test rax, rax
je 0x140013a09
mov rcx, qword [rax]
test rcx, rcx
je 0x140013a09
mov qword [rax], rdi
movzx eax, byte [rcx]
cmp rax, rbx
jb 0x140013a04
mov byte [rcx + rbx], al
mov rax, rcx
add rsp, 0x28
pop rdi
pop rbx
ret
call fcn.1401ab39c
lea rcx, [rbx + 1]
call fcn.1401ab0b8
cmp rbx, 0xff
ja 0x140013a1e
movzx edi, bl
mov byte [rax + rbx], dil
add rsp, 0x28
pop rdi
pop rbx
ret

Function at 0x140013a30
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rdi
sub rsp, 0x28
mov rbx, rcx
mov rdi, rdx
mov ecx, dword [0x14028cb40]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x140013a5d
mov r8, qword [rax + 8]
jmp 0x140013a60
xor r8d, r8d
cmp rdi, 0xff
ja 0x140013a84
test r8, r8
je 0x140013a84
cmp qword [r8], 0
jne 0x140013a84
movzx eax, byte [rbx + rdi]
mov byte [rbx], al
mov qword [r8], rbx
add rsp, 0x28
pop rdi
pop rbx
ret
mov rcx, rbx
add rsp, 0x28
pop rdi
pop rbx
jmp fcn.1401ab39c
Function at 0x140013f00
Capabilities:
Terminate thread

Disassembly:
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0x10]
lea rdx, [rsp + 0x20]
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 8]
mov rbx, rcx
or r9d, 0xffffffff
mov qword [rsp + 0x28], rax
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lock xadd dword [0x14028cae0], eax
test eax, eax
je 0x140013f5b
mov rcx, qword [rbx + 8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
add rsp, 0x30
pop rbx
ret
mov rdx, qword [rbx + 8]
lea rcx, [fcn.140012770]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
mov rcx, qword [rbx + 8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add rsp, 0x30
pop rbx
ret
Function at 0x140014820
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rdi
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rsi
mov rsi, rdx
mov rdi, rcx
xor ebx, ebx
mov eax, ebx
lock xadd dword [rcx + 0x30], eax
test eax, eax
jne 0x14001486e
call fcn.140014930
mov dword [rsp + 0x28], ebx
call fcn.140198620
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi], xmm0
xor eax, eax
jmp 0x140014903
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov ecx, dword [0x14028cb40]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x38]
mov ecx, dword [0x14028cb40]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov r8, rsi
mov rcx, rdi
call fcn.140014bf0
test rax, rax
je 0x1400148df
nop word [rax + rax]
lea rax, [rbx + 1]
cmp rbx, 0xffffffffffffffff
cmove rax, rbx
mov rbx, rax
mov r8, rsi
mov rcx, rdi
call fcn.140014bf0
test rax, rax
jne 0x1400148c0
mov rdx, qword [rsp + 0x48]
mov ecx, dword [0x14028cb40]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140014900
call fcn.1401ab39c
mov rax, rbx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret

Function at 0x140015290
Capabilities:
Initialize winsock library

Disassembly:
push rbx
sub rsp, 0x1f0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rax, qword [0x140283aa8]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov rbx, rcx
mov qword [rsp + 0x28], rcx
mov eax, 1
lock xadd dword [0x14028cae8], eax
inc eax
cmp eax, 1
jne 0x1400152e4
lea ecx, [rax + 1]
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_WSAStartup]
xchg dword [0x14028caec], eax
xor ecx, ecx
lock xadd dword [0x14028caec], ecx
test ecx, ecx
je 0x1400152f8
call fcn.140013aa0
nop
mov ecx, 0x38
call fcn.1401ab0b8
mov qword [rsp + 0x30], rax
or r9, 0xffffffffffffffff
mov rdx, rbx
mov rcx, rax
call fcn.1400236e0
nop
mov qword [rbx + 8], rax
mov rcx, qword [rax + 0x30]
mov qword [rbx + 0x10], rcx
mov rax, rbx
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1401aad60
add rsp, 0x1f0
pop rbx
ret
Function at 0x140039710
Capabilities:
Encode data using xor

Disassembly:
push rbx
xor eax, eax
lea r8, [rdx + 0x20]
cmp rdx, r8
mov r11d, 4
mov r9, rdx
mov rbx, rcx
cmova r11d, eax
mov r10d, eax
ja 0x140039780
mov qword [rsp + 0x10], rdi
movabs r8, 0xc6a4a7935bd1e995
mov edi, 0xe6546b64
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r9]
lea r9, [r9 + 8]
imul rcx, r8
inc r10
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
imul rdx, r8
xor rax, rdx
imul rax, r8
add rax, rdi
cmp r10, r11
jne 0x140039750
mov rdi, qword [rsp + 0x10]
and rax, qword [rbx + 0x30]
pop rbx
ret

Function at 0x14003b750
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x88
mov rax, qword [0x140283aa8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, rdx
mov rsi, rcx
test dl, 0x3f
je 0x14003b77b
xor al, al
jmp 0x14003b8c5
mov edx, 0x40
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x80], rbp
shr rdi, 6
mov qword [rsp + 0x20], 0x48
lea r9d, [rdx - 0x20]
call fcn.14003c460
mov ebx, 1
cmp edi, ebx
je 0x14003b7e2
nop
lea eax, [rbx - 1]
mov ecx, ebx
mov r8d, eax
mov edx, 0x40
shl r8, 6
mov r9d, edx
shl rcx, 6
add r8, rsi
add rcx, rsi
mov qword [rsp + 0x20], 0x48
call fcn.14003c460
inc ebx
cmp ebx, edi
jne 0x14003b7b0
mov ebp, 3
nop word [rax + rax]
xor ebx, ebx
test edi, edi
je 0x14003b8a9
nop word [rax + rax]
xor edx, edx
mov r10d, ebx
shl r10, 6
mov r8d, reloc.WS2_32.dll_recv
add r10, rsi
mov eax, dword [r10]
div edi
lea eax, [rdi - 1]
mov r9d, edx
add eax, ebx
xor edx, edx
shl r9, 6
div edi
lea rax, [rsp + 0x30]
mov ecx, edx
lea rdx, [rsp + 0x30]
shl rcx, 6
sub r9, rdx
add r9, rsi
movups xmm0, xmmword [rcx + rsi]
movups xmm1, xmmword [rcx + rsi + 0x10]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rcx + rsi + 0x20]
movaps xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [rcx + rsi + 0x30]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [r9 + rax]
xor dword [rax], edx
add rax, 4
sub r8, 1
jne 0x14003b870
mov r9d, 0x40
mov qword [rsp + 0x20], 0x48
mov edx, r9d
lea r8, [rsp + 0x30]
mov rcx, r10
call fcn.14003c460
inc ebx
cmp ebx, edi
jne 0x14003b800
sub rbp, 1
jne 0x14003b7f0
mov rbp, qword [rsp + 0x80]
mov al, 1
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1401aad60
add rsp, 0x88
pop rdi
pop rsi
ret
Function at 0x14003b8e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
mov rbp, qword [r8]
mov esi, edx
mov rdi, qword [r8 + 8]
xor edx, edx
mov eax, esi
shr rdi, 6
div edi
mov r9d, 0x40
mov qword [rsp + 0x20], 0x48
mov r8d, edx
mov rbx, rcx
shl r8, 6
mov edx, r9d
movups xmm0, xmmword [r8 + rbp]
movaps xmmword [rcx], xmm0
movups xmm1, xmmword [r8 + rbp + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [r8 + rbp + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [r8 + rbp + 0x30]
mov r8, rcx
movaps xmmword [rcx + 0x30], xmm1
xor dword [rcx], esi
call fcn.14003c460
mov r14d, dword [reloc.WS2_32.dll_accept]
xor r10d, r10d
mov r11d, r10d
nop word [rax + rax]
mov rdx, r11
mov eax, r10d
xor eax, esi
and edx, 0xf
imul ecx, eax, 0x1000193
mov eax, dword [rbx + rdx*4]
xor edx, edx
xor eax, ecx
div edi
mov r8d, edx
shl r8, 6
add r8, rbp
cmp r14d, 2
jl 0x14003ba00
lea rax, [r8 + 0x3c]
lea rcx, [rbx + 0x3c]
cmp rbx, rax
ja 0x14003b9ac
cmp rcx, r8
jae 0x14003ba00
movdqa xmm3, xmmword [0x14023cac0]
lea rax, [rbx + 0x10]
sub r8, rbx
mov ecx, 2
movdqu xmm0, xmmword [r8 + rax - 0x10]
movdqu xmm1, xmmword [rax - 0x10]
lea rax, [rax + 0x20]
pmulld xmm1, xmm3
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm2, xmmword [rax - 0x20]
movdqu xmm0, xmmword [r8 + rax - 0x20]
pmulld xmm2, xmm3
pxor xmm2, xmm0
movdqu xmmword [rax - 0x20], xmm2
sub rcx, 1
jne 0x14003b9c0
jmp 0x14003ba29
mov rax, rbx
sub r8, rbx
mov r9d, reloc.WS2_32.dll_recv
nop dword [rax]
imul ecx, dword [rax], 0x1000193
mov edx, dword [rax + r8]
lea rax, [rax + 4]
xor edx, ecx
mov dword [rax - 4], edx
sub r9, 1
jne 0x14003ba10
inc r10d
inc r11
cmp r10d, 0x100
jne 0x14003b970
mov r9d, 0x40
mov qword [rsp + 0x20], 0x48
mov edx, r9d
mov r8, rbx
mov rcx, rbx
call fcn.14003c460
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x14003ba80
Capabilities:
Encode data using xor
Hash data using fnv

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 [0x140283aa8]
xor rax, rsp
mov qword [rsp + 0x150], rax
movaps xmm0, xmmword [r9]
mov rbx, r8
movaps xmm1, xmmword [r9 + 0x10]
lea r8, [rsp + 0x90]
mov rax, qword [rsp + 0x1c0]
mov r9d, 0x28
mov r13, rdx
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x90]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
lea edx, [r9 + 0x18]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x20], 0x48
call fcn.14003c460
xor ebp, ebp
lea rdx, [rsp + 0xd0]
mov ecx, ebp
lea r8d, [rbp + 0x20]
nop word [rax + rax]
mov rax, rcx
lea rdx, [rdx + 4]
and eax, 0xf
inc rcx
mov eax, dword [rsp + rax*4 + 0x90]
mov dword [rdx - 4], eax
sub r8, 1
jne 0x14003bb20
shr rbx, 7
lea r8, [rsp + 0x50]
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x38], rbx
sub r8, rax
mov r14d, ebp
mov qword [rsp + 0x30], r8
mov r12, rbp
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x90]
mov rdx, r12
xor eax, r14d
and edx, 0x1f
imul ecx, eax, 0x1000193
mov esi, ebp
mov rdi, r8
mov eax, dword [rsp + rdx*4 + 0xd0]
xor edx, edx
xor eax, ecx
div ebx
lea rbx, [rsp + 0xd0]
lea r15d, [rdx + rdx]
lea edx, [r15 + rsi]
mov r8, r13
lea rcx, [rsp + 0x50]
call fcn.14003b8e0
mov edx, reloc.WS2_32.dll_recv
nop word [rax + rax]
imul eax, dword [rbx], 0x1000193
mov ecx, dword [rdi + rbx]
xor ecx, eax
mov dword [rbx], ecx
add rbx, 4
sub rdx, 1
jne 0x14003bbc0
inc esi
sub rdi, 0x40
cmp esi, 2
jne 0x14003bba4
mov r8, qword [rsp + 0x30]
inc r14d
mov rbx, qword [rsp + 0x38]
inc r12
cmp r14d, 0x40
jne 0x14003bb70
lea r8, [rsp + 0xd8]
lea r9d, [rdx + 8]
nop dword [rax + rax]
imul eax, dword [r8 - 8], 0x1000193
lea r8, [r8 + 0x10]
xor eax, dword [r8 - 0x14]
imul ecx, eax, 0x1000193
mov rax, rbp
shr rax, 2
add rbp, 4
xor ecx, dword [r8 - 0x10]
imul edx, ecx, 0x1000193
xor edx, dword [r8 - 0xc]
mov dword [rsp + rax*4 + 0xd0], edx
sub r9, 1
jne 0x14003bc10
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x90]
movaps xmm0, xmmword [rsp + 0xd0]
mov r9d, 0x60
movaps xmm1, xmmword [rsp + 0xe0]
mov rcx, rax
mov qword [rsp + 0x20], 0x88
movups xmmword [rax + 0x20], xmm0
lea edx, [r9 - 0x40]
movups xmmword [rax + 0x30], xmm1
call fcn.14003c460
mov al, 1
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1401aad60
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 0x14003c460
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x100
mov rax, qword [0x140283aa8]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rbx, qword [rsp + 0x150]
mov rbp, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
test rcx, rcx
je 0x14003c613
test r8, r8
jne 0x14003c4ab
test r9, r9
jne 0x14003c613
cmp rbx, 0xc8
jae 0x14003c613
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0xc8
call sub.VCRUNTIME140.dll_memset
cmp rbp, rbx
jb 0x14003c5a0
xor eax, eax
test rbx, rbx
je 0x14003c587
cmp rbx, 0x20
jb 0x14003c55d
lea rcx, [rbx - 1]
add rcx, rdi
lea r8, [rsp + 0x20]
lea rdx, [rsp + rbx + 0x1f]
cmp r8, rcx
ja 0x14003c4ff
cmp rdx, rdi
jae 0x14003c55d
mov rcx, rbx
mov r8, rbx
and ecx, 0x1f
mov rdx, rdi
sub r8, rcx
lea rcx, [rsp + 0x20]
sub rdx, rcx
nop word [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x20]
lea rcx, [rdx + rax]
movdqu xmm1, xmmword [rsp + rcx + 0x20]
lea rcx, [rdx + rax]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x20], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rsp + rcx + 0x30]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
add rax, 0x20
cmp rax, r8
jb 0x14003c520
cmp rax, rbx
jae 0x14003c587
lea rcx, [rsp + 0x20]
mov r8, rdi
sub r8, rcx
nop dword [rax]
lea rdx, [rsp + 0x20]
add rdx, rax
inc rax
movzx ecx, byte [r8 + rdx]
xor byte [rdx], cl
cmp rax, rbx
jb 0x14003c570
lea rcx, [rsp + 0x20]
call fcn.14003be00
add rdi, rbx
sub rbp, rbx
cmp rbp, rbx
jae 0x14003c4d3
xor byte [rsp + rbp + 0x20], 1
lea rcx, [rsp + 0x20]
xor byte [rsp + rbx + 0x1f], 0x80
mov r8, rbp
mov rdx, rdi
call fcn.14003c3b0
lea rcx, [rsp + 0x20]
call fcn.14003be00
cmp rsi, rbx
jb 0x14003c5fa
nop dword [rax]
test rbx, rbx
je 0x14003c5e5
mov r8, rbx
lea rdx, [rsp + 0x20]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsp + 0x20]
call fcn.14003be00
add r14, rbx
sub rsi, rbx
cmp rsi, rbx
jae 0x14003c5d0
test rsi, rsi
je 0x14003c60f
mov r8, rsi
lea rdx, [rsp + 0x20]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
jmp 0x14003c616
or eax, 0xffffffff
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401aad60
add rsp, 0x100
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x14003cc50
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov rdi, r9
mov rbp, rdx
mov r14, rcx
mov esi, r15d
cmp rcx, 0xffffffffffffffff
je 0x14003cd86
test r8b, r8b
je 0x14003ccd8
test byte [rdx], 8
je 0x14003ccd8
mov dword [rsp + 0x60], r15d
call fcn.140198620
or byte [rbp], 8
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r9, [rsp + 0x60]
mov dword [rsp + 0x20], 4
mov edx, 0xffff
mov r8d, 0x80
mov rcx, r14
call qword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.140198620
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x14003ccd8
call fcn.140198620
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov esi, eax
call fcn.140198620
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
test esi, esi
je 0x14003cd86
call fcn.140198620
cmp qword [rdi + 8], rax
jne 0x14003cd21
cmp dword [rdi], 0x2733
je 0x14003cd34
call fcn.140198620
cmp qword [rdi + 8], rax
jne 0x14003cd82
cmp dword [rdi], 0x4d5
jne 0x14003cd82
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], r15d
mov edx, 0x8004667e
mov rcx, r14
call qword [sym.imp.WS2_32.dll_ioctlsocket]
and byte [rbp], 0xfc
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
mov esi, eax
call fcn.140198620
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
test esi, esi
jne 0x14003cd9d
mov dword [rsp + 0x30], r15d
call fcn.140198620
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
mov rbx, qword [rsp + 0x68]
mov eax, esi
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x14003cdc0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
mov byte [rsp + 0x18], r8b
push rsi
sub rsp, 0x30
mov rsi, r9
mov rbp, rdx
mov rbx, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14003ce0f
mov dword [rsp + 0x20], 0x2719
call fcn.140198620
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
xor al, al
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rsi
ret
xor ecx, ecx
mov qword [rsp + 0x40], rdi
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x50], 1
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov edi, eax
call fcn.140198620
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x28], rbx
test edi, edi
mov rdi, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
js 0x14003cdfd
mov dword [rsp + 0x20], 0
call fcn.140198620
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov al, 1
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
or byte [rbp], 2
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rsi
ret

Function at 0x14003cea0
Capabilities:
Connect socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rdi, r9
mov rsi, r8
mov rbp, rdx
mov rbx, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14003cee4
mov dword [rsp + 0x20], 0x2719
call fcn.140198620
mov qword [rsp + 0x28], rax
or eax, ebx
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdi], xmm0
jmp 0x14003cf38
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
mov esi, eax
call fcn.140198620
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdi], xmm0
test esi, esi
jne 0x14003cf36
mov dword [rsp + 0x20], esi
call fcn.140198620
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdi], xmm0
mov eax, esi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14003cf50
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
mov rbp, rsp
sub rsp, 0x40
mov rsi, rdx
mov rbx, rcx
mov edx, dword [rdx]
sub edx, 0x79
je 0x14003cf9c
sub edx, 0x450
je 0x14003cf93
sub edx, 6
je 0x14003cf8a
cmp edx, 1
jne 0x14003cfb3
mov dword [rbp - 0x10], 0x2751
jmp 0x14003cfa3
mov dword [rbp - 0x10], 0x2743
jmp 0x14003cfa3
mov dword [rbp - 0x10], 0x274d
jmp 0x14003cfa3
mov dword [rbp - 0x10], 0x274c
call fcn.140198620
mov qword [rbp - 8], rax
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi], xmm0
cmp dword [rsi], 0
jne 0x14003d031
cmp rbx, 0xffffffffffffffff
jne 0x14003cfc7
mov dword [rbp - 0x10], 0x2719
jmp 0x14003d021
xor ecx, ecx
mov qword [rsp + 0x50], rdi
call qword [sym.imp.WS2_32.dll_WSASetLastError]
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]
mov edi, eax
call fcn.140198620
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rbp - 8], rbx
test edi, edi
mov rdi, qword [rsp + 0x50]
mov dword [rbp - 0x10], eax
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi], xmm0
jne 0x14003d031
mov dword [rbp - 0x10], 0
call fcn.140198620
mov qword [rbp - 8], rax
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rsi], xmm0
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rbp
ret

Function at 0x14003d1c0
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rsi, rcx
mov rbx, r8
xor ecx, ecx
mov rdi, rdx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor ebp, ebp
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x88]
mov qword [rsp + 0x28], rbp
mov r8d, ebx
mov rdx, rdi
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov dword [rsp + 0x88], ebp
mov dword [rsp + 0x80], ebp
call qword [sym.imp.WS2_32.dll_WSARecv]
mov edi, eax
call fcn.140198620
mov rbx, rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov qword [rsp + 0x48], rbx
mov rbx, qword [rsp + 0x90]
mov dword [rsp + 0x40], eax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx], xmm0
mov ecx, dword [rbx]
cmp ecx, 0x40
jne 0x14003d25a
mov dword [rsp + 0x40], 0x2746
jmp 0x14003d26a
cmp ecx, 0x4d2
jne 0x14003d27c
mov dword [rsp + 0x40], 0x274d
call fcn.140198620
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx], xmm0
test edi, edi
je 0x14003d290
or eax, 0xffffffff
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x40], ebp
call fcn.140198620
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
mov eax, dword [rsp + 0x88]
movups xmmword [rbx], xmm0
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret