joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100002454
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r12
push r13
sub rsp, 0x30
mov rax, qword gs:[0x30]
mov rdi, qword [rax + 8]
xor r12d, r12d
xor eax, eax
lock cmpxchg qword [0x100004758], rdi
je 0x1000024a2
cmp rax, rdi
jne 0x100002495
mov edi, 1
mov r12d, edi
jmp 0x1000024a7
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100002479
mov edi, 1
mov eax, dword [0x100004750]
cmp eax, edi
jne 0x1000024bd
mov ecx, 0x1f
call fcn.10015c000
jmp 0x10000251a
mov eax, dword [0x100004750]
test eax, eax
jne 0x100002514
mov dword [0x100004750], edi
lea r13, [0x100001290]
lea rsi, [0x100001278]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
cmp rsi, r13
jae 0x100002506
test eax, eax
jne 0x100002506
mov rcx, qword [rsi]
test rcx, rcx
je 0x1000024fb
call rcx
mov dword [rsp + 0x20], eax
add rsi, 8
mov qword [rsp + 0x28], rsi
jmp 0x1000024e4
test eax, eax
je 0x10000251a
mov eax, 0xff
jmp 0x1000025ec
mov dword [0x100004184], edi
mov eax, dword [0x100004750]
cmp eax, edi
jne 0x100002541
lea rdx, [0x100001270]
lea rcx, [0x100001260]
call sub.msvcrt.dll__initterm
mov dword [0x100004750], 2
test r12d, r12d
jne 0x10000254f
xor eax, eax
xchg qword [0x100004758], rax
cmp qword [0x100004760], 0
je 0x100002578
lea rcx, [0x100004760]
call fcn.10000284c
test eax, eax
je 0x100002578
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
call qword [0x100004760]
mov r8, qword [0x100004168]
mov rdx, qword [0x100004170]
mov ecx, dword [0x100004160]
call fcn.100001b54
mov dword [0x100004180], eax
cmp dword [0x100004164], 0
jne 0x1000025a8
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x100004184], 0
jne 0x1000025bd
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x100004180]
jmp 0x1000025ec
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
add rsp, 0x30
pop r13
ret
sub rsp, 0x28
call fcn.100002960
add rsp, 0x28
jmp 0x100002454
Function at 0x1400029a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x130
mov rax, qword [0x140016040]
xor rax, rsp
mov qword [rsp + 0x120], rax
cmp qword [rcx + 0x18], 7
mov rdi, rdx
mov rsi, rcx
jbe 0x1400029d4
mov rsi, qword [rcx]
mov rbx, qword [rcx + 0x10]
mov qword [rsp + 0x140], rbp
cmp rdi, rbx
jae 0x140002a48
mov ebp, 0x100
lea rcx, [rsp + 0x20]
mov r8d, ebp
xor edx, edx
call fcn.14000e5c0
lea rcx, str.0123456789
lea rdx, [0x140011a14]
movzx eax, word [rcx]
cmp ax, bp
jae 0x140002a87
movzx eax, al
add rcx, 2
mov byte [rsp + rax + 0x20], 1
cmp rcx, rdx
jne 0x140002a07
lea rdx, [rsi + rbx*2]
lea rcx, [rsi + rdi*2]
cmp rcx, rdx
jae 0x140002a48
nop dword [rax]
movzx eax, word [rcx]
cmp ax, bp
jae 0x140002a7c
cmp byte [rsp + rax + 0x20], 0
je 0x140002a7c
add rcx, 2
cmp rcx, rdx
jb 0x140002a30
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.1400092f0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
sub rcx, rsi
sar rcx, 1
mov rax, rcx
jmp 0x140002a4f
lea r9, [rsi + rbx*2]
lea rdx, [rsi + rdi*2]
cmp rdx, r9
jae 0x140002ad4
nop dword [rax]
nop dword [rax + rax]
movzx r8d, word [rdx]
lea rax, str.0123456789
mov ecx, 0xa
cmp word [rax], r8w
je 0x140002acb
add rax, 2
sub rcx, 1
jne 0x140002ab0
sub rdx, rsi
sar rdx, 1
mov rax, rdx
jmp 0x140002a4f
add rdx, 2
cmp rdx, r9
jb 0x140002aa0
mov rdx, 0xffffffffffffffff
mov rax, rdx
jmp 0x140002a4f
Function at 0x14000969d
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [rsp + 8]
and rdx, 0
dec rax
cmp word [rax], 0x5a4d
jne 0x1400096bb
je 0x1400096c6
call 0x140009715
mov bl, 0xc7
lahf
pop rsi
jne 0x1400096a6
call 0x1400096be
mov ecx, edi
xor eax, 0x3c508b0b
mov edx, dword [rax + 0x3c]
cmp edx, 0x400
jae 0x1400096a6
sub rax, 0x48b5
add rdx, rax
add rdx, 0x48b5
add rax, 0x48b5
cmp word [rdx], 0x4550
jne 0x1400096f4
je 0x140009732
invalid
je 0x140009743
jne 0x1400096a6
lea rax, [0x1400095cc]
sub rsp, 8
mov qword [rsp], rcx
mov rcx, 0xffffffffffff2810
add rcx, 0xd960
add rcx, rax
push rcx
xchg rcx, rax
add rsp, 8
mov rcx, qword [rsp - 8]
mov rcx, qword [rsp]
add rsp, 8
call rax
lodsd eax, dword [rsi]
push rbp
movabs byte [0x894808ec8348c391], al
sub al, 0x24
mov rbp, rsp
mov qword [rsp - 8], 0
ret
add byte [rax], al
add byte [rax], al
sub rsp, 8
pop rax
add rax, rcx
sub rsp, 0x1e0
sub rsp, 0x20
and spl, 0xf0
mov byte [rbp - 0xd], 0x56
mov byte [rbp - 0xc], 0x69
mov byte [rbp - 0xb], 0x72
mov byte [rbp - 0xa], 0x74
mov byte [rbp - 9], 0x75
mov byte [rbp - 8], 0x61
mov byte [rbp - 7], 0x6c
mov byte [rbp - 6], 0x41
mov byte [rbp - 5], 0x6c
mov byte [rbp - 4], 0x6c
mov byte [rbp - 3], 0x6f
mov byte [rbp - 2], 0x63
mov byte [rbp - 1], 0
mov qword [rsp - 8], rsi
sub rsp, 8
add rsp, 8
mov rcx, qword [rsp - 8]
lea rdx, [rbp - 0xd]
call rax
sub rsp, 8
mov qword [rsp], 0
add rsp, 8
mov rcx, qword [rsp - 8]
mov rdx, 0x61be
mov r8, 0x3000
mov r9, 0x40
call rax
mov rcx, 0x4615
lea r9, [0x14000532d]
dec rcx
mov dl, byte [r9 + rcx]
mov byte [rax + rcx], dl
test rcx, rcx
jne 0x1400097e4
mov rcx, 0x3fe0
mov r9d, 0x15c13
mov r10d, 0x92819200
dec rcx
mov dl, byte [rax + rcx]
xor dl, r9b
mov byte [rax + rcx], dl
sub r10d, 0x26fe2
add r9d, r10d
add r9d, 0x26fe2
add r10d, 0x26fe2
rol r9d, 1
test rcx, rcx
jne 0x14000983d
je 0x140009843
call 0x140009834
fild qword [rdi - 0x7c]
jmp 0x174f45fb6
jne 0x140009806
xor al, 1
add byte [rbp - 0x7f], dh
jne 0x1400097c6
add rax, 0x1ed4
mov rsp, rbp
pop rbp
ret
Function at 0x1400096a0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [rsp + 8]
and rdx, 0
dec rax
cmp word [rax], 0x5a4d
jne 0x1400096bb
je 0x1400096c6
call 0x140009715
mov bl, 0xc7
lahf
pop rsi
jne 0x1400096a6
call 0x1400096be
mov ecx, edi
xor eax, 0x3c508b0b
mov edx, dword [rax + 0x3c]
cmp edx, 0x400
jae 0x1400096a6
sub rax, 0x48b5
add rdx, rax
add rdx, 0x48b5
add rax, 0x48b5
cmp word [rdx], 0x4550
jne 0x1400096f4
je 0x140009732
invalid
je 0x140009743
jne 0x1400096a6
lea rax, [0x1400095cc]
sub rsp, 8
mov qword [rsp], rcx
mov rcx, 0xffffffffffff2810
add rcx, 0xd960
add rcx, rax
push rcx
xchg rcx, rax
add rsp, 8
mov rcx, qword [rsp - 8]
mov rcx, qword [rsp]
add rsp, 8
call rax
lodsd eax, dword [rsi]
push rbp
movabs byte [0x894808ec8348c391], al
sub al, 0x24
mov rbp, rsp
mov qword [rsp - 8], 0
ret
add byte [rax], al
add byte [rax], al
sub rsp, 8
pop rax
add rax, rcx
sub rsp, 0x1e0
sub rsp, 0x20
and spl, 0xf0
mov byte [rbp - 0xd], 0x56
mov byte [rbp - 0xc], 0x69
mov byte [rbp - 0xb], 0x72
mov byte [rbp - 0xa], 0x74
mov byte [rbp - 9], 0x75
mov byte [rbp - 8], 0x61
mov byte [rbp - 7], 0x6c
mov byte [rbp - 6], 0x41
mov byte [rbp - 5], 0x6c
mov byte [rbp - 4], 0x6c
mov byte [rbp - 3], 0x6f
mov byte [rbp - 2], 0x63
mov byte [rbp - 1], 0
mov qword [rsp - 8], rsi
sub rsp, 8
add rsp, 8
mov rcx, qword [rsp - 8]
lea rdx, [rbp - 0xd]
call rax
sub rsp, 8
mov qword [rsp], 0
add rsp, 8
mov rcx, qword [rsp - 8]
mov rdx, 0x61be
mov r8, 0x3000
mov r9, 0x40
call rax
mov rcx, 0x4615
lea r9, [0x14000532d]
dec rcx
mov dl, byte [r9 + rcx]
mov byte [rax + rcx], dl
test rcx, rcx
jne 0x1400097e4
mov rcx, 0x3fe0
mov r9d, 0x15c13
mov r10d, 0x92819200
dec rcx
mov dl, byte [rax + rcx]
xor dl, r9b
mov byte [rax + rcx], dl
sub r10d, 0x26fe2
add r9d, r10d
add r9d, 0x26fe2
add r10d, 0x26fe2
rol r9d, 1
test rcx, rcx
jne 0x14000983d
je 0x140009843
call 0x140009834
fild qword [rdi - 0x7c]
jmp 0x174f45fb6
jne 0x140009806
xor al, 1
add byte [rbp - 0x7f], dh
jne 0x1400097c6
add rax, 0x1ed4
mov rsp, rbp
pop rbp
ret
Function at 0x1400096b0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov rax, qword [rsp + 8]
and rdx, 0
dec rax
cmp word [rax], 0x5a4d
jne 0x1400096bb
je 0x1400096c6
call 0x140009715
mov bl, 0xc7
lahf
pop rsi
jne 0x1400096a6
call 0x1400096be
mov ecx, edi
xor eax, 0x3c508b0b
mov edx, dword [rax + 0x3c]
cmp edx, 0x400
jae 0x1400096a6
sub rax, 0x48b5
add rdx, rax
add rdx, 0x48b5
add rax, 0x48b5
cmp word [rdx], 0x4550
jne 0x1400096f4
je 0x140009732
invalid
je 0x140009743
jne 0x1400096a6
lea rax, [0x1400095cc]
sub rsp, 8
mov qword [rsp], rcx
mov rcx, 0xffffffffffff2810
add rcx, 0xd960
add rcx, rax
push rcx
xchg rcx, rax
add rsp, 8
mov rcx, qword [rsp - 8]
mov rcx, qword [rsp]
add rsp, 8
call rax
lodsd eax, dword [rsi]
push rbp
movabs byte [0x894808ec8348c391], al
sub al, 0x24
mov rbp, rsp
mov qword [rsp - 8], 0
ret
add byte [rax], al
add byte [rax], al
sub rsp, 8
pop rax
add rax, rcx
sub rsp, 0x1e0
sub rsp, 0x20
and spl, 0xf0
mov byte [rbp - 0xd], 0x56
mov byte [rbp - 0xc], 0x69
mov byte [rbp - 0xb], 0x72
mov byte [rbp - 0xa], 0x74
mov byte [rbp - 9], 0x75
mov byte [rbp - 8], 0x61
mov byte [rbp - 7], 0x6c
mov byte [rbp - 6], 0x41
mov byte [rbp - 5], 0x6c
mov byte [rbp - 4], 0x6c
mov byte [rbp - 3], 0x6f
mov byte [rbp - 2], 0x63
mov byte [rbp - 1], 0
mov qword [rsp - 8], rsi
sub rsp, 8
add rsp, 8
mov rcx, qword [rsp - 8]
lea rdx, [rbp - 0xd]
call rax
sub rsp, 8
mov qword [rsp], 0
add rsp, 8
mov rcx, qword [rsp - 8]
mov rdx, 0x61be
mov r8, 0x3000
mov r9, 0x40
call rax
mov rcx, 0x4615
lea r9, [0x14000532d]
dec rcx
mov dl, byte [r9 + rcx]
mov byte [rax + rcx], dl
test rcx, rcx
jne 0x1400097e4
mov rcx, 0x3fe0
mov r9d, 0x15c13
mov r10d, 0x92819200
dec rcx
mov dl, byte [rax + rcx]
xor dl, r9b
mov byte [rax + rcx], dl
sub r10d, 0x26fe2
add r9d, r10d
add r9d, 0x26fe2
add r10d, 0x26fe2
rol r9d, 1
test rcx, rcx
jne 0x14000983d
je 0x140009843
call 0x140009834
fild qword [rdi - 0x7c]
jmp 0x174f45fb6
jne 0x140009806
xor al, 1
add byte [rbp - 0x7f], dh
jne 0x1400097c6
add rax, 0x1ed4
mov rsp, rbp
pop rbp
ret
Function at 0x140009715
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, qword [rsp + 8]
and rdx, 0
dec rax
cmp word [rax], 0x5a4d
jne 0x1400096bb
je 0x1400096c6
call 0x140009715
mov bl, 0xc7
lahf
pop rsi
jne 0x1400096a6
call 0x1400096be
mov ecx, edi
xor eax, 0x3c508b0b
mov edx, dword [rax + 0x3c]
cmp edx, 0x400
jae 0x1400096a6
sub rax, 0x48b5
add rdx, rax
add rdx, 0x48b5
add rax, 0x48b5
cmp word [rdx], 0x4550
jne 0x1400096f4
je 0x140009732
invalid
je 0x140009743
jne 0x1400096a6
lea rax, [0x1400095cc]
sub rsp, 8
mov qword [rsp], rcx
mov rcx, 0xffffffffffff2810
add rcx, 0xd960
add rcx, rax
push rcx
xchg rcx, rax
add rsp, 8
mov rcx, qword [rsp - 8]
mov rcx, qword [rsp]
add rsp, 8
call rax
lodsd eax, dword [rsi]
push rbp
movabs byte [0x894808ec8348c391], al
sub al, 0x24
mov rbp, rsp
mov qword [rsp - 8], 0
ret
add byte [rax], al
add byte [rax], al
sub rsp, 8
pop rax
add rax, rcx
sub rsp, 0x1e0
sub rsp, 0x20
and spl, 0xf0
mov byte [rbp - 0xd], 0x56
mov byte [rbp - 0xc], 0x69
mov byte [rbp - 0xb], 0x72
mov byte [rbp - 0xa], 0x74
mov byte [rbp - 9], 0x75
mov byte [rbp - 8], 0x61
mov byte [rbp - 7], 0x6c
mov byte [rbp - 6], 0x41
mov byte [rbp - 5], 0x6c
mov byte [rbp - 4], 0x6c
mov byte [rbp - 3], 0x6f
mov byte [rbp - 2], 0x63
mov byte [rbp - 1], 0
mov qword [rsp - 8], rsi
sub rsp, 8
add rsp, 8
mov rcx, qword [rsp - 8]
lea rdx, [rbp - 0xd]
call rax
sub rsp, 8
mov qword [rsp], 0
add rsp, 8
mov rcx, qword [rsp - 8]
mov rdx, 0x61be
mov r8, 0x3000
mov r9, 0x40
call rax
mov rcx, 0x4615
lea r9, [0x14000532d]
dec rcx
mov dl, byte [r9 + rcx]
mov byte [rax + rcx], dl
test rcx, rcx
jne 0x1400097e4
mov rcx, 0x3fe0
mov r9d, 0x15c13
mov r10d, 0x92819200
dec rcx
mov dl, byte [rax + rcx]
xor dl, r9b
mov byte [rax + rcx], dl
sub r10d, 0x26fe2
add r9d, r10d
add r9d, 0x26fe2
add r10d, 0x26fe2
rol r9d, 1
test rcx, rcx
jne 0x14000983d
je 0x140009843
call 0x140009834
fild qword [rdi - 0x7c]
jmp 0x174f45fb6
jne 0x140009806
xor al, 1
add byte [rbp - 0x7f], dh
jne 0x1400097c6
add rax, 0x1ed4
mov rsp, rbp
pop rbp
ret

Function at 0x14000e410
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14000e438
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14000e438
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140014e40
Capabilities:
Hash data using sha256 via x86 extensions

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
movdqa xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x60]
call fcn.14001eec0
mov r8, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [r8]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x80]
call fcn.14001eec0
movaps xmm0, xmmword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movdqa xmm1, xmmword [rsp + 0x70]
sha256msg1 xmm0, xmm1
movdqa xmmword [rcx], xmm0
add rsp, 0x98
ret

Function at 0x140014ed0
Capabilities:
Hash data using sha256 via x86 extensions

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rcx
movdqa xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x60]
call fcn.14001eec0
mov r8, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [r8]
movdqa xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x80]
call fcn.14001eec0
movaps xmm0, xmmword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movdqa xmm1, xmmword [rsp + 0x70]
sha256msg2 xmm0, xmm1
movdqa xmmword [rcx], xmm0
add rsp, 0x98
ret

Function at 0x140014f60
Capabilities:
Hash data using sha256 via x86 extensions

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rcx
movdqa xmm0, xmmword [rdx]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x70]
call fcn.14001eec0
mov r8, qword [rsp + 0x20]
movdqa xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [r8]
movdqa xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x90]
call fcn.14001eec0
mov r9, qword [rsp + 0x28]
movdqa xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [r9]
movdqa xmmword [rsp + 0xb0], xmm0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0xb0]
call fcn.14001eec0
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
movdqa xmm0, xmmword [rsp + 0xa0]
sha256rnds2 xmm1, xmm2, xmm0
movaps xmm0, xmm1
movdqa xmmword [rcx], xmm0
add rsp, 0xc8
ret

Function at 0x14001f210
Capabilities:
Hash data using sha256

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x38]
lea rdx, [0x140102fe0]
call fcn.14001f000
mov rcx, qword [rsp + 0x28]
lea rdx, [rsp + 0x38]
mov r8d, 0x70
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
add rsp, 0xa8
ret
Function at 0x140026120
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x478
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x3f0], 0xfffffffffffffffe
mov qword [rbp + 0x3d0], rcx
mov qword [rbp + 0x3d8], 0
mov qword [rbp + 0x3e0], 2
mov qword [rbp + 0x3e8], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3c8], rax
xor esi, esi
xor edi, edi
xor ebx, ebx
cmp r8, 0x201
jae 0x1400261c0
jmp 0x1400261af
jae 0x14002627f
cmp r8, 0x201
jae 0x1400261c0
mov r14d, 0x200
lea r15, [rbp - 0x58]
mov r12, r8
jmp 0x140026217
sub r8, rbx
sub rdi, rbx
cmp rdi, r8
jae 0x1400261ef
lea rcx, [rbp + 0x3d8]
mov rdx, rbx
call fcn.140047ba0
mov rsi, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x3c8], rax
mov eax, 0xffffffff
cmp rsi, rax
mov ebx, 0xffffffff
cmovb rbx, rsi
mov qword [rbp + 0x3e8], rbx
mov rdi, rsi
mov r14, rbx
mov r15, qword [rbp + 0x3c8]
mov r12, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, r12d
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r13d, eax
test eax, eax
jne 0x140026240
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400262eb
mov r8d, r13d
cmp r12, r8
jne 0x1400261a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14002631f
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x1400261af
jmp 0x1400261c0
cmp r14, r8
jb 0x140026339
lea rcx, [rbp + 0x3a8]
mov rdx, r15
call fcn.140028590
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3d0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x3d8]
test rdx, rdx
je 0x1400262d4
mov rcx, qword [rbp + 0x3e0]
add rdx, rdx
mov r8d, 2
call fcn.14000de60
mov rax, rsi
add rsp, 0x478
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rsi, qword [rbp + 0x3d0]
mov qword [rsi + 8], rax
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rbp + 0x3d8]
test rdx, rdx
jne 0x1400262bf
jmp 0x1400262d4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140048b20
jmp 0x14002634e
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.140048ed0
ud2
Function at 0x14002c080
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x10b8
call fcn.140046d80
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1020], xmm6
mov qword [rbp + 0x1018], 0xfffffffffffffffe
mov qword [rbp + 0x1008], rdx
mov r15, rcx
lea r12, [rbp - 0x50]
mov r8d, 0x1000
mov rcx, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xorps xmm6, xmm6
lea r13, [rbp + 0xffc]
lea rbx, [0x140031dc0]
lea r14, [rbp + 0xfb0]
mov rsi, qword [sym.imp.KERNEL32.dll_WriteFileEx]
mov rdi, qword [sym.imp.KERNEL32.dll_SleepEx]
mov qword [rbp + 0x1010], r15
mov r8d, 0x1000
mov rcx, r15
mov rdx, r12
call fcn.140031910
mov r15, rdx
mov qword [rbp + 0xfd8], rax
mov qword [rbp + 0xfe0], rdx
test rax, rax
jne 0x14002c270
test r15, r15
je 0x14002c23c
cmp r15, 0x1000
ja 0x14002c292
xor r12d, r12d
nop word cs:[rax + rax]
mov r8d, r15d
sub r8d, r12d
lea rdx, [r12 + rbp]
add rdx, 0xffffffffffffffb0
mov dword [rbp + 0xffc], 0
movaps xmmword [rbp + 0xfb0], xmm6
mov qword [rbp + 0xfc0], 0
mov qword [rbp + 0xfc8], r13
mov qword [rsp + 0x20], rbx
mov rcx, qword [rbp + 0x1008]
mov r9, r14
call rsi
test eax, eax
je 0x14002c210
nop word cs:[rax + rax]
mov ecx, 0xffffffff
mov edx, 1
call rdi
cmp dword [rbp + 0xffc], 0
je 0x14002c1a0
mov ecx, dword [rbp + 0x1000]
mov eax, dword [rbp + 0x1004]
mov rdx, rcx
shl rdx, 0x20
or rdx, 2
xor r8d, r8d
test ecx, ecx
setne r8b
cmove rdx, rax
mov qword [rbp + 0xfe8], r8
mov qword [rbp + 0xff0], rdx
jne 0x14002c230
add r12, rax
cmp r12, r15
je 0x14002c200
jbe 0x14002c150
jmp 0x14002c27e
mov r15, qword [rbp + 0x1010]
lea r12, [rbp - 0x50]
jmp 0x14002c0fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0xfe8], 1
mov qword [rbp + 0xff0], rax
lea rcx, [rbp + 0xff0]
call fcn.140020870
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x1010]
call rsi
mov rcx, qword [rbp + 0x1008]
call rsi
movaps xmm6, xmmword [rbp + 0x1020]
add rsp, 0x10b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0xfe0]
call fcn.140020870
jmp 0x14002c23c
lea r8, str.library_std_src_syspalwindowspipe.rs
mov rcx, r12
mov rdx, r15
call fcn.140048f40
jmp 0x14002c2a6
lea r8, str.library_std_src_syspalwindowspipe.rs
mov edx, 0x1000
mov rcx, r15
call fcn.140048ed0
ud2
Function at 0x140030240
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov rsi, rcx
movups xmm0, xmmword [0x1401056f0]
movaps xmmword [rbp], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x140030278
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x30], rcx
test r9, r9
mov qword [rbp - 0x38], r9
lea rcx, [rbp - 0x30]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov rax, rbp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtReadFile]
cmp eax, 0x103
jne 0x1400302cf
mov rcx, rsi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbp]
cmp eax, 0xc0000011
jne 0x1400302dc
xor edx, edx
xor eax, eax
jmp 0x140030306
cmp eax, 0x103
je 0x140030310
test eax, eax
js 0x1400302ef
mov rdx, qword [rbp + 8]
xor eax, eax
jmp 0x140030306
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xa8
pop rsi
pop rbp
ret
mov dword [rbp + 0x18], 0
mov byte [rbp + 0x1c], 0
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x20]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 0x18]
lea rdx, [rbp - 0x38]
call fcn.140028280
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.140020f20
mov ecx, 7
int 0x29
ud2

Function at 0x140030360
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov rsi, rcx
movups xmm0, xmmword [0x1401056f0]
movaps xmmword [rbp], xmm0
mov eax, 0xffffffff
cmp r8, rax
cmovb rax, r8
test r9, r9
je 0x140030398
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x30], rcx
test r9, r9
mov qword [rbp - 0x38], r9
lea rcx, [rbp - 0x30]
cmove rcx, r9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov rax, rbp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x1400303f6
mov rcx, rsi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rbp]
cmp eax, 0x103
je 0x140030423
test eax, eax
js 0x140030402
mov rdx, qword [rbp + 8]
xor eax, eax
jmp 0x140030419
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov eax, 1
add rsp, 0xa8
pop rsi
pop rbp
ret
mov dword [rbp + 0x18], 0
mov byte [rbp + 0x1c], 0
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x20]
mov qword [rbp - 0x28], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp + 0x18]
lea rdx, [rbp - 0x38]
call fcn.140028280
mov qword [rbp - 8], rax
lea rcx, [rbp - 8]
call fcn.140020f20
mov ecx, 7
int 0x29
ud2