joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18006a0a0
Capabilities:
Compute adler32 checksum

Disassembly:
mov r8d, r8d
jmp 0x18006a0b0
mov r9d, ecx
mov r10, rdx
shr r9d, 0x10
movzx ecx, cx
cmp r8, 1
jne 0x18006a0f4
movzx edx, byte [rdx]
add edx, ecx
cmp edx, 0xfff1
lea r8d, [rdx - 0xfff1]
cmovb r8d, edx
lea eax, [r8 + r9]
cmp eax, 0xfff1
lea ecx, [rax - 0xfff1]
cmovb ecx, eax
shl ecx, 0x10
or ecx, r8d
mov eax, ecx
ret
test rdx, rdx
jne 0x18006a0fd
lea eax, [rdx + 1]
ret
cmp r8, 0x10
jae 0x18006a14c
test r8, r8
je 0x18006a123
nop dword [rax + rax]
movzx eax, byte [r10]
lea r10, [r10 + 1]
add ecx, eax
add r9d, ecx
sub r8, 1
jne 0x18006a110
cmp ecx, 0xfff1
lea r8d, [rcx - 0xfff1]
mov eax, 0x80078071
cmovb r8d, ecx
mul r9d
shr edx, 0xf
imul eax, edx, 0xf
add eax, r9d
shl eax, 0x10
or eax, r8d
ret
cmp r8, 0x15b0
jb 0x18006a227
mov r11, r8
movabs rax, 0x79baa6bb6398b6f7
mul r8
sub r11, rdx
shr r11, 1
add r11, rdx
shr r11, 0xc
imul rax, r11, 0xffffffffffffea50
add r8, rax
mov edx, 0x2b6
nop word [rax + rax]
movzx eax, byte [r10]
add ecx, eax
movzx eax, byte [r10 + 1]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 2]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 3]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 4]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 5]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 6]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 7]
add r9d, ecx
add r10, 8
add ecx, eax
add r9d, ecx
add edx, 0xffffffff
jne 0x18006a190
mov eax, 0x80078071
mul ecx
shr edx, 0xf
imul eax, edx, 0xffff000f
add ecx, eax
mov eax, 0x80078071
mul r9d
shr edx, 0xf
imul eax, edx, 0xffff000f
add r9d, eax
sub r11, 1
jne 0x18006a180
test r8, r8
je 0x18006a2d9
cmp r8, 8
jb 0x18006a2a0
mov rdx, r8
shr rdx, 3
imul rax, rdx, 0xfffffffffffffff8
add r8, rax
nop word [rax + rax]
movzx eax, byte [r10]
add ecx, eax
movzx eax, byte [r10 + 1]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 2]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 3]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 4]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 5]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 6]
add r9d, ecx
add ecx, eax
movzx eax, byte [r10 + 7]
add r9d, ecx
add r10, 8
add ecx, eax
add r9d, ecx
sub rdx, 1
jne 0x18006a240
test r8, r8
je 0x18006a2b3
nop
movzx eax, byte [r10]
lea r10, [r10 + 1]
add ecx, eax
add r9d, ecx
sub r8, 1
jne 0x18006a2a0
mov eax, 0x80078071
mul ecx
mov eax, 0x80078071
shr edx, 0xf
imul edx, edx, 0xffff000f
add ecx, edx
mul r9d
shr edx, 0xf
imul edx, edx, 0xffff000f
add r9d, edx
shl r9d, 0x10
or r9d, ecx
mov eax, r9d
ret
Function at 0x18006a360
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1801c2dc0]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1801ce210]
test ecx, ecx
je 0x18006a397
xor eax, eax
cmp ecx, 1
sete al
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.18006bac0
add rsp, 0x38
ret
mov r8d, 5
lea rdx, [rsp + 0x20]
lea rcx, str.DOTNET_SYSTEM_IO_COMPRESSION_DISABLEZLIBMITIGATIONS
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
dec eax
cmp eax, 3
ja 0x18006a3ed
cmp byte [rsp + 0x20], 0x31
jne 0x18006a3c4
cmp byte [rsp + 0x21], 0
je 0x18006a3e6
xor eax, eax
lea rdx, [rsp + 0x20]
lea r8, [0x180167424]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x18006a3ed
cmp rax, 5
jne 0x18006a3d2
mov ecx, 1
jmp 0x18006a3f2
mov ecx, 2
xor eax, eax
lock cmpxchg dword [0x1801ce210], ecx
call fcn.18006a360
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.18006bac0
add rsp, 0x38
ret

Function at 0x18006fdd0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18006fdf8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x18006fdf8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x180073c50
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
mov r8d, edx
mov dword [rbp - 0x3c], r8d
mov rdx, rcx
mov qword [rbp - 0x48], rdx
xor ecx, ecx
mov qword [rbp - 0x50], rcx
mov r9d, 2
mov dword [rbp - 0x40], r9d
lea rcx, [rbp - 0x78]
call fcn.180003a80
mov r8d, dword [rbp - 0x3c]
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov r9d, dword [rbp - 0x40]
call sub.bcrypt.dll_BCryptGenRandom
mov esi, eax
lea rcx, [rbp - 0x78]
call fcn.180003ad0
test esi, esi
jne 0x180073cc4
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp esi, 0xc0000017
jne 0x180073ceb
lea rcx, [0x180126170]
call fcn.180003770
mov rsi, rax
mov rcx, rsi
call fcn.18008c6a8
mov rcx, rsi
call fcn.180003be0
lea rcx, [0x180125c08]
call fcn.180003770
mov rsi, rax
mov rcx, rsi
call fcn.1800829ec
mov rcx, rsi
call fcn.180003be0
int3
Function at 0x180079c68
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rdi
push rsi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x20]
xor eax, eax
mov qword [rbp + 8], rax
xorps xmm4, xmm4
movaps xmmword [rbp + 0x10], xmm4
movaps xmmword [rbp + 0x20], xmm4
mov rax, qword [0x1801c2dc0]
mov qword [rbp], rax
mov rsi, rcx
mov edi, dword [rsi + 8]
xor ebx, ebx
cmp edi, 0x40
jae 0x180079cbb
test dword [rsp], esp
sub rsp, 0x80
lea r14, [rsp + 0x20]
mov r15d, 0x40
jmp 0x180079ce5
call fcn.180001f49
mov rcx, qword [rax + 8]
lea edx, [rdi + 1]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rbx, rax
test rbx, rbx
jne 0x180079cdd
xor r14d, r14d
xor r15d, r15d
jmp 0x180079ce5
lea r14, [rbx + 0x10]
mov r15d, dword [rbx + 8]
lea rcx, [rsi + 0xc]
mov edx, dword [rsi + 8]
mov edx, edi
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0x20], edx
mov qword [rbp + 8], r14
mov dword [rbp + 0x10], r15d
lea rcx, [rbp + 0x18]
lea rdx, [rbp + 8]
call fcn.180097bfc
cmp edi, r15d
jae 0x180079dd4
mov eax, edi
mov word [r14 + rax*2], 0
mov esi, 0x15051505
mov r12d, 0x15051505
xor eax, eax
test r15d, r15d
je 0x180079d31
mov rax, r14
mov qword [rbp + 0x28], rax
cmp edi, 2
jle 0x180079d6c
add edi, 0xfffffffc
mov edx, esi
rol edx, 5
add esi, edx
mov edx, dword [rax]
or edx, 0x200020
xor esi, edx
mov edx, r12d
rol edx, 5
add r12d, edx
mov edx, dword [rax + 4]
or edx, 0x200020
xor r12d, edx
add rax, 8
cmp edi, 2
jg 0x180079d3a
test edi, edi
jle 0x180079d86
mov edx, r12d
rol edx, 5
add edx, r12d
mov r12d, dword [rax]
or r12d, 0x200020
xor r12d, edx
xor eax, eax
mov qword [rbp + 0x28], rax
test rbx, rbx
je 0x180079da6
call fcn.180001f49
mov rcx, qword [rax + 8]
mov rdx, rbx
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x38]
imul eax, r12d, 0x5d588b65
add eax, esi
lea rcx, [0x1801c2dc0]
mov rcx, qword [rcx]
cmp qword [rbp], rcx
je 0x180079dc4
call fcn.1800047b0
nop
lea rsp, [rbp + 0x30]
pop rbx
pop rsi
pop rdi
pop r12
pop r14
pop r15
pop rbp
ret
call fcn.18008d818
int3

Function at 0x18007d0ac
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rdx
call fcn.1800bac3c
xor edx, edx
xor ecx, ecx
mov r8d, eax
sar r8d, 0x1f
and r8d, 3
add eax, r8d
sar eax, 2
test eax, eax
jle 0x18007d0e6
mov r8d, ecx
shl r8d, 2
movsxd r8, r8d
xor edx, dword [rsi + r8]
inc ecx
cmp eax, ecx
jg 0x18007d0d2
mov eax, edx
add rsp, 0x20
pop rsi
ret
Function at 0x1800bd828
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov rsi, rcx
mov rdi, rdx
mov rbx, r8
mov r14, r9
mov r15, qword [rbp + 0x38]
xor ecx, ecx
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x48], rcx
lea rcx, [0x1801240f8]
call fcn.1800037b0
xor ecx, ecx
mov qword [rax + 8], rcx
mov dword [rax + 0x10], 4
mov byte [rax + 0x14], 1
mov byte [rax + 0x15], 1
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r15
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
mov r9, r14
mov esi, dword [rbp + 0x30]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], r15
lea rcx, [rbp - 0xa0]
call fcn.180003a80
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.KERNEL32.dll_CreateThread
mov rsi, rax
lea rcx, [rbp - 0xa0]
call fcn.180003ad0
mov qword [rbp - 0x48], rsi
xor eax, eax
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x3c], 1
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
mov qword [rdx + 8], rax
mov rax, rdx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800bd978
Capabilities:
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
mov qword [rbp + 0x10], rcx
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx + 8]
mov rcx, rax
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.180003a80
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.dll_ResumeThread
mov esi, eax
lea rcx, [rbp - 0x70]
call fcn.180003ad0
nop
cmp byte [rbp - 0x40], 0
je 0x1800bd9e2
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
mov eax, esi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800bddf8
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
mov rdi, rdx
mov ebx, r8d
mov qword [rbp - 0x40], r9
mov r14, r9
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15, qword [rbp + 0x30]
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov rdx, rdi
mov qword [rbp - 0x54], rdx
mov r8d, ebx
mov dword [rbp - 0x44], r8d
mov r9, r14
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov rcx, qword [rbp - 0x4c]
mov rdx, qword [rbp - 0x54]
mov r8d, dword [rbp - 0x44]
mov r9, qword [rbp - 0x5c]
call sub.KERNEL32.dll_WriteFile
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800be22c
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
mov esi, r8d
test rcx, rcx
je 0x1800be25f
add rcx, 0xc
mov rdi, rcx
jmp 0x1800be261
xor edi, edi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x48], rdx
mov rbx, rdx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov qword [rbp - 0x54], rcx
mov rdx, rbx
mov qword [rbp - 0x5c], rdx
mov r8d, esi
mov dword [rbp - 0x4c], r8d
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800beb58
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0xc0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov rdi, r8
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rcx + 8]
test rsi, rsi
je 0x1800beba9
add rsi, 0xc
jmp 0x1800bebab
xor esi, esi
mov qword [rbp - 0x48], rsi
mov r14, qword [rbp + 0x30]
mov qword [rsp + 0x20], r14
mov r14, qword [rbp + 0x38]
mov qword [rsp + 0x28], r14
mov rcx, rdx
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8, rdi
mov qword [rbp - 0x60], r8
mov r9, rbx
mov qword [rbp - 0x68], r9
lea rcx, [rbp - 0x90]
call fcn.180003a80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
call sub.ADVAPI32.dll_RegQueryValueExW
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.180003ad0
nop
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800bec24
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
mov eax, esi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c0b40
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov r9, qword [rcx + 0x20]
lea r10, [rdx + rdx*4]
rol r10, 7
lea r10, [r10 + r10*8]
mov r11, rdx
shl r11, 0x11
xor r8, rax
xor r9, rdx
xor rdx, r8
xor rax, r9
xor r8, r11
rol r9, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], r9
mov rax, r10
shr rax, 0x21
cmp rax, 0x7fffffff
je fcn.1800c0b40
ret
Function at 0x1800c0b98
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov edi, edx
cmp edi, 1
jle 0x1800c0c54
mov ecx, edi
or ecx, 1
mov eax, dword [0x1801c7760]
test eax, 0x1000
je 0x1800c0bcb
xor ebx, ebx
lzcnt ebx, ecx
xor ebx, 0x1f
jmp 0x1800c0bce
bsr ebx, ecx
test al, 0x40
je 0x1800c0bda
xor ebp, ebp
popcnt ebp, edi
jmp 0x1800c0be3
mov ecx, edi
call fcn.180094194
mov ebp, eax
cmp ebp, 1
je 0x1800c0bea
inc ebx
mov ecx, ebx
mov eax, ecx
neg eax
add eax, 0x40
and eax, 0x3f
mov edx, edi
mov rcx, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsi + 0x18]
mov r10, qword [rsi + 0x20]
lea r11, [r8 + r8*4]
rol r11, 7
lea r11, [r11 + r11*8]
mov rdi, r8
shl rdi, 0x11
xor r9, rcx
xor r10, r8
xor r8, r9
xor rcx, r10
xor r9, rdi
rol r10, 0x2d
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], r9
mov qword [rsi + 0x20], r10
mov ecx, eax
shr r11, cl
cmp r11, rdx
jae 0x1800c0bf8
mov eax, r11d
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rsi
pop rdi
ret

Function at 0x1800c7a00
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
mov edi, edx
mov qword [rbp - 0x40], r8
mov rbx, r8
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rsi
mov qword [rbp - 0x4c], rcx
mov edx, edi
mov dword [rbp - 0x44], edx
mov r8, rbx
mov qword [rbp - 0x54], r8
lea rcx, [rbp - 0x80]
call fcn.180003a80
mov rcx, qword [rbp - 0x4c]
mov edx, dword [rbp - 0x44]
mov r8, qword [rbp - 0x54]
call sub.WS2_32.dll_ioctlsocket
mov esi, eax
lea rcx, [rbp - 0x80]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c7a90
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov edi, edx
mov rsi, r8
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov rbx, qword [rcx + 8]
mov qword [rbp - 0x48], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbx
mov qword [rbp - 0x54], rcx
mov edx, edi
mov dword [rbp - 0x4c], edx
mov r8, rsi
mov qword [rbp - 0x5c], r8
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov rcx, qword [rbp - 0x54]
mov edx, dword [rbp - 0x4c]
mov r8, qword [rbp - 0x5c]
call sub.WS2_32.dll_ioctlsocket
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800c7b35
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800c7c80
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov ebx, r9d
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r14
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8d, edi
mov dword [rbp - 0x44], r8d
mov r9d, ebx
mov dword [rbp - 0x48], r9d
lea rcx, [rbp - 0x80]
call fcn.180003a80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x44]
mov r9d, dword [rbp - 0x48]
call sub.WS2_32.dll_recv
mov esi, eax
lea rcx, [rbp - 0x80]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
cmp byte [rbp - 0x40], 0
je 0x1800c7d21
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c7d74
Capabilities:
Get socket status

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov esi, ecx
mov rdi, rdx
mov rbx, r8
mov r14, r9
mov r15, qword [rbp + 0x30]
mov qword [rbp - 0x40], r15
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov qword [rsp + 0x20], r15
mov ecx, esi
mov dword [rbp - 0x44], ecx
mov rdx, rdi
mov qword [rbp - 0x4c], rdx
mov r8, rbx
mov qword [rbp - 0x54], r8
mov r9, r14
mov qword [rbp - 0x5c], r9
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov ecx, dword [rbp - 0x44]
mov rdx, qword [rbp - 0x4c]
mov r8, qword [rbp - 0x54]
mov r9, qword [rbp - 0x5c]
call sub.WS2_32.dll_select
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800c7e24
Capabilities:
Send data
Send data on socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov ebx, r9d
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r14
mov qword [rbp - 0x50], rcx
mov rdx, rsi
mov qword [rbp - 0x58], rdx
mov r8d, edi
mov dword [rbp - 0x44], r8d
mov r9d, ebx
mov dword [rbp - 0x48], r9d
lea rcx, [rbp - 0x80]
call fcn.180003a80
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov r8d, dword [rbp - 0x44]
mov r9d, dword [rbp - 0x48]
call sub.WS2_32.dll_send
mov esi, eax
lea rcx, [rbp - 0x80]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
cmp byte [rbp - 0x40], 0
je 0x1800c7ec5
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c7f18
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
mov edi, edx
mov ebx, r8d
mov qword [rbp - 0x40], r9
mov r14, r9
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15d, dword [rbp + 0x30]
mov dword [rsp + 0x20], r15d
mov rcx, rsi
mov qword [rbp - 0x50], rcx
mov edx, edi
mov dword [rbp - 0x44], edx
mov r8d, ebx
mov dword [rbp - 0x48], r8d
mov r9, r14
mov qword [rbp - 0x58], r9
lea rcx, [rbp - 0x80]
call fcn.180003a80
mov rcx, qword [rbp - 0x50]
mov edx, dword [rbp - 0x44]
mov r8d, dword [rbp - 0x48]
mov r9, qword [rbp - 0x58]
call sub.WS2_32.dll_setsockopt
mov esi, eax
lea rcx, [rbp - 0x80]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor eax, eax
mov qword [rbp - 0x40], rax
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1800c7fc0
Capabilities:
Set socket configuration

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0xb0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov edi, edx
mov ebx, r8d
mov rsi, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
mov qword [rbp - 0x48], rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov r15d, dword [rbp + 0x30]
mov dword [rsp + 0x20], r15d
mov rcx, r14
mov qword [rbp - 0x58], rcx
mov edx, edi
mov dword [rbp - 0x4c], edx
mov r8d, ebx
mov dword [rbp - 0x50], r8d
mov r9, rsi
mov qword [rbp - 0x60], r9
lea rcx, [rbp - 0x88]
call fcn.180003a80
mov rcx, qword [rbp - 0x58]
mov edx, dword [rbp - 0x4c]
mov r8d, dword [rbp - 0x50]
mov r9, qword [rbp - 0x60]
call sub.WS2_32.dll_setsockopt
mov esi, eax
lea rcx, [rbp - 0x88]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800c807c
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800c83f4
Capabilities:
Connect socket

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x10], rcx
mov rsi, rdx
mov edi, r8d
mov rbx, r9
xor edx, edx
mov dword [rbp - 0x40], edx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800b86f0
mov rcx, qword [rbp + 0x10]
mov r14, qword [rcx + 8]
test rsi, rsi
jne 0x1800c8444
xor r15d, r15d
jmp 0x1800c8448
lea r15, [rsi + 0x10]
mov qword [rbp - 0x48], r15
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rsi, qword [rbp + 0x30]
mov qword [rsp + 0x20], rsi
mov rsi, qword [rbp + 0x38]
mov qword [rsp + 0x28], rsi
mov rsi, qword [rbp + 0x40]
mov qword [rsp + 0x30], rsi
mov rcx, r14
mov qword [rbp - 0x54], rcx
mov rdx, r15
mov qword [rbp - 0x5c], rdx
mov r8d, edi
mov dword [rbp - 0x4c], r8d
mov r9, rbx
mov qword [rbp - 0x64], r9
lea rcx, [rbp - 0x90]
call fcn.180003a80
mov rcx, qword [rbp - 0x54]
mov rdx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x4c]
mov r9, qword [rbp - 0x64]
call sub.WS2_32.dll_WSAConnect
mov esi, eax
lea rcx, [rbp - 0x90]
call fcn.180003ad0
call sub.KERNEL32.dll_GetLastError
mov edi, eax
xor ecx, ecx
mov qword [rbp - 0x48], rcx
cmp byte [rbp - 0x40], 0
je 0x1800c84d7
mov rcx, qword [rbp + 0x10]
xor edx, edx
call fcn.1800b8778
call fcn.1800023e9
mov dword [rax + 8], edi
mov eax, esi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret