joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003fd00
Capabilities:
Delete file

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
movabs rbx, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rbx
je 0x14003fd65
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x14003fd70
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
call sub.KERNEL32.dll_DeleteFileW
test eax, eax
je 0x14003fd99
test rdi, rdi
je 0x14003fdc4
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x14003fd68
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x14003fd68
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x14003fd65
xor eax, eax
jmp 0x14003fd68

Function at 0x14003fdd0
Capabilities:
Move file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rbx, r9
mov r14, r8
mov r8, rdx
mov rdx, rcx
movabs r15, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, r15
je 0x14003feb6
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, r15
je 0x14003feb6
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rbx
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
cmp rax, r15
je 0x14003fe97
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
cmp r14, r15
jne 0x14003fec5
mov rax, rbx
test rdi, rdi
je 0x14003feb9
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rsi
mov rdx, rbx
mov r8d, 1
call sub.KERNEL32.dll_MoveFileExW
test eax, eax
je 0x14003ff10
test r14, r14
je 0x14003fef3
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call sym.__rust_dealloc
test rdi, rdi
je 0x14003ff0c
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x14003feb9
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test r14, r14
je 0x14003fe9a
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
mov rbx, rax
call sym.__rust_dealloc
jmp 0x14003fe97
Function at 0x14003ff70
Capabilities:
Delete directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
movabs rbx, 0x8000000000000000
lea rcx, [rsp + 0x28]
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rbx
je 0x14003ffd5
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x14003ffe0
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
call sub.KERNEL32.dll_RemoveDirectoryW
test eax, eax
je 0x140040009
test rdi, rdi
je 0x140040034
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x14003ffd8
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x14003ffd8
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x14003ffd5
xor eax, eax
jmp 0x14003ffd8

Function at 0x140041490
Capabilities:
Set file attributes

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov ebx, r8d
mov r8, rdx
mov rdx, rcx
movabs r14, 0x8000000000000000
lea rcx, [rsp + 0x20]
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
cmp rax, r14
je 0x1400414fa
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
cmp rdi, r14
jne 0x140041507
mov rax, rsi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, rsi
mov edx, ebx
call sub.KERNEL32.dll_SetFileAttributesW
test eax, eax
je 0x140041532
test rdi, rdi
je 0x14004155d
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x1400414fd
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x1400414fd
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x1400414fa
xor eax, eax
jmp 0x1400414fd
Function at 0x140041850
Capabilities:
Copy file

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rbx, r9
mov r14, r8
mov r8, rdx
mov rdx, rcx
movabs r15, 0x8000000000000000
lea rcx, [rsp + 0x50]
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
cmp rax, r15
je 0x14004193b
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
cmp rdi, r15
je 0x14004193b
lea rcx, [rsp + 0x50]
mov rdx, r14
mov r8, rbx
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp rax, r15
je 0x14004191a
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x38]
mov r8b, 1
call sym.std::sys::path::windows::get_long_path::h0c9dd5c5140d8b99
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
cmp rbx, r15
jne 0x140041952
mov eax, 1
test rdi, rdi
je 0x140041943
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rsi, rdx
mov rdx, rdi
call sym.__rust_dealloc
mov eax, 1
mov rdx, rsi
add rsp, 0x80
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [sym.std::sys::pal::windows::fs::copy::callback::h35ce167e1c75e00f]
lea r9, [rsp + 0x38]
mov rcx, rsi
mov r14, rdx
call sub.KERNEL32.dll_CopyFileExW
test eax, eax
je 0x1400419d1
mov rdx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400419ab
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov r14, rdx
mov rdx, rbx
call sym.__rust_dealloc
mov rdx, r14
test rdi, rdi
je 0x1400419ca
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rsi, rdx
mov rdx, rdi
call sym.__rust_dealloc
mov rdx, rsi
xor eax, eax
jmp 0x140041943
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
test rbx, rbx
je 0x14004191a
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov r14, rdx
mov rdx, rbx
call sym.__rust_dealloc
mov rdx, r14
jmp 0x14004191a

Function at 0x140042490
Capabilities:
Read file on windows

Disassembly:
push rsi
sub rsp, 0x40
mov rax, r8
mov rsi, rcx
mov r10, qword [rsp + 0x70]
mov r8d, 0xffffffff
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x34], 0
mov rcx, qword [rdx]
mov qword [rsp + 0x20], r10
lea r9, [rsp + 0x34]
mov rdx, rax
call sub.KERNEL32.dll_ReadFile
test eax, eax
je 0x1400424df
mov eax, dword [rsp + 0x34]
mov qword [rsi], 1
mov qword [rsi + 8], rax
jmp 0x14004254d
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x38], rax
movabs rcx, 0xffffffff00000000
and rcx, rax
movabs rdx, 0x6d00000000
cmp rcx, rdx
je 0x140042521
movabs rdx, 0x3e500000000
cmp rcx, rdx
jne 0x140042542
mov rax, rsi
jmp 0x14004252f
mov qword [rsi], 1
mov rax, rsi
add rax, 8
mov qword [rax], 0
lea rcx, [rsp + 0x38]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
jmp 0x14004254d
mov qword [rsi + 8], rax
mov qword [rsi], 2
mov rax, rsi
add rsp, 0x40
pop rsi
ret
Function at 0x1400427a0
Capabilities:
Read file on windows

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
movups xmm0, xmmword [0x14127c948]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x1400427d8
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x88], rcx
test r9, r9
mov qword [rsp + 0x80], r9
lea rcx, [rsp + 0x88]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtReadFile
cmp eax, 0x103
jne 0x140042838
mov rcx, rsi
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x60]
cmp eax, 0xc0000011
jne 0x140042843
xor edx, edx
jmp 0x140042853
cmp eax, 0x103
je 0x14004287d
test eax, eax
js 0x14004285e
mov rdx, qword [rsp + 0x68]
xor eax, eax
add rsp, 0xb0
pop rsi
ret
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xb0
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x14127ca30]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x80]
call sym.std::io::Write::write_fmt::h4096e092b1acc2d9
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call sym.core::ptr::drop_in_place_core::result::Result____std::io::error::Error__::hf1a2036a539b4597
mov ecx, 7
int 0x29
ud2

Function at 0x1400428f0
Capabilities:
Write file on windows

Disassembly:
push rsi
sub rsp, 0xb0
mov rsi, rcx
movups xmm0, xmmword [0x14127c948]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x140042928
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x88], rcx
test r9, r9
mov qword [rsp + 0x80], r9
lea rcx, [rsp + 0x88]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.ntdll.dll_NtWriteFile
cmp eax, 0x103
jne 0x14004298f
mov rcx, rsi
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x1400429c2
test eax, eax
js 0x1400429a3
mov rdx, qword [rsp + 0x68]
xor eax, eax
add rsp, 0xb0
pop rsi
ret
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xb0
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, [0x14127ca30]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x80]
call sym.std::io::Write::write_fmt::h4096e092b1acc2d9
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
call sym.core::ptr::drop_in_place_core::result::Result____std::io::error::Error__::hf1a2036a539b4597
mov ecx, 7
int 0x29
ud2
Function at 0x140042f60
Capabilities:
Create udp socket

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov edi, edx
cmp word [rcx], 0
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
xor ebx, ebx
mov ecx, ebp
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14004302f
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2739
je 0x140042fbc
mov esi, eax
cmp eax, 0x2726
jne case.0x14004212b.136
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, edi
xor r8d, r8d
xor r9d, r9d
call sub.WS2_32.dll_WSASocketW
cmp rax, 0xffffffffffffffff
je 0x14004301b
mov rsi, rax
xor ebx, ebx
mov rcx, rax
mov edx, 1
xor r8d, r8d
shr al, 0xb6
add eax, 0x75c08500
invalid
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call sub.WS2_32.dll_closesocket
add rax, 0x1bb00
add byte [rax], al
mov rsi, rdi
jmp 0x14004302f
call sub.WS2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov ebx, 1
mov rax, rbx
mov rdx, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret

Function at 0x140043040
Capabilities:
Connect socket

Disassembly:
sub rsp, 0x48
cmp word [rdx], 0
je 0x140043066
movups xmm0, xmmword [rdx + 4]
mov eax, dword [rdx + 0x14]
mov r9d, dword [rdx + 0x18]
movzx edx, word [rdx + 0x1c]
mov r8d, 0x1c
mov r10w, 0x17
jmp 0x14004307b
mov eax, dword [rdx + 2]
movzx edx, word [rdx + 6]
mov r8d, 0x10
mov r10w, 2
xorps xmm0, xmm0
rol dx, 8
mov word [rsp + 0x2c], r10w
mov word [rsp + 0x2e], dx
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x34], xmm0
mov dword [rsp + 0x44], r9d
mov rcx, qword [rcx]
lea rdx, [rsp + 0x2c]
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
je 0x1400430b1
xor eax, eax
add rsp, 0x48
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x48
ret

Function at 0x1400430d0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x450
mov ebx, r9d
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov dword [rsp + 0x40], 1
mov rdi, qword [rcx]
lea r8, [rsp + 0x40]
mov rcx, rdi
mov edx, 0x8004667e
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140043132
cmp word [r15], 0
je 0x140043147
movups xmm0, xmmword [r15 + 4]
mov eax, dword [r15 + 0x14]
mov edx, dword [r15 + 0x18]
movzx ecx, word [r15 + 0x1c]
mov r8d, 0x1c
mov r9w, 0x17
mov r9d, 0x2ceb0017
mov eax, dword [r15 + 2]
movzx ecx, word [r15 + 6]
mov r8d, 0x10
mov r9w, 2
mov r9d, 0x570f0002
invalid
rol cx, 8
mov word [rsp + 0x40], r9w
and al, 0x40

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

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x140043551
movsxd rdx, eax
xor ecx, ecx
mov rax, rcx
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
xor edx, edx
mov ecx, 0
cmp eax, 0x274a
je 0x140043549
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret
Function at 0x140043580
Capabilities:
Receive data
Receive data on socket

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rdi, rdx
mov rdx, qword [rdx + 8]
mov rsi, qword [rdi + 0x10]
mov rax, rdx
sub rax, rsi
jb 0x1400435fa
mov rcx, qword [rcx]
cmp rax, 0x7fffffff
mov r8d, 0x7fffffff
cmovb r8, rax
mov rdx, qword [rdi]
add rdx, rsi
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400435db
cdqe
add rsi, rax
mov qword [rdi + 0x10], rsi
mov rax, qword [rdi + 0x18]
cmp rax, rsi
cmova rsi, rax
mov qword [rdi + 0x18], rsi
xor eax, eax
jmp 0x1400435f3
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x1400435eb
xor eax, eax
jmp 0x1400435f3
shl rax, 0x20
or rax, 2
add rsp, 0x28
pop rdi
pop rsi
ret
lea r8, [0x1412781f0]
mov rcx, rsi
call sym.core::slice::index::slice_start_index_len_fail::hbdd30c80ba9cb1bd
int3

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

Disassembly:
sub rsp, 0x48
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov rcx, qword [rcx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
call sub.WS2_32.dll_WSARecv
test eax, eax
je 0x140043668
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x140043673
xor edx, edx
xor eax, eax
add rsp, 0x48
ret
mov edx, dword [rsp + 0x40]
xor eax, eax
add rsp, 0x48
ret
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x48
ret

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

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
mov r9d, 2
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x1400436c4
movsxd rdx, eax
xor ecx, ecx
mov rax, rcx
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
xor edx, edx
mov ecx, 0
cmp eax, 0x274a
je 0x1400436bc
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret
Function at 0x140043a00
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x3c], 0
mov rcx, qword [rcx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x3c]
call sub.WS2_32.dll_WSASend
mov esi, eax
cmp esi, 0xffffffff
jne 0x140043a4a
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
xor ecx, ecx
cmp esi, 0xffffffff
sete cl
mov edx, dword [rsp + 0x3c]
cmove rdx, rax
mov rax, rcx
add rsp, 0x40
pop rsi
ret

Function at 0x140043a70
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
xor r10d, r10d
cmp r8d, 0x3b9aca00
je 0x140043ace
mov r10d, 0x3e8
mov rax, rdx
mul r10
mov r10d, 0xffffffff
jo 0x140043ace
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x140043ace
imul edx, edx, 0xf4240
xor r11d, r11d
sub r8d, edx
setne r11b
add rax, r11
jb 0x140043ace
mov r10d, 0xffffffff
cmp rax, r10
cmovb r10, rax
test r10, r10
je 0x140043b11
mov rcx, qword [rcx]
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x20], 4
lea rax, [rsp + 0x34]
mov edx, 0xffff
mov r8d, r9d
mov r9, rax
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140043aff
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret
lea rax, [0x14127cab8]
add rsp, 0x38
ret

Function at 0x140043be0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
movzx eax, dl
mov dword [rsp + 0x24], eax
mov rcx, qword [rcx]
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140043c09
xor eax, eax
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x28
ret

Function at 0x140043c20
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
xor esi, esi
xor eax, eax
cmp r8d, 0x3b9aca00
cmove edx, esi
setne al
mov rcx, qword [rcx]
mov word [rsp + 0x2c], ax
mov word [rsp + 0x2e], dx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x2c]
mov edx, 0xffff
mov r8d, pe_nt_image_headers64
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x140043c74
call sub.WS2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rax, rsi
add rsp, 0x30
pop rsi
ret

Function at 0x140043d00
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
movzx eax, dl
mov rcx, qword [rcx]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 6
mov r8d, 1
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x140043d37
xor eax, eax
add rsp, 0x38
ret
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
add rsp, 0x38
ret

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

Disassembly:
sub rsp, 0x28
mov rax, qword [rcx]
mov rcx, qword [rax]
cmp r8, 0x7fffffff
mov eax, 0x7fffffff
cmovae r8, rax
xor r9d, r9d
call sub.WS2_32.dll_recv
cmp eax, 0xffffffff
je 0x140043e74
movsxd rdx, eax
xor ecx, ecx
mov rax, rcx
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
xor edx, edx
mov ecx, 0
cmp eax, 0x274a
je 0x140043e6c
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret
Function at 0x140044be0
Capabilities:
Set current directory

Disassembly:
push rsi
push rdi
sub rsp, 0x58
add rdx, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdx
mov word [rsp + 0x50], 0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x40]
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h084d9f946d
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x28]
jne 0x140044c24
lea rcx, [rsp + 0x28]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov word [rsi + rdx*2], 0
mov rcx, rsi
call sub.KERNEL32.dll_SetCurrentDirectoryW
test eax, eax
je 0x140044c62
xor edi, edi
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x140044c58
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call sym.__rust_dealloc
mov rax, rdi
add rsp, 0x58
pop rdi
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rdx, qword [rsp + 0x28]
test rdx, rdx
jne 0x140044c47
jmp 0x140044c58
Function at 0x1400454c0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x68
mov eax, 0xffffffff
cmp r8, rax

Function at 0x1400456e0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x68
sub esp, 0x68

Function at 0x140046080
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
cmp qword [rdx], 0
jne 0x1400461f1
mov rsi, rcx
mov rbx, qword [rdi + 0x18]
mov rax, qword [rbx]
test rax, rax
jne 0x1400460b7
mov rdx, qword [rbx + 0x10]
lea rax, [rdx + 0xf]
cmp rax, 0xf
jbe 0x1400461b6
xor eax, eax
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x1400461d4
sub rax, rdx
add rdx, qword [rbx + 8]
mov r8, qword [rdi + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
mov dword [rsp + 0x2c], 0
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x2c]
mov r8d, eax
call sub.KERNEL32.dll_ReadFile
test eax, eax
je 0x140046118
mov eax, dword [rsp + 0x2c]
mov ecx, 2
test rax, rax
je 0x14004615c
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov byte [rsi + 1], 1
jmp 0x140046160
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x40], rax
movabs rcx, 0xffffffff00000000
and rcx, rax
movabs rdx, 0x6d00000000
cmp rcx, rdx
je 0x140046164
movabs rdx, 0x3e500000000
cmp rcx, rdx
jne 0x140046193
lea rax, [rsp + 0x30]
jmp 0x140046172
mov byte [rsi + 1], 0
xor eax, eax
jmp 0x140046199
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x38]
mov qword [rax], 0
lea rcx, [rsp + 0x40]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
cmp rcx, 2
jne 0x1400461a3
mov qword [rsi + 8], rax
mov al, 1
mov byte [rsi], al
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
test rcx, rcx
jne 0x140046101
mov ecx, 1
jmp 0x14004610b
mov r8d, 0x10
mov rcx, rbx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hb0ad7a2b9f1c77cc
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
jne 0x1400460c4
mov r8d, 1
mov rcx, rbx
mov rdx, rax
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hb0ad7a2b9f1c77cc
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
jmp 0x1400460c4
mov qword [rsp + 0x40], 0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call sym.core::panicking::assert_failed::h12ecc11341689ccb
int3