joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6980a0
Capabilities:
Reference http user-agent string

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x698298
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov qword [rsp + 0x78], rax
movups xmmword [rsp + 0x38], xmm15
lea rdx, [0x006bb4c0]
mov qword [rsp + 0x38], rdx
lea rsi, [0x007f0bc0]
mov qword [rsp + 0x40], rsi
mov ebx, 1
mov rcx, rbx
lea rax, [rsp + 0x38]
call fcn.004cdee0
lea rax, [0x006ec780]
call fcn.0040daa0
mov qword [rsp + 0x28], rax
mov qword [rax + 8], 0
mov rdx, qword [rsp + 0x78]
mov rsi, qword [rdx]
lea rbx, [0x00729e58]
mov ecx, 0x26
mov rax, rsi
nop dword [rax]
call fcn.005ff420
test rbx, rbx
je 0x698161
cmp dword [0x00a04ed0], 0
jne 0x698143
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 0x28], rax
jmp 0x698156
mov rdi, qword [rsp + 0x78]
add rdi, 0x28
mov rax, qword [rsp + 0x28]
call fcn.00465a20
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
nop
ret
mov qword [rsp + 0x30], rax
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov rcx, qword [rcx + 0x18]
mov rax, rdx
call rcx
movups xmmword [rsp + 0x48], xmm15
movups xmmword [rsp + 0x58], xmm15
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x48], rcx
lea rcx, [0x007f0bd0]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx + 0x80]
mov rdx, qword [rdx + 0x10]
lea rbx, [0x00707120]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rdx
lea rax, [rsp + 0x48]
mov ebx, 2
mov rcx, rbx
call fcn.004cdee0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx + 0x80]
mov rdx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x40]
mov edi, 0x10
lea rcx, [0x0071dff9]
call fcn.0050f500
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x80]
mov rcx, qword [rcx + 0x10]
mov rax, rcx
call fcn.005815e0
test rax, rax
jne 0x69821d
xor edx, edx
jmp 0x69824a
mov rbx, rax
lea rcx, [0x0071be03]
mov edi, 0xb
lea rax, [0x006fa9e0]
call fcn.00412b00
mov rdx, qword [rax]
cmp qword [rax + 8], 0
jne 0x698246
xor edx, edx
jmp 0x69824a
mov rdx, qword [rdx + 8]
mov rsi, qword [rsp + 0x20]
test rsi, rsi
jl 0x698258
xor edx, edx
jmp 0x69825e
test rdx, rdx
sete dl
mov rax, qword [rsp + 0x28]
mov byte [rax], dl
mov byte [rax + 1], dl
cmp dword [0x00a04ed0], 0
jne 0x69827c
mov rdx, qword [rsp + 0x78]
mov qword [rdx + 0x28], rax
jmp 0x69828a
mov rdi, qword [rsp + 0x78]
add rdi, 0x28
call fcn.00465a20
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00463860
mov rax, qword [rsp + 8]
jmp fcn.006980a0
Function at 0x6982e0
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x6985af
sub rsp, 0xa8
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xa0]
mov r13, 0
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x2f], 0
movups xmmword [rsp + 0x60], xmm15
mov rdx, qword [rax]
lea rbx, [0x0072a5d1]
mov ecx, 0x27
mov rax, rdx
call fcn.005ff420
nop
test rbx, rbx
jne 0x69856e
mov rcx, qword [rax + 0x40]
test byte [rcx], al
mov rdx, qword [rax + 0x48]
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0x88], xmm15
lea rsi, [0x006985e0]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rdx
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x98], rcx
mov byte [rsp + 0x2f], 1
mov rbx, qword [rax + 0x40]
mov rcx, qword [rax + 0x48]
mov qword [rsp + 0x58], rcx
lea rax, [0x006d3f00]
call fcn.0040b260
mov rbx, qword [rsp + 0x58]
call fcn.00498ee0
nop
test rdi, rdi
je 0x698482
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rsi
movups xmmword [rsp + 0x70], xmm15
call fcn.0040b1a0
lea rdx, [0x006b86a0]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov ebx, 1
mov rcx, rbx
nop dword [rax]
call fcn.004cdee0
movups xmmword [rsp + 0x70], xmm15
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x69841b
mov rdi, qword [rdx + 8]
jmp 0x69841e
mov rdi, rdx
mov qword [rsp + 0x70], rdi
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x78], rdx
lea rax, [0x007266df]
mov ebx, 0x1f
lea rcx, [rsp + 0x70]
mov edi, 1
mov rsi, rdi
call fcn.004c2160
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0x98]
mov r8, qword [rdx]
call r8
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rbx
movups xmmword [rsp + 0x70], xmm15
call fcn.0040b1a0
lea rdx, [0x006b86a0]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov ebx, 1
mov rcx, rbx
call fcn.004cdee0
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
call fcn.00696be0
mov rdx, qword [rsp + 0xb0]
mov qword [rdx + 0x38], rbx
cmp dword [0x00a04ed0], 0
jne 0x6984ee
mov qword [rdx + 0x30], rax
jmp 0x698500
lea rbx, [rdx + 0x30]
mov rdx, rdi
mov rdi, rbx
call fcn.00465a20
mov rdi, rdx
test rcx, rcx
je 0x69853c
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx]
nop
call rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
movups xmmword [rsp + 0x60], xmm15
mov byte [rsp + 0x2f], 0
mov rdx, qword [rsp + 0x98]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rax, qword [rsp + 0x60]
mov rbx, rcx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov qword [rsp + 8], rax
call fcn.00463860
mov rax, qword [rsp + 8]
nop
jmp fcn.006982e0
Function at 0x140007bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r12
xor r8d, r8d
push rbp
push rdi
push rsi
push rbx
mov rbx, qword [0x140013150]
mov rax, qword [rbx + 0x83a]
test rax, rax
je 0x140007c72
mov r8d, dword [rbx + 0x7f0]
test r8d, r8d
jne 0x140007c72
movsxd rdx, dword [rax + 0x3c]
xor ecx, ecx
mov edx, dword [rax + rdx + 0x88]
add rdx, rax
mov edi, dword [rdx + 0x20]
mov r10d, dword [rdx + 0x1c]
mov esi, dword [rdx + 0x24]
mov ebp, dword [rdx + 0x18]
xor edx, edx
add r10, rax
add rdi, rax
add rsi, rax
cmp ebp, ecx
jbe 0x140007c6b
mov r9d, dword [rdi + rcx*4]
cmp word [rax + r9], 0x775a
jne 0x140007c66
test rdx, rdx
movzx r9d, word [rsi + rcx*2]
jne 0x140007c3c
mov edx, dword [r10 + r9*4]
add rdx, rax
jmp 0x140007c66
mov r9d, dword [r10 + r9*4]
mov r11, rdx
add r9, rax
mov r12, r9
sub r11, r9
sub r12, rdx
cmp rdx, r9
mov r9d, r12d
cmova r9d, r11d
test r8d, r8d
je 0x140007c63
cmp r8d, r9d
jbe 0x140007c66
mov r8d, r9d
inc rcx
jmp 0x140007c18
mov dword [rbx + 0x7f0], r8d
pop rbx
mov eax, r8d
pop rsi
pop rdi
pop rbp
pop r12
ret

Function at 0x140007fb0
Capabilities:
Hash data using djb2

Disassembly:
xor eax, eax
test rcx, rcx
je 0x140007ffd
mov r10, rcx
mov eax, 0x1505
mov r9b, byte [r10]
test edx, edx
jne 0x140007fcc
test r9b, r9b
jne 0x140007fdf
ret
mov r11, r10
sub r11, rcx
cmp edx, r11d
jbe 0x140007ffd
cmp r9b, 1
adc r10, 0
cmp r9b, 0x60
jbe 0x140007fee
test r8d, r8d
je 0x140007fee
sub r9d, 0x20
imul eax, eax, 0x21
movzx r9d, r9b
inc r10
add eax, r9d
jmp 0x140007fbf
ret

Function at 0x140009480
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push rsi
xor eax, eax
push rbx
mov r8b, byte [rdx + rax]
mov byte [rcx + rax], r8b
mov r8b, byte [rdx + rax + 1]
mov byte [rcx + rax + 1], r8b
mov r8b, byte [rdx + rax + 2]
mov byte [rcx + rax + 2], r8b
mov r8b, byte [rdx + rax + 3]
mov byte [rcx + rax + 3], r8b
add rax, 4
cmp rax, 0x20
jne 0x140009484
mov r11d, 8
lea r10, str.cw
lea rbx, [0x140013160]
mov esi, r11d
movzx r9d, byte [rcx + 0x1c]
movzx r8d, byte [rcx + 0x1d]
movzx edx, byte [rcx + 0x1e]
movzx eax, byte [rcx + 0x1f]
and esi, 7
jne 0x140009502
mov sil, byte [r10 + r8]
mov r8b, byte [r10 + rdx]
mov dl, byte [r10 + rax]
mov al, byte [r10 + r9]
mov r9d, r11d
shr r9d, 3
xor sil, byte [rbx + r9]
mov r9d, esi
jmp 0x140009517
cmp esi, 4
jne 0x140009517
mov r9b, byte [r10 + r9]
mov r8b, byte [r10 + r8]
mov dl, byte [r10 + rdx]
mov al, byte [r10 + rax]
xor r9b, byte [rcx]
xor r8b, byte [rcx + 1]
inc r11d
add rcx, 4
xor dl, byte [rcx - 2]
xor al, byte [rcx - 1]
mov byte [rcx + 0x1c], r9b
mov byte [rcx + 0x1d], r8b
mov byte [rcx + 0x1e], dl
mov byte [rcx + 0x1f], al
cmp r11d, 0x3c
jne 0x1400094c8
pop rbx
pop rsi
ret
Function at 0x140009580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
test rcx, rcx
je 0x1400095b6
mov esi, edx
test edx, edx
jne 0x1400095bd
xor eax, eax
jmp 0x1400096a3
movsxd rax, dword [rcx + 0x3c]
mov r12, rcx
xor ebx, ebx
add rax, rcx
mov r9d, dword [rax + 0x88]
mov eax, dword [rax + 0x8c]
lea r15, [rcx + r9]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x18]
mov r14d, dword [r15 + 0x20]
mov ebp, dword [r15 + 0x1c]
mov r13d, dword [r15 + 0x24]
mov dword [rsp + 0x2c], eax
add r14, rcx
cmp dword [rsp + 0x2c], ebx
jbe 0x1400095b6
mov edi, dword [r14 + rbx*4]
mov r8d, 1
xor edx, edx
add rdi, r12
mov rcx, rdi
call fcn.140007fb0
mov r8d, eax
lea rax, [rbx + 1]
cmp r8d, esi
jne 0x14000969b
add rbx, rbx
add rbx, r12
movzx eax, word [rbx + r13]
lea rax, [r12 + rax*4]
mov eax, dword [rax + rbp]
add rax, r12
mov qword [rsp + 0x38], rax
cmp rax, r15
jae 0x140009644
mov rax, qword [rsp + 0x38]
jmp 0x1400096a3
mov esi, dword [rsp + 0x28]
add rsi, r12
add rsi, r15
cmp rax, rsi
jae 0x14000963d
call fcn.14000dc70
mov qword [rsp + 0x48], rdi
mov word [rsp + 0x40], ax
inc eax
mov word [rsp + 0x42], ax
mov rax, qword [0x140013150]
mov rax, qword [rax + 0x130]
test rax, rax
je 0x1400095b6
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea r9, [rsp + 0x38]
mov rcx, r12
call rax
test eax, eax
jns 0x14000963d
jmp 0x1400095b6
mov rbx, rax
jmp 0x1400095f5
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1602058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x16021df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, pe_nt_image_headers64
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1602089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x160206f
add dl, dl
jne 0x1602096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x16020f6
xor eax, eax
add dl, dl
jne 0x16020a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x16021ad
add dl, dl
jne 0x16020b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x16020c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x16020d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x16020dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x16020ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x160207e
mov eax, 1
add dl, dl
jne 0x1602106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1602113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x16020fb
sub eax, ebx
mov ebx, 1
jne 0x160214c
mov ecx, 1
add dl, dl
jne 0x160212e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x160213b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1602123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x160207e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1602168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1602175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x160215d
cmp eax, 0x7d00
jae 0x160219b
cmp eax, 0x500
jb 0x1602196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x160207e
cmp eax, 0x7f
ja 0x160219e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x160207e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x16021d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x160207e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140001010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x1400f1360]
xor ecx, ecx
mov dword [rax], 1
mov rax, qword [0x1400f1370]
mov dword [rax], 1
mov rax, qword [0x1400f1380]
mov dword [rax], 1
mov rax, qword [0x1400f1310]
cmp word [rax], 0x5a4d
jne 0x14000105a
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x1400010c0
mov rax, qword [0x1400f1350]
mov dword [0x14010300c], ecx
mov eax, dword [rax]
test eax, eax
je 0x1400010b0
mov ecx, 2
call sym.__set_app_type
call dbg.__p__fmode
mov rdx, qword [0x1400f1430]
mov edx, dword [rdx]
mov dword [rax], edx
call dbg.__p__commode
mov rdx, qword [0x1400f1410]
mov edx, dword [rdx]
mov dword [rax], edx
call dbg._setargv
mov rax, qword [0x1400f12c0]
cmp dword [rax], 1
je 0x1400010f8
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x140001077
movzx edx, word [rax + 0x18]
cmp dx, 0x10b
je 0x140001110
cmp dx, 0x20b
jne 0x14000105a
cmp dword [rax + 0x84], 0xe
jbe 0x14000105a
mov edx, dword [rax + 0xf8]
xor ecx, ecx
test edx, edx
setne cl
jmp 0x14000105a
mov rcx, qword [dbg._matherr]
call dbg.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x14000105a
mov r8d, dword [rax + 0xe8]
xor ecx, ecx
test r8d, r8d
setne cl
jmp 0x14000105a
Function at 0x140001520
Capabilities:
Create http request

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
lea rdx, str.http:__www.disvjevksucbeo.com__CString_conversion_failedsrc_main.rs
lea rbx, [rsp + 0x30]
mov r8d, 0x1f
mov rcx, rbx
call sym.__str_as_alloc::ffi::c_str::CString::new::SpecNewImpl_::spec_new_impl::h225707c6df47b177
cmp qword [rsp + 0x30], 0
jne 0x1400016a4
mov r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x1400015b2
setns al
js 0x1400016e3
movzx r15d, al
mov rax, qword [0x1400f13c8]
movzx eax, byte [rax]
mov rcx, rsi
mov rdx, r15
call sym.__rust_alloc
test rax, rax
je 0x1400016ea
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rsi
call sym.memcpy
mov r8d, 1
mov rcx, r14
mov rdx, rsi
call sym.__rust_dealloc
jmp 0x1400015bb
mov byte [r14], 0
mov edi, 1
mov dword [rsp + 0x20], 0
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.WININET.dll_InternetOpenW
mov r14, rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x84000000
mov rcx, rax
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call sub.WININET.dll_InternetOpenUrlW
mov r15, rax
mov rcx, r14
call sub.WININET.dll_InternetCloseHandle
test r15, r15
je 0x140001614
mov rcx, r15
call sub.WININET.dll_InternetCloseHandle
jmp 0x14000167e
lea rax, str.X5O_P__AP_4PZX54_P_7CC_7_EICAR_STANDARD_ANTIVIRUS_TEST_FILE__HHEICAR_Test_String:__n
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0x44
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [sym.__T_as_core::fmt::Display_::fmt::h592c9e3288f52250]
mov qword [rsp + 0x38], rax
lea rax, [0x1400c1108]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 1
lea rcx, [rsp + 0x50]
call dbg._print
test rsi, rsi
je 0x140001694
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
nop
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea rax, [0x1400c1098]
mov qword [rsp + 0x20], rax
lea rcx, [0x1400c106f]
lea r9, sym.core::ptr::drop_in_place_alloc::ffi::c_str::NulError_::h1f910e16edbd3a03
lea r8, [rsp + 0x50]
mov edx, 0x19
call dbg.unwrap_failed
jmp 0x1400016f5
call dbg.capacity_overflow
jmp 0x1400016f5
mov rcx, r15
mov rdx, rsi
call dbg.handle_alloc_error
ud2

Function at 0x140003810
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 0x140003868
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 0x140003882
lea rax, [0x1400bdabc]
mov qword [rdi], rax
add rsp, 0x1f8
pop rdi
pop rsi
ret
lea rcx, [0x1400c3d40]
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call dbg.panic
ud2
mov qword [rsp + 0x30], 0
lea rdx, [0x1400c90a0]
lea r9, str.library_std_src_syswindows_net.rs
lea rcx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
call dbg.assert_failed<i32, i32>
ud2
Function at 0x140023800
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x50
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rcx, [rsp + 0x20]
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [rsp + 0x40]
test rax, rax
je 0x140023835
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140023845
lea rax, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x50
pop rsi
ret
Function at 0x140025220
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 2
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x20], rax
xor esi, esi
mov r14d, 0xffffffff
xor edi, edi
xor r15d, r15d
cmp r8, 0x201
jae 0x1400252a0
jmp 0x14002528f
jae 0x140025344
cmp r8, 0x201
jae 0x1400252a0
mov r12d, 0x200
lea r13, [rsp + 0x68]
mov rbp, r8
jmp 0x1400252e7
sub r8, r15
sub rdi, r15
cmp rdi, r8
jae 0x1400252c7
lea rcx, [rsp + 0x30]
mov rdx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h2bdf9a6d8105bb54
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x38]
cmp rsi, r14
mov r15d, 0xffffffff
cmovb r15, rsi
mov qword [rsp + 0x40], r15
mov rdi, rsi
mov r12, r15
mov r13, qword [rsp + 0x20]
mov rbp, r15
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov ecx, ebp
mov rdx, r13
call sub.KERNEL32.dll_GetCurrentDirectoryW
mov ebx, eax
test eax, eax
jne 0x14002530b
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1400253a2
mov r8d, ebx
cmp rbp, r8
jne 0x140025280
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400253c2
add rbp, rbp
cmp rbp, r14
cmovae rbp, r14
mov r8, rbp
cmp r8, 0x201
jb 0x14002528f
jmp 0x1400252a0
cmp r12, r8
jb 0x1400253dc
lea rcx, [rsp + 0x48]
mov rdx, r13
call dbg.from_wide
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
mov rdi, qword [rsp + 0x28]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
test rsi, rsi
je 0x14002538b
add rsi, rsi
mov r8d, 2
mov rcx, qword [rsp + 0x20]
mov rdx, rsi
call sym.__rust_dealloc
mov rax, rdi
add rsp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rdi, qword [rsp + 0x28]
mov qword [rdi], rax
mov byte [rdi + 0x18], 2
test rsi, rsi
jne 0x140025375
jmp 0x14002538b
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call dbg.panic
jmp 0x1400253f1
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call dbg.slice_end_index_len_fail
ud2

Function at 0x140025430
Capabilities:
Query environment variable

Disassembly:
push rsi
sub rsp, 0x70
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x140025448
mov rdx, rax
add rsp, 0x70
pop rsi
ret
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x30], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h777c0ce01dc2e028]
mov qword [rsp + 0x38], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x40]
call dbg.panic_fmt
ud2
Function at 0x140025e10
Capabilities:
Set environment variable

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
mov r14, r9
mov r15, r8
mov r8, rdx
mov rdx, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r9
lea rsi, [rsp + 0x28]
mov rcx, rsi
call sym.std::sys::windows::to_u16s::inner::h36a8adcb91ede8d9
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
test rbx, rbx
je 0x140025e94
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, r14
call sym.std::sys::windows::to_u16s::inner::h36a8adcb91ede8d9
mov r12, qword [rsp + 0x28]
mov r15, qword [rsp + 0x30]
test r12, r12
je 0x140025e99
mov rcx, rbx
mov rdx, r12
call sub.KERNEL32.dll_SetEnvironmentVariableW
test eax, eax
je 0x140025e9e
xor r14d, r14d
test r15, r15
jne 0x140025eb3
jmp 0x140025ec7
mov r14, rdi
jmp 0x140025ee0
mov r14, r15
jmp 0x140025ec7
call sub.KERNEL32.dll_GetLastError
mov r14d, eax
shl r14, 0x20
or r14, 2
test r15, r15
je 0x140025ec7
add r15, r15
mov r8d, 2
mov rcx, r12
mov rdx, r15
call sym.__rust_dealloc
test rdi, rdi
je 0x140025ee0
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
test r14, r14
jne 0x140025ef6
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov qword [rsp + 0x20], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [sym.__std::path::Display_as_core::fmt::Debug_::fmt::h7e2d7c98dd80582f]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h777c0ce01dc2e028]
mov qword [rsp + 0x50], rax
lea rax, str.j_f_
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 3
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 3
lea rdx, [0x1400c5cc8]
lea rcx, [rsp + 0x78]
call dbg.panic_fmt
ud2
Function at 0x140025fc0
Capabilities:
Set environment variable

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x90
mov r8, rdx
mov rdx, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
lea rcx, [rsp + 0x40]
call sym.std::sys::windows::to_u16s::inner::h36a8adcb91ede8d9
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
test rbx, rbx
je 0x14002602d
xor esi, esi
mov rcx, rbx
xor edx, edx
call sub.KERNEL32.dll_SetEnvironmentVariableW
test eax, eax
jne 0x140026012
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
test rdi, rdi
je 0x140026030
add rdi, rdi
mov r8d, 2
mov rcx, rbx
mov rdx, rdi
call sym.__rust_dealloc
jmp 0x140026030
mov rsi, rdi
test rsi, rsi
jne 0x140026040
add rsp, 0x90
pop rbx
pop rdi
pop rsi
ret
mov qword [rsp + 0x28], rsi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [sym.__std::path::Display_as_core::fmt::Debug_::fmt::h7e2d7c98dd80582f]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x80], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h777c0ce01dc2e028]
mov qword [rsp + 0x88], rax
lea rax, str.failed_to_remove_environment_variable__
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 2
lea rdx, [0x1400c5d28]
lea rcx, [rsp + 0x40]
call dbg.panic_fmt
ud2