joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003d970
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x90
mov rdi, rcx
mov rax, qword [0x140136040]
xor rax, rsp
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [0x1401101b0]
lea rsi, [rsp + 0x40]
movaps xmmword [rsi + 0x30], xmm0
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
lea rdx, str.DirectoryExists
lea r8, str....._base_files_file_util_win.cc
lea rbx, [rsp + 0x20]
mov rcx, rbx
mov r9d, 0x236
call fcn.14007a8c0
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
call fcn.14007e7d0
cmp byte [rdi + 0x17], 0
jns 0x14003d9e2
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
setne al
and edi, 0x10
shr edi, 4
and dil, al
mov rcx, rsi
call fcn.14007e850
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140092400
mov eax, edi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
ret

Function at 0x14003da30
Capabilities:
Get common file path

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x278
mov rsi, rcx
mov rax, qword [0x140136040]
xor rax, rsp
mov qword [rsp + 0x270], rax
lea rbx, [rsp + 0x60]
mov r8d, 0x20a
mov rcx, rbx
mov dl, 0xaa
call fcn.1400d07c0
mov ecx, 0x104
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, eax
dec edi
cmp edi, 0x102
ja 0x14003dacf
lea r14, [rsp + 0x20]
mov qword [r14], rbx
mov rcx, rbx
call fcn.1400b1e48
mov qword [r14 + 8], rax
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, r14
call fcn.14007aa40
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.140031570
mov rcx, rsi
mov rdx, r14
call fcn.140030160
mov rcx, r14
call fcn.14007ab80
mov rcx, rbx
call fcn.14007ab80
cmp edi, 0x103
setb bl
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140092400
mov eax, ebx
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r14
ret

Function at 0x14003db00
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x280
mov rsi, rcx
mov rax, qword [0x140136040]
xor rax, rsp
mov qword [rsp + 0x278], rax
lea rdi, [rsp + 0x70]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.1400d07c0
mov qword [rsp + 0x20], rdi
xor ecx, ecx
mov edx, 0x28
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x14003db95
cmp word [rsp + 0x70], 0
je 0x14003db95
lea rbx, [rsp + 0x60]
mov qword [rbx], rdi
mov rcx, rdi
call fcn.1400b1e48
mov qword [rbx + 8], rax
mov rcx, rsi
mov rdx, rbx
call fcn.14007aa40
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.140092400
mov rax, rsi
add rsp, 0x280
pop rbx
pop rdi
pop rsi
ret
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x40]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x1401101b0]
movaps xmmword [rdi], xmm0
mov rcx, rdi
call fcn.14007a9e0
mov rcx, rdi
call fcn.14003da30
test al, al
jne 0x14003dbe7
lea rax, [0x14011ff9e]
lea rdx, [rsp + 0x30]
mov qword [rdx], rax
mov qword [rdx + 8], 3
mov rcx, rsi
call fcn.14007aa40
jmp 0x14003dbf4
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140030140
lea rcx, [rsp + 0x40]
call fcn.14007ab80
jmp 0x14003db77
Function at 0x1400764e0
Capabilities:
Get file version info

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140136040]
xor rax, rsp
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [0x1401101b0]
lea rdi, [rsp + 0x50]
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
lea rdx, str.CreateFileVersionInfoWin
lea r8, str....._base_file_version_info_win.cc
lea r14, [rsp + 0x30]
mov rcx, r14
mov r9d, 0x4d
call fcn.14007a8c0
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.14007e7d0
mov dword [rsp + 0x2c], 0xaaaaaaaa
cmp byte [rbx + 0x17], 0
jns 0x140076566
mov rbx, qword [rbx]
lea rdx, [rsp + 0x2c]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
jne 0x1400765af
mov qword [rsi], 0
lea rcx, [rsp + 0x50]
call fcn.14007e850
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140092400
mov rax, rsi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, eax
mov r14d, eax
mov rcx, r14
call fcn.140091050
mov rdi, rax
lea r15, [rax + r14]
xor r12d, r12d
jmp 0x1400766d5
mov edx, dword [rsp + 0x2c]
mov rcx, rbx
mov r8d, ebp
mov r9, rdi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400766ef
lea r8, [rsp + 0x30]
mov qword [r8], 0
lea r9, [rsp + 0x9c]
mov dword [r9], 0xaaaaaaaa
lea rdx, str.VarFileInfoTranslation
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400766ef
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x1400766ef
add r12, rdi
mov ecx, 0x38
call fcn.140091050
mov rbx, rax
movzx r13d, word [r14]
movzx ebp, word [r14 + 2]
lea rax, fcn.14002b610
mov qword [rbx], rax
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r15
movabs r14, 0xfffffffc00000000
mov rax, rdi
and rax, r14
cmp rax, qword [0x140138c08]
jne 0x140076675
mov rcx, rdi
call fcn.140019610
mov qword [rbx + 0x20], rdi
mov word [rbx + 0x28], r13w
mov word [rbx + 0x2a], bp
lea r8, [rsp + 0x30]
mov qword [r8], 0
lea r9, [rsp + 0x9c]
mov dword [r9], 0xaaaaaaaa
lea rdx, [0x140115ac2]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14007670c
mov rdi, qword [rsp + 0x30]
and r14, rdi
cmp r14, qword [0x140138c08]
jne 0x1400766c9
mov rcx, rdi
call fcn.140019610
mov qword [rbx + 0x30], rdi
mov qword [rsi], rbx
jmp 0x14007657e
mov rax, rdi
add rax, r12
je 0x1400766ed
mov byte [rax], 0
inc r12
cmp r14, r12
jne 0x1400766d5
jmp 0x1400765cb
ud2
mov qword [rsi], 0
test rdi, rdi
je 0x14007657e
mov rcx, rdi
call fcn.140091090
jmp 0x14007657e
int3
Function at 0x180003230
Capabilities:
Initialize winsock library

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x1d0
mov rax, qword [0x18003aa90]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
xor edi, edi
lea rax, vtable.CTcpSocket.0
mov rbx, rcx
mov qword [rcx + 0x10], rdi
mov dword [rcx + 0x18], edi
mov qword [rcx], rax
mov dword [rcx + 0x58], edi
mov qword [rcx + 0x48], rdi
mov qword [rcx + 0x50], rdi
lea rax, vtable.CBuffer.0
lea rdx, [rsp + 0x20]
mov qword [rcx + 0x40], rax
mov qword [rcx + 0x60], rax
mov dword [rcx + 0x78], edi
mov qword [rcx + 0x68], rdi
mov qword [rcx + 0x70], rdi
mov qword [rcx + 0x80], rax
mov dword [rcx + 0x98], edi
mov qword [rcx + 0x88], rdi
mov qword [rcx + 0x90], rdi
mov ecx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
lea edx, [rdi + 1]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, edi
mov qword [rbx + 8], rax
xchg dword [rbx + 0x20], ecx
mov qword [rbx + 0xb0], 0xffffffffffffffff
mov qword [rbx + 0xa0], rdi
mov qword [rbx + 0xa8], rdi
mov dword [rbx + 0x1c], edi
mov rax, rbx
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1800142f0
mov rbx, qword [rsp + 0x1e8]
add rsp, 0x1d0
pop rdi
ret

Function at 0x180003310
Capabilities:
Set socket configuration

Disassembly:
push rdi
sub rsp, 0x30
cmp dword [rcx + 0x20], 0
mov rdi, rcx
je 0x18000338a
mov rcx, qword [rcx + 0xb0]
lea r9, [rsp + 0x40]
mov edx, 0xffff
mov r8d, 0x80
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], 1
xor ebx, ebx
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.KERNEL32.dll_CancelIo]
xchg dword [rdi + 0x20], ebx
mov rcx, qword [rdi + 0xb0]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rbx, qword [rsp + 0x48]
mov qword [rdi + 0xb0], 0xffffffffffffffff
add rsp, 0x30
pop rdi
ret
Function at 0x180003860
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
sub rsp, 0x20
mov esi, r8d
mov r12, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rdi + 0x14], eax
je 0x1800038a3
nop dword [rax]
mov r9d, 1
xchg dword [rdi + 0x10], r9d
cmp r9d, 1
je 0x180003890
mov dword [rdi + 0x14], eax
inc dword [rdi + 0x18]
xor r13d, r13d
lea ebp, [rsi + 0xe]
cmp qword [rdi + 0x88], r13
jne 0x1800038ba
mov edx, r13d
jmp 0x1800038c6
mov edx, dword [rdi + 0x90]
sub edx, dword [rdi + 0x88]
lea rcx, [rdi + 0x80]
add edx, 4
call fcn.180001080
mov rax, qword [rdi + 0x90]
mov dword [rax], ebp
add qword [rdi + 0x90], 4
cmp qword [rdi + 0x88], r13
jne 0x1800038f4
mov edx, r13d
jmp 0x180003900
mov edx, dword [rdi + 0x90]
sub edx, dword [rdi + 0x88]
lea rcx, [rdi + 0x80]
add edx, 0xa
call fcn.180001080
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x90]
mov qword [rcx], rax
movzx eax, word [rdi + 0x38]
mov word [rcx + 8], ax
add qword [rdi + 0x90], 0xa
cmp qword [rdi + 0x88], r13
jne 0x18000393b
mov eax, r13d
jmp 0x180003947
mov eax, dword [rdi + 0x90]
sub eax, dword [rdi + 0x88]
lea edx, [rax + rsi]
lea rcx, [rdi + 0x80]
call fcn.180001080
mov rcx, qword [rdi + 0x90]
mov r8, rsi
mov rdx, r12
call fcn.180014320
mov r11d, r13d
mov r9, r13
mov r10, r13
test esi, esi
jle 0x1800039d4
nop word [rax + rax]
movzx ecx, byte [rdi + r9 + 0x30]
mov r8, qword [rdi + 0x90]
inc r9
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xcccccccd
imul edx, edx, 0x1c8
sub ecx, edx
mul r11d
add cl, 0x36
xor byte [r10 + r8], cl
shr edx, 3
lea ecx, [rdx + rdx*4]
add ecx, ecx
cmp r11d, ecx
cmove r9, r13
inc r11d
inc r10
cmp r11d, esi
jl 0x180003980
add qword [rdi + 0x90], rsi
cmp qword [rdi + 0x88], r13
jne 0x1800039e9
mov r8d, r13d
jmp 0x1800039f7
mov r8d, dword [rdi + 0x90]
sub r8d, dword [rdi + 0x88]
mov rdx, qword [rdi + 0x88]
mov rcx, rdi
call fcn.180003a60
mov r11, qword [rdi + 0x88]
lea rcx, [rdi + 0x80]
mov edx, 0x400
mov qword [rdi + 0x90], r11
call fcn.180001140
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rdi + 0x14]
mov eax, 1
jne 0x180003a3e
dec dword [rdi + 0x18]
jne 0x180003a3e
mov qword [rdi + 0x10], r13
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r13
pop r12
pop rdi
ret
Function at 0x180003a60
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x20
xor edi, edi
mov r14d, r8d
mov rsi, rdx
mov r13, rcx
mov ebp, r8d
mov r12d, edi
cmp r8d, 0x40000
jl 0x180003af1
nop dword [rax + rax]
mov ebx, edi
nop word [rax + rax]
mov rcx, qword [r13 + 0xb0]
xor r9d, r9d
mov r8d, 0x40000
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x180003ad4
inc ebx
cmp ebx, 0xf
jl 0x180003ab0
cmp ebx, 0xf
je 0x180003b52
sub ebp, 0x40000
add r12d, eax
add rsi, 0x40000
cmp ebp, 0x40000
jge 0x180003aa0
test ebp, ebp
jle 0x180003b29
nop word [rax + rax]
mov rcx, qword [r13 + 0xb0]
xor r9d, r9d
mov r8d, ebp
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x180003b21
inc edi
cmp edi, 0xf
jl 0x180003b00
cmp edi, 0xf
je 0x180003b52
add r12d, eax
or eax, 0xffffffff
cmp r12d, r14d
cmove eax, r12d
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret
or eax, 0xffffffff
jmp 0x180003b33
Function at 0x180003f40
Capabilities:
Create thread
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x30
mov eax, dword [rcx + 0x21c]
movzx ebx, r8w
mov rbp, rdx
mov rdi, rcx
test eax, eax
jne 0x180003f6f
mov dword [rcx + 0x23c], 0x598
jmp 0x180003f8e
cmp eax, 0x598
jbe 0x180003f88
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov dword [rcx + 0x23c], eax
mov qword [rsp + 0x48], rsi
xor esi, esi
xor r8d, r8d
mov dword [rcx + 0x8c], esi
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
lea rcx, [rdi + 0xb8]
mov dword [rdi + 0xd8], 0x598
mov qword [rdi + 0x258], rax
mov eax, dword [rdi + 0x70]
mov dword [rdi + 0xdc], eax
mov eax, dword [rdi + 0x74]
mov dword [rdi + 0xe0], eax
call fcn.180001370
mov dword [rdi + 0x48], 1
mov qword [rdi + 0x4c], 5
mov dword [rdi + 0x54], 1
mov eax, 1
lock xadd qword [0x180044fa0], rax
inc rax
mov qword [rdi + 0x68], rax
jne 0x180004019
mov eax, 1
lock xadd qword [0x180044fa0], rax
inc rax
mov qword [rdi + 0x68], rax
mov rcx, qword [rdi + 0x58]
lea r9, [rsp + 0x40]
mov edx, 0xffff
mov r8d, 0x1001
mov dword [rsp + 0x40], 0x40000
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rdi + 0x58]
lea r9, [rsp + 0x40]
mov edx, 0xffff
mov r8d, 0x1002
mov dword [rsp + 0x40], 0x40000
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
movzx r8d, bx
mov rdx, rbp
mov rcx, rdi
call fcn.1800041f0
test eax, eax
je 0x1800040ce
lea rax, [rdi + 0x80]
lea r8, [0x180004400]
mov r9, rdi
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], esi
call fcn.180014d8c
mov qword [rdi + 0x78], rax
test rax, rax
je 0x1800040bd
mov rcx, qword [rdi + 0x40]
mov esi, 1
call qword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x180004110
mov dword [rdi + 0x84], 8
mov ecx, 0x65f
jmp 0x1800040e0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rdi + 0x84], select
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [rdi + 0x48], esi
mov qword [rdi + 0x4c], 5
mov dword [rdi + 0x54], 1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
mov ebx, eax
call fcn.180004d50
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov eax, esi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1800041f0
Capabilities:
Connect socket
Connect udp socket
Create udp socket
Resolve dns
Set socket configuration

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x80
mov rax, qword [0x18003aa90]
xor rax, rsp
mov qword [rsp + 0x68], rax
movzx r12d, r8w
mov r14d, 2
mov r13, rdx
mov rbp, rcx
xor esi, esi
mov edx, r14d
lea r8d, [rsi + 0x11]
mov ecx, r14d
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbp + 0x58], rax
cmp rax, 0xffffffffffffffff
jne 0x180004242
xor eax, eax
jmp 0x1800043d5
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0x54]
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x50]
mov r9d, 4
mov rcx, rax
mov edx, 0x9800000c
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.WS2_32.dll_WSAIoctl]
mov rcx, qword [rbp + 0x58]
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov r8d, 0xfffffffb
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rbp + 0x58]
lea r9, [rsp + 0x50]
mov edx, 0xffff
mov r8d, 4
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
call qword [sym.imp.WS2_32.dll_WSACreateEvent]
mov rcx, r13
mov qword [rbp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov r8, r13
xor edx, edx
xor ecx, ecx
mov r9d, eax
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
lea eax, [rbx + 1]
movsxd rcx, eax
call fcn.180011cb8
mov rcx, r13
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov r8, r13
xor edx, edx
mov r9d, eax
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, rdi
mov byte [rbx + rdi], sil
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov rcx, rdi
mov rbx, rax
call fcn.1800142cc
mov rdi, qword [rsp + 0x70]
test rbx, rbx
jne 0x180004363
xor eax, eax
jmp 0x1800043d0
movzx ecx, r12w
mov word [rsp + 0x58], r14w
call qword [sym.imp.WS2_32.dll_htons]
mov rdx, qword [rbp + 0x60]
mov r8d, gethostbyname
mov word [rsp + 0x5a], ax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rax]
mov eax, dword [rcx]
mov rcx, qword [rbp + 0x58]
mov dword [rsp + 0x5c], eax
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
je 0x1800043ce
mov rcx, qword [rbp + 0x58]
lea rdx, [rsp + 0x58]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x1800043c9
cmp eax, 0xffffffff
jne 0x1800043ce
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1800043ce
mov esi, 1
mov eax, esi
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1800142f0
add rsp, 0x80
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
Function at 0x180004820
Capabilities:
Send data
Send data on socket

Disassembly:
push rbx
sub rsp, 0x20
mov eax, dword [rdx + 0x14]
mov rbx, rcx
test eax, eax
je 0x180004850
mov dword [rcx + 0x50], eax
mov dword [rcx + 0x48], 1
mov dword [rcx + 0x4c], 2
xor eax, eax
mov dword [rcx + 0x54], 1
add rsp, 0x20
pop rbx
ret
mov rdx, qword [rcx + 0x60]
mov rcx, qword [rcx + 0x58]
mov r8d, 0x23
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
jne 0x18000488f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rbx + 0x48], 1
mov dword [rbx + 0x4c], 2
mov dword [rbx + 0x50], eax
xor eax, eax
mov dword [rbx + 0x54], 1
add rsp, 0x20
pop rbx
ret
mov dword [rbx + 0x88], 1
lea r9, [rbx + 0x220]
lea rcx, [rbx + 0x268]
mov r8, rbx
mov rdx, rbx
mov qword [rsp + 0x30], rdi
mov dword [rbx + 0x8c], 1
call fcn.180005d60
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor edi, edi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1800048ea
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
cmove eax, edi
mov edi, eax
mov rcx, qword [rbx + 0x68]
call fcn.180003210
test edi, edi
mov rdi, qword [rsp + 0x30]
je 0x180004907
mov ecx, 0x80004005
call fcn.180001220
int3
mov eax, 1
add rsp, 0x20
pop rbx
ret

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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rdi
sub rsp, 0x30
mov rbx, rcx
lea rbp, [0x180031850]
nop dword [rax]
mov rdx, qword [rbx + 0xa0]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov r8d, 0x598
call qword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test eax, eax
jle 0x1800049d9
cmp eax, 0x10
jne 0x18000498c
mov rax, qword [rbx + 0xa0]
mov rdx, qword [rax]
cmp rdx, qword [rbp]
jne 0x180004983
mov rdx, qword [rax + 8]
cmp rdx, qword [rbp + 8]
jne 0x180004983
xor eax, eax
jmp 0x180004988
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180004a0b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r11d, dword [rbx + 0x244]
mov rdx, qword [rbx + 0xa0]
lea rcx, [rbx + 0x268]
cmp edi, 0x18
jl 0x1800049c4
mov r9, qword [rbx + 0x250]
mov r8d, edi
mov dword [rsp + 0x20], r11d
call fcn.1800063b0
jmp 0x1800049ce
cmp edi, 0xc
jne 0x180004a33
call fcn.180006220
cmp eax, 2
jne 0x180004940
jmp 0x180004a3e
cmp eax, 0xffffffff
jne 0x180004940
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x180004a81
cmp eax, 0x2744
je 0x180004940
cmp eax, 0x2746
je 0x180004940
jmp 0x180004a57
mov dword [rbx + 0x48], 1
mov qword [rbx + 0x4c], 5
mov dword [rbx + 0x54], 0
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov ecx, recv
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov rcx, qword [rbx + 0x68]
call fcn.180003210
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x4c7
test eax, eax
cmove eax, ecx
mov dword [rbx + 0x48], 1
mov dword [rbx + 0x4c], 4
mov dword [rbx + 0x50], eax
mov dword [rbx + 0x54], 1
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov eax, 1
add rsp, 0x30
pop rdi
ret
Function at 0x180004d50
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, rbx
mov edi, eax
call fcn.180004130
test eax, eax
jne 0x180004d7c
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov edx, edi
mov rcx, rbx
call fcn.180004f70
mov eax, dword [rbx + 0x88]
xor edi, edi
test eax, eax
je 0x180004db5
cmp dword [rbx + 0x54], edi
je 0x180004daf
mov rcx, qword [rbx + 0x58]
lea r8d, [rdi + 0x10]
lea rdx, [0x180031850]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov dword [rbx + 0x88], edi
cmp dword [rbx + 0x48], edi
je 0x180004dd2
mov rcx, qword [rbx + 0x68]
call fcn.180003210
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, edi
xchg dword [rbx + 0x20], eax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x180004de5
call qword [sym.imp.WS2_32.dll_WSACloseEvent]
mov qword [rbx + 0x60], rdi
mov rcx, qword [rbx + 0x58]
cmp rcx, 0xffffffffffffffff
je 0x180004e0c
mov edx, 1
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [rbx + 0x58]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x58], 0xffffffffffffffff
mov rcx, rbx
call fcn.180004e30
mov rbx, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x20
pop rdi
ret

Function at 0x180005320
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rbx, rcx
mov rcx, qword [rcx + 8]
mov edi, r8d
mov rsi, rdx
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rbx + 0x358]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [rbx + 0x1c], eax
xor eax, eax
xchg dword [rbx + 0x20], eax
xor eax, eax
mov qword [rbx + 0x30], rax
mov word [rbx + 0x38], ax
mov rax, qword [rbx + 0x1c]
mov qword [rbx + 0x30], rax
mov eax, dword [rbx + 0x8c]
mov word [rbx + 0x38], 0x1ca
cmp eax, 3
je 0x180005388
mov rcx, rbx
call fcn.180004d50
movzx r8d, di
mov rdx, rsi
mov rcx, rbx
call fcn.180003f40
mov rcx, qword [rbx + 0x358]
mov edx, 0x1770
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1800053d8
cmp eax, 0x102
je 0x1800053b9
cmp eax, 0xffffffff
jne 0x1800053c6
mov rcx, qword [rbx + 0x358]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
xor al, al
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov eax, 1
xchg dword [rbx + 0x20], eax
mov rcx, qword [rbx + 0x358]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
lea r11, [rsp + 0x40]
lea r8, [0x180005430]
mov qword [rsp + 0x28], r11
mov r9, rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
call fcn.180014d8c
mov rsi, qword [rsp + 0x50]
mov qword [rbx + 0x360], rax
mov rbx, qword [rsp + 0x48]
mov al, 1
add rsp, 0x30
pop rdi
ret