joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140058080
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov r9, qword [rcx + 0xe0]
mov r10d, dword [rcx + 0xd8]
mov rbx, rdx
test r9, r9
je 0x140058113
test rdx, rdx
je 0x140058120
movsx rsi, byte [rdx]
test sil, sil
je 0x140058120
mov r8, rdx
xor eax, eax
nop
add rax, rsi
add r8, 1
movsx rsi, byte [r8]
mov rcx, rax
shl rcx, 0xa
add rax, rcx
mov rdx, rax
shr rdx, 8
xor rax, rdx
test sil, sil
jne 0x1400580b0
movsxd r11, r10d
xor edx, edx
div r11
movsxd rax, edx
shl rax, 3
mov rsi, qword [r9 + rax]
test rsi, rsi
jne 0x1400580f9
jmp 0x140058113
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x140058113
mov rdx, qword [rsi]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400580f0
mov rax, qword [rsi + 8]
add rsp, 0x28
pop rbx
pop rsi
ret
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
xor eax, eax
jmp 0x1400580e3
Function at 0x140072360
Capabilities:
Check if file exists
Get common file path

Disassembly:
mov ecx, 0x86
jmp sym.libvlccore.dll_config_GetUserDir
Function at 0x1400746f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x28]
test rdx, rdx
mov rbx, rcx
mov r12, rdx
sete bpl
mov r13, qword [rax + 0x200]
movzx r14d, byte [rax + 0x220]
test r13, r13
je 0x140074930
mov esi, r14d
xor esi, 1
or sil, bpl
jne 0x140074830
call sym.libvlccore.dll_mdate
mov rcx, qword [rbx + 0x28]
xor r10d, r10d
mov r8, qword [rcx + 0x3b0]
mov rdx, qword [rcx + 0x398]
lea r9, [rdx + r8*2 + 0xfa0]
mov r11, qword [rcx + 0x1e0]
test r11, r11
jle 0x1400748b7
add r11, 0x13880
sub r11, r9
mov r9d, esi
cmp r11, rax
setle dil
xor r9d, 1
and edi, r9d
test r12, r12
je 0x140074910
test r11, r11
je 0x140074795
mov qword [r12], r11
cmp r11, rax
setg al
test r10, r10
je 0x1400747aa
cmp r10, qword [r12]
jge 0x1400747aa
mov qword [r12], r10
test r13, r13
je 0x1400748d0
test al, al
je 0x1400748d0
test sil, sil
je 0x140074950
mov rcx, qword [rcx + 0x200]
call sym.libvlccore.dll_picture_Release
mov r12, qword [rbx + 0x28]
mov r13, qword [r12 + 0x208]
mov qword [r12 + 0x208], 0
mov qword [r12 + 0x200], r13
test r13, r13
je 0x140074950
test bpl, bpl
jne 0x1400748e5
test dil, dil
jne 0x1400748e5
movzx edx, byte [r13 + 0x160]
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp fcn.1400728a0
movzx edi, bpl
jmp 0x140074851
xor edx, edx
mov r8d, edi
mov rcx, rbx
call fcn.1400743b0
test eax, eax
jne 0x14007485f
mov r11, qword [rbx + 0x28]
cmp qword [r11 + 0x208], 0
je 0x140074840
call sym.libvlccore.dll_mdate
mov rcx, qword [rbx + 0x28]
test r14b, r14b
mov r8, qword [rcx + 0x3b0]
mov rdx, qword [rcx + 0x398]
lea r9, [rdx + r8*2 + 0xfa0]
jne 0x140074920
mov r14, qword [rcx + 0x208]
test r14, r14
je 0x140074920
mov r10, qword [r14 + 0x158]
mov r11, qword [rcx + 0x1e0]
sub r10, r9
cmp rax, r10
cmovl esi, ebp
test r11, r11
jg 0x140074768
xor edi, edi
test r12, r12
mov eax, 1
jne 0x14007479b
jmp 0x1400747aa
test sil, sil
jne 0x1400747c4
mov r13, qword [rcx + 0x200]
jmp 0x1400747f0
mov edx, 1
mov rcx, rbx
call fcn.1400728a0
test dil, dil
jne 0x140074950
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp r11, rax
setg al
jmp 0x1400747aa
mov esi, ebp
xor r10d, r10d
jmp 0x140074758
mov r8d, ebp
mov edx, 1
and r8d, 1
call fcn.1400743b0
test eax, eax
je 0x140074727
nop dword [rax]
mov eax, 0xffffffff
jmp 0x1400748f7
Function at 0x140081040
Capabilities:
Resolve dns

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rbx, qword [0x140285110]
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rbx]
mov qword [rsp + 0x48], rax
xor eax, eax
mov eax, dword [rsp + 0xa8]
or eax, 8
test rsi, rsi
mov dword [rsp + 0x30], eax
je 0x1400810b0
lea rdi, [rsp + 0x42]
mov dword [rsp + 0x28], 6
mov qword [rsp + 0x20], rdi
call qword [sym.imp.WS2_32.dll_getnameinfo]
mov rcx, rdi
mov ebp, eax
call sub.msvcrt.dll_atoi
mov dword [rsi], eax
mov rdi, qword [rsp + 0x48]
xor rdi, qword [rbx]
mov eax, ebp
jne 0x1400810cb
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_getnameinfo]
mov ebp, eax
jmp 0x140081098
call fcn.1400c4ec0
nop
nop dword [rax + rax]
nop word cs:[rax + rax]

Function at 0x1400810e0
Capabilities:
Resolve dns

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x458
mov rbp, qword [0x140285110]
mov rbx, rcx
mov r12, r8
mov r13, r9
mov rax, qword [rbp]
mov qword [rsp + 0x448], rax
xor eax, eax
test edx, edx
je 0x140081140
cmp edx, 0xffff
mov eax, 0x277d
jbe 0x140081165
mov rdi, qword [rsp + 0x448]
xor rdi, qword [rbp]
jne 0x140081211
add rsp, 0x458
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor edx, edx
test rbx, rbx
je 0x140081152
movzx eax, byte [rbx]
cmp al, 0x5b
je 0x140081190
test al, al
jne 0x140081154
xor ebx, ebx
mov r9, r13
mov r8, r12
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getaddrinfo]
jmp 0x14008111e
lea rsi, [rsp + 0x3a]
lea r8, [0x140189e00]
mov r9d, edx
mov edx, 6
mov rcx, rsi
call fcn.14015d290
mov rdx, rsi
jmp 0x140081142
lea rsi, [rbx + 1]
mov qword [rsp + 0x28], rdx
mov rcx, rsi
call sub.msvcrt.dll_strlen
cmp rax, 0x401
mov rdx, qword [rsp + 0x28]
ja 0x140081154
cmp byte [rbx + rax], 0x5d
jne 0x140081154
sub rax, 1
lea rbx, [rsp + 0x40]
cmp rax, 8
mov rdi, rbx
jb 0x1400811d0
mov rcx, rax
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
xor r10d, r10d
test al, 4
je 0x1400811e3
mov r8d, dword [rsi]
mov r10d, 4
mov dword [rdi], r8d
test al, 2
je 0x1400811f5
movzx r9d, word [rsi + r10]
mov word [rdi + r10], r9w
add r10, 2
test al, 1
je 0x140081202
movzx r11d, byte [rsi + r10]
mov byte [rdi + r10], r11b
mov byte [rsp + rax + 0x40], 0
movzx eax, byte [rsp + 0x40]
jmp 0x14008114e
call fcn.1400c4ec0
nop
nop word [rax + rax]
Function at 0x1400888e0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rsi, qword [0x140285110]
lea rdi, [rsp + 0x40]
mov rbx, rdx
mov rbp, r8
mov rax, qword [rsi]
mov qword [rsp + 0xc8], rax
xor eax, eax
mov rax, qword [rcx + 8]
mov rcx, rax
call qword [rax]
mov dword [rsp + 0x3c], pe_nt_image_headers64
movsxd rcx, eax
lea r8, [rsp + 0x3c]
mov rdx, rdi
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x140088972
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x28], 2
mov r9d, 0x40
mov qword [rsp + 0x20], rbp
mov r8, rbx
mov rcx, rdi
call sym.libvlccore.dll_vlc_getnameinfo
test eax, eax
jne 0x140088972
mov rax, rbx
mov rbx, qword [rsp + 0xc8]
xor rbx, qword [rsi]
jne 0x140088976
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor eax, eax
jmp 0x140088959
call fcn.1400c4ec0
nop
nop dword [rax]

Function at 0x140088c20
Capabilities:
Set socket configuration

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rsi, qword [0x140285110]
mov edi, edx
mov rbp, rcx
mov edx, r8d
mov ecx, edi
mov r8d, r9d
mov r9d, 1
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor eax, eax
call sym.libvlccore.dll_vlc_socket
cmp eax, 0xffffffff
mov ebx, eax
je 0x140088cb0
movsxd r12, eax
mov dword [rsp + 0x4c], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x4c]
mov r8d, 4
mov edx, 0xffff
mov rcx, r12
mov rbp, qword [sym.imp.WS2_32.dll_setsockopt]
call rbp
cmp edi, 0x17
je 0x140088d10
mov rcx, qword [rsp + 0x58]
xor rcx, qword [rsi]
mov eax, ebx
jne 0x140088d5f
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rdi, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rdi
cmp eax, 0x66
je 0x140088c92
call rdi
mov ecx, eax
call sym.libvlccore.dll_vlc_strerror_c
lea rdx, str.net_Socket
mov qword [rsp + 0x38], rax
mov r8, qword [str.main]
lea rax, str.cannot_create_socket:__s
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_io.c
mov dword [rsp + 0x20], 0x3f
mov qword [rsp + 0x28], rdx
mov rcx, rbp
mov edx, 1
mov qword [rsp + 0x30], rax
call sym.libvlccore.dll_vlc_Log
jmp 0x140088c92
lea r9, [rsp + 0x50]
mov rcx, r12
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x20], 4
mov r8d, 0x1b
mov edx, 0x29
call rbp
mov dword [rsp + 0x54], 0xa
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x54]
mov r8d, 0x17
mov edx, 0x29
mov rcx, r12
call rbp
jmp 0x140088c92
call fcn.1400c4ec0
nop
nop
nop word cs:[rax + rax]
Function at 0x140089660
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor ebp, ebp
xor ebx, ebx
xor r12d, r12d
movsxd r14, edx
mov r13, rcx
mov rdi, r14
cmp rbx, rbp
jne 0x1400896b0
cmp rbx, 0xffff
ja 0x1400897c1
add rbx, 0x400
mov rcx, r12
mov rdx, rbx
call sub.msvcrt.dll_realloc
test rax, rax
je 0x1400897b5
mov r12, rax
lea rsi, [r12 + rbp]
mov r8, rbx
mov qword [rsp + 0x28], 0
sub r8, rbp
mov qword [rsp + 0x20], 0
mov r9d, 2
mov rdx, rsi
mov ecx, edi
call sym.libvlccore.dll_vlc_recvfrom_i11e
test rax, rax
mov r15, rax
jle 0x1400897b5
mov r8, rax
mov edx, 0xa
mov rcx, rsi
call sub.msvcrt.dll_memchr
test rax, rax
je 0x140089794
lea r15, [rax + 1]
xor r9d, r9d
mov rdx, rsi
movsxd rcx, edi
sub r15, rsi
mov r8d, r15d
call qword [sym.imp.WS2_32.dll_recv]
cdqe
mov rsi, qword [sym.imp.msvcrt.dll__errno]
cmp r15, rax
je 0x1400897d5
call rsi
mov ecx, dword [rax]
call sym.libvlccore.dll_vlc_strerror_c
lea rdx, str.read_error:__s
lea rcx, str.net_Gets
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_io.c
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x17b
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov edx, 1
mov rcx, r13
call sym.libvlccore.dll_vlc_Log
mov rcx, r12
xor r12d, r12d
call fcn.14016b6d8
mov rax, r12
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
mov r8d, r15d
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.WS2_32.dll_recv]
cdqe
cmp r15, rax
jne 0x1400897b5
add rbp, r15
jmp 0x140089680
mov rsi, qword [sym.imp.msvcrt.dll__errno]
jmp 0x14008972c
mov rsi, qword [sym.imp.msvcrt.dll__errno]
call rsi
mov dword [rax], 0x73
jmp 0x14008972c
add r15, rbp
cmp r15, 1
mov byte [r12 + r15 - 1], 0
je 0x140089780
lea rax, [r12 + r15 - 2]
cmp byte [rax], 0xd
jne 0x140089780
mov byte [rax], 0
jmp 0x140089780
Function at 0x14008a7d0
Capabilities:
Set socket configuration

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rsi, qword [0x140285110]
xor r8d, r8d
mov r9d, 1
mov edi, edx
mov rbp, rcx
xor edx, edx
mov ecx, edi
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor eax, eax
call sym.libvlccore.dll_vlc_accept
cmp eax, 0xffffffff
mov ebx, eax
je 0x14008a890
mov dword [rsp + 0x38], eax
lea rdx, str.net_AcceptSingle
lea rax, str.accepted_socket__d__from_socket__d_
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_tcp.c
mov rcx, rbp
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x40], edi
mov edx, 3
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0x100
call sym.libvlccore.dll_vlc_Log
mov dword [rsp + 0x54], 1
movsxd rcx, ebx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x54]
mov r8d, 4
mov edx, 0xffff
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rdi, qword [rsp + 0x58]
xor rdi, qword [rsi]
mov eax, ebx
jne 0x14008a8f1
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r12, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call r12
cmp eax, 0x2733
je 0x14008a879
call r12
mov ecx, eax
call sym.libvlccore.dll_vlc_strerror_c
lea r8, str.net_AcceptSingle
lea rcx, str.accept_failed__from_socket__d_:__s
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_tcp.c
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edi
mov edx, 1
mov qword [rsp + 0x28], r8
mov r8, qword [str.main]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], 0xfc
mov rcx, rbp
call sym.libvlccore.dll_vlc_Log
jmp 0x14008a879
call fcn.1400c4ec0
nop
nop word [rax + rax]
Function at 0x14008b0a0
Capabilities:
Set socket configuration

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
mov rdi, qword [0x140285110]
mov r14, rcx
mov esi, edx
mov r12, r8
mov r13, r9
lea rcx, str.Windows.Networking.dll
mov rax, qword [rdi]
mov qword [rsp + 0x78], rax
xor eax, eax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov rbx, rax
je 0x14008b1f0
lea rdx, str.SetSocketMediaStreamingMode
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14008b221
movsxd rbp, esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdx, qword [r13]
mov r8, qword [r12]
movzx eax, word [rdx]
cmp ax, 2
je 0x14008b170
cmp ax, 0x17
jne 0x14008b139
cmp r8d, 0x1b
jbe 0x14008b139
cmp byte [rdx + 8], 0xff
sete cl
test cl, cl
je 0x14008b139
cmp r8, 0x80
jbe 0x14008b1a0
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x14008b252
mov eax, esi
mov rsi, qword [rsp + 0x78]
xor rsi, qword [rdi]
jne 0x14008b2b2
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp r8d, 0xf
jbe 0x14008b139
mov ecx, dword [rdx + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
and eax, 0xf0000000
mov r8, qword [r12]
mov rdx, qword [r13]
cmp eax, 0xe0000000
sete cl
jmp 0x14008b12c
movzx r9d, word [rdx]
movzx edx, word [rdx + 2]
mov rcx, rbp
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x68], 0
mov word [rsp + 0x52], dx
mov word [rsp + 0x50], r9w
lea rdx, [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_bind]
jmp 0x14008b14a
movsxd rbp, esi
mov dword [rsp + 0x4c], 0x80000
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x4c]
mov r8d, 0x1002
mov edx, 0xffff
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x14008b108
movsxd rbp, esi
mov dword [rsp + 0x4c], 0x80000
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x4c]
mov r8d, 0x1002
mov edx, 0xffff
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x14008b0ff
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
lea rsi, str.socket_bind_error:__s
call sym.libvlccore.dll_vlc_strerror_c
lea r8, str.net_SetupDgramSocket
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_udp.c
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov edx, 1
mov rcx, r14
mov qword [rsp + 0x28], r8
mov r8, qword [str.main]
mov esi, 0xffffffff
mov dword [rsp + 0x20], 0x88
call sym.libvlccore.dll_vlc_Log
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x14008b14a
call fcn.1400c4ec0
nop
nop dword [rax + rax]
Function at 0x14008b2c0
Capabilities:
Set socket configuration

Disassembly:
push rsi
push rbx
sub rsp, 0x78
mov rbx, qword [0x140285110]
mov rsi, rcx
mov rax, qword [rbx]
mov qword [rsp + 0x68], rax
xor eax, eax
movzx eax, word [r8]
cmp ax, 2
je 0x14008b3a5
cmp ax, 0x17
je 0x14008b361
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x273f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call sym.libvlccore.dll_vlc_strerror_c
lea rdx, str.cannot_join_multicast_group:__s
lea r11, str.net_Subscribe
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_network_udp.c
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x1da
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r11
mov edx, 1
mov rcx, rsi
call sym.libvlccore.dll_vlc_Log
mov eax, 0xffffffff
mov rsi, qword [rsp + 0x68]
xor rsi, qword [rbx]
jne 0x14008b3e2
add rsp, 0x78
pop rbx
pop rsi
ret
mov r9, qword [r8 + 8]
mov ecx, dword [r8 + 0x18]
mov r10, qword [r8 + 0x10]
mov dword [rsp + 0x20], 0x14
mov r8d, 0xc
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x60], ecx
lea r9, [rsp + 0x50]
movsxd rcx, edx
mov qword [rsp + 0x58], r10
mov edx, 0x29
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14008b34c
jmp 0x14008b2fa
mov r8d, dword [r8 + 4]
mov qword [rsp + 0x48], 0
movsxd rcx, edx
mov dword [rsp + 0x20], 8
xor edx, edx
lea r9, [rsp + 0x48]
mov dword [rsp + 0x48], r8d
mov r8d, 0xc
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14008b34c
jmp 0x14008b2fa
call fcn.1400c4ec0
nop
nop dword [rax + rax]
Function at 0x14008c5c0
Capabilities:
Set socket configuration

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbp, qword [0x140285110]
mov edx, dword [rcx + 8]
mov r9d, 1
mov rbx, rcx
mov ecx, dword [rcx + 4]
mov r8d, dword [rbx + 0xc]
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
xor eax, eax
call sym.libvlccore.dll_vlc_socket
cmp eax, 0xffffffff
mov esi, eax
je 0x14008c6e9
movsxd r13, eax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov r8d, 4
mov edx, 0xffff
mov rcx, r13
mov rdi, qword [sym.imp.WS2_32.dll_setsockopt]
call rdi
movabs rax, 0x600000001
cmp qword [rbx + 8], rax
je 0x14008c6f0
mov rdi, qword [rbx + 0x10]
mov r14, qword [rbx + 0x20]
movsxd r12, edi
lea rcx, [r12 + 0x38]
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14008c6e0
lea rdx, [0x14008c3a0]
lea rcx, [0x14008c450]
lea r8, [0x14008c3f0]
lea r9, [0x14008c3d0]
lea r10, [0x14008c3b0]
test edi, edi
mov rbx, rax
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], r9
mov qword [rax + 0x20], r10
mov qword [rax + 0x28], 0
mov dword [rax + 0x30], esi
mov dword [rax + 0x34], edi
jle 0x14008c6be
lea rcx, [rax + 0x38]
mov r8, r12
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x38]
xor rsi, qword [rbp]
mov rax, rbx
jne 0x14008c71a
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, r13
call qword [sym.imp.WS2_32.dll_closesocket]
xor ebx, ebx
jmp 0x14008c6be
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov r8d, 1
mov edx, 6
mov rcx, r13
call rdi
jmp 0x14008c646
call fcn.1400c4ec0
nop
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rsi, qword [0x140285110]
mov rbx, rcx
mov rbp, rdx
lea rdx, [rcx + 0x38]
mov r12d, r8d
mov r8d, dword [rbx + 0x34]
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor eax, eax
lea rax, [0x14008c3f0]
mov qword [rcx + 0x10], rax
movsxd rcx, dword [rcx + 0x30]
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x14008c7a4
lea rdx, [rsp + 0x20]
mov ecx, 7
xor eax, eax
mov r8d, r12d
mov rdi, rdx
rep stosq qword [rdi], rax
mov ecx, dword [rbx + 0x30]
mov qword [rsp + 0x38], r8
xor r8d, r8d
mov qword [rsp + 0x30], rbp
call fcn.1400c5bc0
mov rdi, qword [rsp + 0x58]
xor rdi, qword [rsi]
jne 0x14008c7ba
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, rbx
call fcn.14008c4b0
test rax, rax
je 0x14008c765
mov rax, 0xffffffffffffffff
jmp 0x14008c78f
call fcn.1400c4ec0
nop
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
call sym.libvlccore.dll_vlc_savecancel
mov esi, eax
mov rcx, rbx
call qword [rbx + 0x20]
mov ecx, esi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.libvlccore.dll_vlc_restorecancel
Function at 0x14008c720
Capabilities:
Connect socket

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rbp, qword [0x140285110]
mov edx, dword [rcx + 8]
mov r9d, 1
mov rbx, rcx
mov ecx, dword [rcx + 4]
mov r8d, dword [rbx + 0xc]
mov rax, qword [rbp]
mov qword [rsp + 0x38], rax
xor eax, eax
call sym.libvlccore.dll_vlc_socket
cmp eax, 0xffffffff
mov esi, eax
je 0x14008c6e9
movsxd r13, eax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov r8d, 4
mov edx, 0xffff
mov rcx, r13
mov rdi, qword [sym.imp.WS2_32.dll_setsockopt]
call rdi
movabs rax, 0x600000001
cmp qword [rbx + 8], rax
je 0x14008c6f0
mov rdi, qword [rbx + 0x10]
mov r14, qword [rbx + 0x20]
movsxd r12, edi
lea rcx, [r12 + 0x38]
call sub.msvcrt.dll_malloc
test rax, rax
je 0x14008c6e0
lea rdx, [0x14008c3a0]
lea rcx, [0x14008c450]
lea r8, [0x14008c3f0]
lea r9, [0x14008c3d0]
lea r10, [0x14008c3b0]
test edi, edi
mov rbx, rax
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r8
mov qword [rax + 0x18], r9
mov qword [rax + 0x20], r10
mov qword [rax + 0x28], 0
mov dword [rax + 0x30], esi
mov dword [rax + 0x34], edi
jle 0x14008c6be
lea rcx, [rax + 0x38]
mov r8, r12
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0x38]
xor rsi, qword [rbp]
mov rax, rbx
jne 0x14008c71a
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov rcx, r13
call qword [sym.imp.WS2_32.dll_closesocket]
xor ebx, ebx
jmp 0x14008c6be
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov r8d, 1
mov edx, 6
mov rcx, r13
call rdi
jmp 0x14008c646
call fcn.1400c4ec0
nop
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rsi, qword [0x140285110]
mov rbx, rcx
mov rbp, rdx
lea rdx, [rcx + 0x38]
mov r12d, r8d
mov r8d, dword [rbx + 0x34]
mov rax, qword [rsi]
mov qword [rsp + 0x58], rax
xor eax, eax
lea rax, [0x14008c3f0]
mov qword [rcx + 0x10], rax
movsxd rcx, dword [rcx + 0x30]
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x14008c7a4
lea rdx, [rsp + 0x20]
mov ecx, 7
xor eax, eax
mov r8d, r12d
mov rdi, rdx
rep stosq qword [rdi], rax
mov ecx, dword [rbx + 0x30]
mov qword [rsp + 0x38], r8
xor r8d, r8d
mov qword [rsp + 0x30], rbp
call fcn.1400c5bc0
mov rdi, qword [rsp + 0x58]
xor rdi, qword [rsi]
jne 0x14008c7ba
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, rbx
call fcn.14008c4b0
test rax, rax
je 0x14008c765
mov rax, 0xffffffffffffffff
jmp 0x14008c78f
call fcn.1400c4ec0
nop
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
call sym.libvlccore.dll_vlc_savecancel
mov esi, eax
mov rcx, rbx
call qword [rbx + 0x20]
mov ecx, esi
add rsp, 0x28
pop rbx
pop rsi
jmp sym.libvlccore.dll_vlc_restorecancel