joyce8/EMBER2024-capa huggingface dataset:
Function at 0x2fc4d3e1c
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc4d3e9a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc4d3e91
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc4d3e91
mov rax, qword [rbp - 8]
jmp 0x2fc4d3eaf
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc4d3e64
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x140001154
Capabilities:
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x10], 0
mov dword [rbp - 0x1c], 0x30
mov eax, dword [rbp - 0x1c]
mov rax, qword gs:[rax]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
mov dword [rbp - 4], 0
jmp 0x1400011ac
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp - 0x18]
jne 0x14000119e
mov dword [rbp - 4], 1
jmp 0x1400011e3
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov rax, qword [0x140038490]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x40], 0
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
lock cmpxchg qword [rdx], rcx
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x14000118b
mov rax, qword [0x1400384a0]
mov eax, dword [rax]
cmp eax, 1
jne 0x1400011fd
mov ecx, 0x1f
call fcn.140018250
jmp 0x14000123c
mov rax, qword [0x1400384a0]
mov eax, dword [rax]
test eax, eax
jne 0x140001232
mov rax, qword [0x1400384a0]
mov dword [rax], 1
mov rax, qword [0x1400384e0]
mov rdx, rax
mov rax, qword [0x1400384d0]
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
jmp 0x14000123c
mov dword [0x14003c024], 1
mov rax, qword [0x1400384a0]
mov eax, dword [rax]
cmp eax, 1
jne 0x140001270
mov rax, qword [0x1400384c0]
mov rdx, rax
mov rax, qword [0x1400384b0]
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__initterm
mov rax, qword [0x1400384a0]
mov dword [rax], 2
cmp dword [rbp - 4], 0
jne 0x140001294
mov rax, qword [0x140038490]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x50], 0
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
xchg qword [rax], rdx
mov rax, qword [0x1400383e0]
mov rax, qword [rax]
test rax, rax
je 0x1400012bf
mov rax, qword [0x1400383e0]
mov rax, qword [rax]
mov r8d, 0
mov edx, 2
mov ecx, 0
call rax
call fcn.1400174d8
mov rax, qword [0x140038520]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call rax
mov rdx, qword [0x140038480]
mov qword [rdx], rax
lea rax, section..text
mov rcx, rax
call sub.api_ms_win_crt_runtime_l1_1_0.dll__set_invalid_parameter_handler
call fcn.140016cd0
mov eax, dword [0x14003c004]
lea rdx, [0x14003c008]
mov ecx, eax
call fcn.14000147c
call fcn.140016a67
mov rax, qword [0x140038410]
mov rax, qword [rax]
mov rdx, qword [0x14003c010]
mov qword [rax], rdx
mov rcx, qword [0x14003c010]
mov rdx, qword [0x14003c008]
mov eax, dword [0x14003c004]
mov r8, rcx
mov ecx, eax
call fcn.1400016d0
mov dword [0x14003c01c], eax
mov eax, dword [0x14003c020]
test eax, eax
jne 0x14000135d
mov eax, dword [0x14003c01c]
mov ecx, eax
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
mov eax, dword [0x14003c024]
test eax, eax
jne 0x14000136c
call sub.api_ms_win_crt_runtime_l1_1_0.dll__cexit
mov eax, dword [0x14003c01c]
add rsp, 0x70
pop rbp
ret
Function at 0x140001378
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rax, qword [0x140038440]
mov dword [rax], 1
mov rax, qword [0x140038450]
mov dword [rax], 1
mov rax, qword [0x140038460]
mov dword [rax], 1
mov rax, qword [0x140038400]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400013c9
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400013f5
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
cmp eax, 0x10b
je 0x14000141b
cmp eax, 0x20b
je 0x140001442
jmp 0x140001471
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0x5c]
cmp eax, 0xe
ja 0x14000142e
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0xd0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x6c]
cmp eax, 0xe
ja 0x14000145d
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xe0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov eax, 0
add rsp, 0x20
pop rbp
ret

Function at 0x140016ce0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call fcn.140018040
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop

Function at 0x1400179b2
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x14003c168]
test eax, eax
je 0x140017a4a
lea rax, [0x14003c140]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x14003c170]
mov qword [rbp - 8], rax
jmp 0x140017a2e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x140017a22
cmp qword [rbp - 0x10], 0
je 0x140017a22
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x1400179e8
lea rax, [0x14003c140]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x140017a4b
nop
add rsp, 0x30
pop rbp
ret
Function at 0x140017b50
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x140017b78
mov eax, 0
jmp 0x140017bc6
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x140017ba1
mov eax, 0
jmp 0x140017bc6
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x140017bc1
mov eax, 0
jmp 0x140017bc6
mov eax, 1
add rsp, 0x20
pop rbp
ret

Function at 0x140017bcc
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x140017c4a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x140017c41
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x140017c41
mov rax, qword [rbp - 8]
jmp 0x140017c5f
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x140017c14
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x2fc508610
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sym.__acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sym.fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sym.__acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call sym.vfprintf
call sym.abort
nop

Function at 0x2fc509012
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x2fc52d108]
test eax, eax
je 0x2fc5090aa
lea rax, [0x2fc52d0e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x2fc52d110]
mov qword [rbp - 8], rax
jmp 0x2fc50908e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x2fc509082
cmp qword [rbp - 0x10], 0
je 0x2fc509082
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x2fc509048
lea rax, [0x2fc52d0e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x2fc5090ab
nop
add rsp, 0x30
pop rbp
ret

Function at 0x2fc5091b0
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x2fc5091d8
mov eax, 0
jmp 0x2fc509226
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x2fc509201
mov eax, 0
jmp 0x2fc509226
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x2fc509221
mov eax, 0
jmp 0x2fc509226
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x2fc50922c
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc5092aa
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc5092a1
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc5092a1
mov rax, qword [rbp - 8]
jmp 0x2fc5092bf
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc509274
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x2fc4d4100
Capabilities:
Write file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r9
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r9, rax
mov r8d, 0x1b
mov edx, 1
lea rax, str.Mingw_w64_runtime_failure:_n
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rbx, qword [rbp - 8]
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
mov rax, qword [rbp + 0x20]
mov r8, rbx
mov rdx, rax
call fcn.2fc4d51e0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
nop

Function at 0x2fc4d4b02
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x2fc4f7108]
test eax, eax
je 0x2fc4d4b9a
lea rax, [0x2fc4f70e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x2fc4f7110]
mov qword [rbp - 8], rax
jmp 0x2fc4d4b7e
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x2fc4d4b72
cmp qword [rbp - 0x10], 0
je 0x2fc4d4b72
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x2fc4d4b38
lea rax, [0x2fc4f70e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x2fc4d4b9b
nop
add rsp, 0x30
pop rbp
ret

Function at 0x2fc4d4ca0
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x2fc4d4cc8
mov eax, 0
jmp 0x2fc4d4d16
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x2fc4d4cf1
mov eax, 0
jmp 0x2fc4d4d16
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x2fc4d4d11
mov eax, 0
jmp 0x2fc4d4d16
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x2fc4d4d1c
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc4d4d9a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc4d4d91
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc4d4d91
mov rax, qword [rbp - 8]
jmp 0x2fc4d4daf
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc4d4d64
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x1400250f0
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], 0
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x20], rax
xor ebx, ebx
mov r14d, 0xffffffff
xor esi, esi
xor r15d, r15d
cmp r8, 0x201
jae 0x140025170
jmp 0x14002515f
jae 0x140025214
cmp r8, 0x201
jae 0x140025170
mov r12d, 0x200
lea r13, [rsp + 0x68]
mov rbp, r8
jmp 0x1400251b7
sub r8, r15
sub rsi, r15
cmp rsi, r8
jae 0x140025197
lea rcx, [rsp + 0x30]
mov rdx, r15
call fcn.140010600
mov rbx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
cmp rbx, r14
mov r15d, 0xffffffff
cmovb r15, rbx
mov qword [rsp + 0x40], r15
mov rsi, rbx
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 edi, eax
test eax, eax
jne 0x1400251db
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x140025272
mov r8d, edi
cmp rbp, r8
jne 0x140025150
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14002529c
add rbp, rbp
cmp rbp, r14
cmovae rbp, r14
mov r8, rbp
cmp r8, 0x201
jb 0x14002515f
jmp 0x140025170
cmp r12, r8
jb 0x1400252b6
lea rcx, [rsp + 0x48]
mov rdx, r13
call fcn.140031e70
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
mov rsi, qword [rsp + 0x28]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
test rbx, rbx
je 0x14002525b
add rbx, rbx
mov r8d, 2
mov rcx, qword [rsp + 0x20]
mov rdx, rbx
call fcn.140002de0
mov rax, rsi
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 rsi, qword [rsp + 0x28]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
test rbx, rbx
jne 0x140025245
jmp 0x14002525b
lea rcx, [0x140171460]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140084520
jmp 0x1400252cb
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.14008a930
ud2
Function at 0x1400258e0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov rdi, rcx
movabs rsi, 0x8000000000000000
lea rcx, [rsp + 0xa8]
call fcn.14004f880
mov rax, qword [rsp + 0xa8]
cmp rax, rsi
jne 0x14002592f
lea rcx, [rsp + 0xb0]
call fcn.140006ad0
mov qword [rdi], rsi
jmp 0x140025afa
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x30], rax
xor r15d, r15d
mov edi, 0xffffffff
xor r14d, r14d
xor esi, esi
cmp r8, 0x201
jae 0x1400259c0
jmp 0x14002599f
jae 0x140025a69
cmp r8, 0x201
jae 0x1400259c0
mov r13d, 0x200
lea r12, [rsp + 0xa8]
mov rbp, r8
jmp 0x140025a06
sub r8, rsi
sub r14, rsi
cmp r14, r8
jae 0x1400259e7
lea rcx, [rsp + 0x48]
mov rdx, rsi
call fcn.140010600
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
cmp r15, rdi
mov esi, 0xffffffff
cmovb rsi, r15
mov qword [rsp + 0x58], rsi
mov r14, r15
mov r13, rsi
mov r12, qword [rsp + 0x30]
mov rbp, rsi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, qword [rsp + 0x38]
mov rdx, r12
mov r8d, ebp
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov ebx, eax
test eax, eax
jne 0x140025a30
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x140025b2e
mov r8d, ebx
cmp rbp, r8
jne 0x140025990
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x140025b62
add rbp, rbp
cmp rbp, rdi
cmovae rbp, rdi
mov r8, rbp
cmp r8, 0x201
jb 0x14002599f
jmp 0x1400259c0
cmp r13, r8
jb 0x140025b7c
lea rcx, [rsp + 0x88]
mov rdx, r12
call fcn.140031e70
movabs rsi, 0x8000000000000000
movups xmm0, xmmword [rsp + 0x88]
movups xmm1, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rdi, qword [rsp + 0x40]
test r15, r15
je 0x140025ac6
add r15, r15
mov r8d, 2
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.140002de0
cmp qword [rsp + 0x60], rsi
jne 0x140025b11
mov qword [rdi], rsi
lea rcx, [rsp + 0x68]
mov rsi, qword [rsp + 0x28]
call fcn.140006ad0
test rsi, rsi
je 0x140025afa
add rsi, rsi
mov r8d, 2
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call fcn.140002de0
mov rax, rdi
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rsi, qword [rsp + 0x28]
test rsi, rsi
jne 0x140025ae4
jmp 0x140025afa
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x68], rax
movabs rsi, 0x8000000000000000
mov qword [rsp + 0x60], rsi
mov rdi, qword [rsp + 0x40]
test r15, r15
jne 0x140025ab0
jmp 0x140025ac6
lea rcx, [0x140171460]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140084520
jmp 0x140025b91
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r13
mov r8, rax
call fcn.14008a930
ud2
Function at 0x140039120
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov ebp, r9d
mov rsi, rcx
lea rcx, [rsp + 0x30]
call fcn.140075ef0
mov rdx, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x1400391b7
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 0x1400391e9
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov byte [rdi], 0
test rbx, rbx
jne 0x140039207
jmp 0x140039218
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test rdx, rdx
je 0x140039218
mov rcx, qword [rsp + 0x38]
mov r8d, 1
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
jmp fcn.140002de0
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], bp
xor eax, eax
mov qword [rsi], rax
mov byte [rdi], 0
test rbx, rbx
je 0x140039218
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140002de0
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
ret
Function at 0x140039a90
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 fcn.140098360
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
lea r15, [rsp + 0x50]
xorps xmm6, xmm6
lea rbx, [rsp + 0x34]
lea r12, [0x140048050]
lea r13, [rsp + 0x60]
mov qword [rsp + 0x28], rdi
mov r9d, 0x1000
mov rcx, r15
mov rdx, rdi
mov r8, r14
call fcn.1400478d0
cmp qword [rsp + 0x50], 0
jne 0x140039c16
mov rbp, qword [rsp + 0x58]
test rbp, rbp
je 0x140039bea
cmp rbp, 0x1000
ja 0x140039c36
mov rdi, r14
mov r14, r15
xor r15d, r15d
nop word cs:[rax + rax]
mov r8d, ebp
sub r8d, r15d
lea rdx, [rsp + r15]
add rdx, 0x80
mov dword [rsp + 0x34], 0
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x20], r12
mov rcx, rsi
mov r9, r13
call sub.KERNEL32.dll_WriteFileEx
test eax, eax
je 0x140039bc0
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x34], 0
je 0x140039b80
movsxd rax, dword [rsp + 0x38]
test rax, rax
jne 0x140039bc5
mov eax, dword [rsp + 0x3c]
add r15, rax
cmp r15, rbp
je 0x140039bb0
jbe 0x140039b40
jmp 0x140039c22
mov r15, r14
mov r14, rdi
mov rdi, qword [rsp + 0x28]
jmp 0x140039aed
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x48]
mov rdi, qword [rsp + 0x28]
call fcn.140006ad0
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 fcn.140006ad0
jmp 0x140039bea
lea r8, str.library_std_src_syswindowspipe.rs
mov rcx, r15
mov rdx, rbp
call fcn.14008a9b0
jmp 0x140039c4a
lea r8, str.library_std_src_syswindowspipe.rs
mov edx, 0x1000
mov rcx, rbp
call fcn.14008a930
ud2