joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003a9a0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
xor r9d, r9d
cmp r8d, 0x3b9aca00
je 0x14003aa01
mov r9d, 0x3e8
mov rax, rdx
mul r9
mov r9d, 0xffffffff
jo 0x14003aa01
mov edx, r8d
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x14003aa01
imul edx, edx, 0xf4240
xor r10d, r10d
sub r8d, edx
setne r10b
add rax, r10
jb 0x14003aa01
mov r9d, 0xffffffff
cmp rax, r9
cmovb r9, rax
test r9, r9
je 0x14003aa41
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x1005
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003aa2f
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, str.cannot_set_a_0_duration_timeout
add rsp, 0x38
ret

Function at 0x14003ab70
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 0x14003aba4
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 0x14003ab9c
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret

Function at 0x14003abd0
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
xor esi, esi
xor eax, eax
cmp r8d, 0x3b9aca00
setne al
cmove edx, esi
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 0x14003ac24
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 0x14003acb0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
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 0x14003ace7
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 0x14003ad70
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 0x14003adea
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 0x14003adcb
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 0x14003ade3
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x14003addb
xor eax, eax
jmp 0x14003ade3
shl rax, 0x20
or rax, 2
add rsp, 0x28
pop rdi
pop rsi
ret
lea r8, [0x1400a9980]
mov rcx, rsi
call dbg.slice_start_index_len_fail
int3
Function at 0x14003ae00
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub rsp, 0x48
mov rcx, qword [rcx]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
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 0x14003ae58
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x14003ae63
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 0x14003ae80
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov rcx, qword [rcx]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x3c], 0
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 0x14003aeca
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 0x14003aef0
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 0x14003af24
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 0x14003af1c
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret

Function at 0x14003af50
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 0x14003afcd
mov rcx, qword [rcx]
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 0x14003afae
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 0x14003afc6
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x14003afbe
xor eax, eax
jmp 0x14003afc6
shl rax, 0x20
or rax, 2
add rsp, 0x28
pop rdi
pop rsi
ret
lea r8, [0x1400a9980]
mov rcx, rsi
call dbg.slice_start_index_len_fail
int3

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

Disassembly:
sub rsp, 0x48
mov rax, qword [rcx]
mov rcx, qword [rax]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
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 0x14003b03b
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x274a
jne 0x14003b046
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 0x14003b060
Capabilities:
Send data
Send 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_send
cmp eax, 0xffffffff
je 0x14003b091
movsxd rdx, eax
xor eax, eax
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x28
ret

Function at 0x14003b0b0
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov rax, qword [rcx]
mov rcx, qword [rax]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x3c], 0
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 0x14003b0fd
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 0x14003b350
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x20], 4
xor esi, esi
lea r9, [rsp + 0x2c]
xor edx, edx
mov r8d, 4
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14003b38c
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 0x14003b410
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0x29
mov r8d, 0x1b
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003b447
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 0x14003b550
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x24], eax
lea r8, [rsp + 0x24]
mov edx, 0x8004667e
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x14003b579
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 0x14003b780
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0xffff
mov r8d, 0x20
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003b7b7
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 0x14003b840
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x20], 4
xor esi, esi
lea r9, [rsp + 0x2c]
xor edx, edx
mov r8d, 0xb
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14003b87f
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 0x14003b900
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x20], 4
xor esi, esi
lea r9, [rsp + 0x2c]
xor edx, edx
mov r8d, 0xa
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14003b93c
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 0x14003b9c0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x38
mov rcx, qword [rcx]
movzx eax, dl
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x34]
mov edx, 0x29
mov r8d, 0xb
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003b9f7
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 0x14003ba80
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov eax, dword [rdx]
mov edx, dword [r8]
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 8
xor esi, esi
lea r9, [rsp + 0x28]
xor edx, edx
mov r8d, 0xc
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14003bac9
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 0x14003bae0
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x48
mov rcx, qword [rcx]
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x20], 0x14
lea r9, [rsp + 0x30]
mov edx, 0x29
mov r8d, 0xc
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003bb1d
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 0x14003bb30
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rcx, qword [rcx]
mov eax, dword [rdx]
mov edx, dword [r8]
shl rdx, 0x20
or rdx, rax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 8
xor esi, esi
lea r9, [rsp + 0x28]
xor edx, edx
mov r8d, 0xd
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x14003bb79
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 0x14003bb90
Capabilities:
Set socket configuration

Disassembly:
sub rsp, 0x48
mov rcx, qword [rcx]
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x20], 0x14
lea r9, [rsp + 0x30]
mov edx, 0x29
mov r8d, 0xd
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14003bbcd
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 0x14003bbe0
Capabilities:
Send data
Send 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_send
cmp eax, 0xffffffff
je 0x14003bc0e
movsxd rdx, eax
xor eax, eax
add rsp, 0x28
ret
call sub.WS2_32.dll_WSAGetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x28
ret
Function at 0x14003bc30
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 0x14003bc61
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 0x14003bc59
shl rax, 0x20
or rax, 2
mov ecx, 1
mov rdx, rax
mov rax, rcx
add rsp, 0x28
ret

Function at 0x140040460
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x68
mov rcx, qword [rcx]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x34], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x34]
mov qword [rsp + 0x58], rax
lea rax, [dbg.callback]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x1400404e9
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x1400404b0
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
mov r8, rcx
shl r8, 0x20
or r8, 2
xor eax, eax
test ecx, ecx
setne al
cmovne rdx, r8
add rsp, 0x68
ret
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x68
ret

Function at 0x140040510
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x68
mov rax, qword [rcx]
mov rcx, qword [rax]
mov eax, 0xffffffff
cmp r8, rax
cmovae r8, rax
mov dword [rsp + 0x34], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x34]
mov qword [rsp + 0x58], rax
lea rax, [dbg.callback]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x1400405a9
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x140040570
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x3c]
mov r8, rcx
shl r8, 0x20
or r8, 2
xor eax, eax
test ecx, ecx
setne al
cmovne rdx, r8
add rsp, 0x68
ret
call sub.KERNEL32.dll_GetLastError
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0x68
ret

Function at 0x1400410c0
Capabilities:
Terminate process

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov rsi, qword [rcx + 0x30]
mov rcx, rsi
mov edx, 1
call sub.KERNEL32.dll_TerminateProcess
test eax, eax
je 0x1400410df
call sub.KERNEL32.dll_GetLastError
cmp eax, 5
jne 0x140041143
mov rdi, rax
mov rcx, rsi
xor edx, edx
call sub.KERNEL32.dll_WaitForSingleObject
test eax, eax
je 0x140041103
cmp eax, 0x102
mov dword [rsp + 0x24], 0
lea rdx, [rsp + 0x24]
lea edx, [rsp + 0x24]
Function at 0x140042330
Capabilities:
Initialize winsock library

Disassembly:
push rsi
push rdi
sub rsp, 0x1f8
mov rax, qword [rcx]
mov rdi, qword [rax]
mov qword [rax], 0
test rdi, rdi
je 0x140042388
lea rsi, [rsp + 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov cx, 0x202
mov rdx, rsi
call sub.WS2_32.dll_WSAStartup
mov dword [rsp + 0x2c], eax
test eax, eax
jne 0x140042394
lea rax, [0x1400a1ad4]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, str.library_std_src_synconce.rs
call sym.core::option::unwrap_failed::hc0851016c6838662
mov qword [rsp + 0x30], 0
lea rdx, [0x1400ae208]
lea r9, [0x1400ae210]
lea rcx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
int3

Function at 0x140043290
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov r14, r9
mov rsi, rcx
lea rcx, [rsp + 0x30]
call sym.__str_as_alloc::ffi::c_str::CString::new::SpecNewImpl_::spec_new_impl::ha1072e582ee5d5e2
mov rdx, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x140043319
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x58], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x28]
mov rcx, rdi
xor edx, edx
call sub.WS2_32.dll_getaddrinfo
test eax, eax
je 0x14004334c
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140043361
lea rax, [0x1400acdd8]
mov qword [rsi + 8], rax
mov qword [rsi], 1
test rdx, rdx
je 0x140043381
mov rcx, qword [rsp + 0x38]
mov r8d, 1
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
jmp sym.__rust_dealloc
mov rcx, qword [r14]
mov rax, qword [rsp + 0x28]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [rdi], 0
test rbx, rbx
je 0x140043381
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call sym.__rust_dealloc
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140043c20
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1098
call dbg.___chkstk_ms
sub rsp, rax
movaps xmmword [rsp + 0x1080], xmm6
mov rsi, rdx
mov rdi, rcx
lea r14, [rsp + 0x80]
mov r8d, 0x1000
mov rcx, r14
xor edx, edx
call sub.msvcrt.dll_memset
xorps xmm6, xmm6
lea r15, [rsp + 0x34]
lea rbx, [dbg.callback]
lea r12, [rsp + 0x60]
mov r8d, 0x1000
mov rcx, rdi
mov rdx, r14
call sym.std::sys::pal::windows::pipe::AnonPipe::read::h8ae9d388c7b2a269
mov r13, rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
test rax, rax
jne 0x140043db9
test r13, r13
je 0x140043d8d
cmp r13, 0x1000
ja 0x140043dc5
xor ebp, ebp
nop word cs:[rax + rax]
mov r8d, r13d
sub r8d, ebp
lea rdx, [rsp + rbp]
add rdx, 0x80
mov dword [rsp + 0x34], 0
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov r9, r12
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x140043d68
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x140043d00
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov rdx, rcx
shl rdx, 0x20
or rdx, 2
xor r8d, r8d
test ecx, ecx
setne r8b
cmove rdx, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdx
jne 0x140043d83
add rbp, rax
cmp rbp, r13
je 0x140043c73
jbe 0x140043cc0
lea r8, str.library_std_src_syspalwindowspipe.rs
mov rcx, rbp
mov rdx, r13
call dbg.slice_index_order_fail
jmp 0x140043dd9
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call dbg.drop_in_place<std::io::error::Error>
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
movaps xmm6, xmmword [rsp + 0x1080]
add rsp, 0x1098
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x58]
call dbg.drop_in_place<std::io::error::Error>
jmp 0x140043d8d
lea r8, str.library_std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r13
call dbg.slice_end_index_len_fail
ud2
Function at 0x1400498c0
Capabilities:
Create 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 0x140049925
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 dbg.get_long_path
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x140049930
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rcx, rsi
xor edx, edx
call sub.KERNEL32.dll_CreateDirectoryW
test eax, eax
je 0x14004995b
test rdi, rdi
je 0x140049986
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140049928
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140049928
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x140049925
xor eax, eax
jmp 0x140049928
Function at 0x140049da0
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 0x140049e05
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 dbg.get_long_path
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, rbx
jne 0x140049e10
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 0x140049e39
test rdi, rdi
je 0x140049e64
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140049e08
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test rdi, rdi
je 0x140049e08
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
mov rsi, rax
call sym.__rust_dealloc
jmp 0x140049e05
xor eax, eax
jmp 0x140049e08

Function at 0x140049e70
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 0x140049f56
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 dbg.get_long_path
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rdi, r15
je 0x140049f56
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 0x140049f37
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 dbg.get_long_path
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
cmp r14, r15
jne 0x140049f65
mov rax, rbx
test rdi, rdi
je 0x140049f59
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 0x140049fb0
test r14, r14
je 0x140049f93
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call sym.__rust_dealloc
test rdi, rdi
je 0x140049fac
add rdi, rdi
mov r8d, 2
mov rcx, rsi
mov rdx, rdi
call sym.__rust_dealloc
xor eax, eax
jmp 0x140049f59
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
test r14, r14
je 0x140049f3a
add r14, r14
mov r8d, 2
mov rcx, rbx
mov rdx, r14
mov rbx, rax
call sym.__rust_dealloc
jmp 0x140049f37