joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140071820
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rsi, rcx
mov r15, qword [rcx + 0x30]
movzx ecx, byte [rcx + 0x158]
shr r15, cl
mov rdi, r15
test r15, r15
mov qword [rbp - 0x28], r15
je 0x140071a32
mov rax, r15
shr rax, 0x3d
jne 0x140071a70
lea r14, [r15*4]
test r14, r14
je 0x1400718a4
movzx eax, byte [0x1401aa1c1]
mov edx, 4
mov rcx, r14
call fcn.140006850
mov rbx, rax
test rax, rax
je 0x140071a77
cmp r15, 8
jae 0x1400718af
xor eax, eax
jmp 0x140071900
mov ebx, 4
cmp r15, 8
jb 0x1400718a0
mov rax, r15
and rax, 0xfffffffffffffff8
movdqa xmm0, xmmword [0x14010d210]
xor ecx, ecx
movdqa xmm1, xmmword [0x14010d220]
movdqa xmm2, xmmword [str._b_b_b_b]
movdqa xmm3, xmm0
paddd xmm3, xmm1
movdqu xmmword [rbx + rcx*4], xmm0
movdqu xmmword [rbx + rcx*4 + 0x10], xmm3
add rcx, 8
paddd xmm0, xmm2
cmp rax, rcx
jne 0x1400718d0
cmp r15, rax
je 0x14007190f
nop word cs:[rax + rax]
mov dword [rbx + rax*4], eax
lea rcx, [rax + 1]
mov rax, rcx
cmp r15, rcx
jne 0x140071900
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0
lea r14, [rbp - 0x20]
mov r15d, edi
lea rax, [rdi - 0x80000000]
cmp rax, 0xffffffff80000001
jb 0x1400719d4
dec r15d
mov rcx, qword [rsi + 0x158]
and ecx, 0x3f
mov r8, qword [rsi + 0x160]
mov r9, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x30]
nop dword [rax]
sub rdi, 1
jb 0x1400719dd
mov eax, edi
shl rax, cl
add rax, r8
cmp rax, rdx
jae 0x140071a16
mov rax, qword [r9 + rax*8]
shr rax, 0x2a
cmp eax, 0x3ffffe
ja 0x140071960
mov qword [rbp], rbx
mov byte [rbp + 0xf], 0
mov rcx, r14
mov rdx, rsi
mov r8d, r15d
mov r9d, edi
call fcn.140044110
mov dword [rsi + 0x170], r15d
test r15d, r15d
jne 0x14007192a
mov qword [rbp], rbx
mov byte [rbp + 0xf], 0
lea rcx, str.match_states_should_be_a_proper_subset_of_all_states
lea r8, [0x140112630]
mov edx, 0x34
call fcn.140104e00
jmp 0x140071abd
test rdi, rdi
jne 0x140071a86
movdqu xmm0, xmmword [rbp - 0x20]
movdqu xmm1, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp], rbx
mov byte [rbp + 0xf], 1
lea rcx, [rbp - 0x50]
mov rdx, rsi
call fcn.140044200
nop
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov qword [rbp], rbx
mov byte [rbp + 0xf], 0
lea r8, [0x1401128a8]
mov rcx, rax
call fcn.140104fc0
jmp 0x140071abd
mov qword [rbp - 0x20], 4
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], 0
mov qword [rbp], 4
mov byte [rbp + 0xf], 0
lea rcx, [0x1401123f0]
lea r8, [0x1401128d8]
mov edx, 0x2b
call fcn.140104f20
jmp 0x140071abd
call fcn.1400f7c40
ud2
mov ecx, 4
mov rdx, r14
call fcn.140104c20
ud2
dec rdi
mov qword [rbp - 0x50], rdi
mov qword [rbp], rbx
mov byte [rbp + 0xf], 0
lea rax, [0x1401125e0]
mov qword [rsp + 0x20], rax
lea rcx, [0x140112556]
lea r9, [0x1401123a0]
lea r8, [rbp - 0x50]
mov edx, 0x15
call fcn.140105290
ud2
Function at 0x140076660
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rdx
mov rbx, qword [rcx]
mov qword [rbp - 8], rcx
mov r14, qword [rcx + 0x10]
mov r15d, 4
test r14, r14
mov qword [rbp - 0x18], rbx
je 0x1400766d2
mov rax, r14
shr rax, 0x3d
jne 0x1400767f7
lea rdi, [r14*4]
test rdi, rdi
je 0x1400766d2
movzx eax, byte [0x1401aa1c1]
mov edx, 4
mov rcx, rdi
call fcn.140006850
test rax, rax
je 0x1400767fe
mov r15, rax
jmp 0x1400766d4
xor edi, edi
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsi + 0x10]
test r8, r8
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x10], r15
je 0x140076755
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x18]
and ecx, 0x3f
xor eax, eax
jmp 0x140076718
inc rax
cmp rax, r8
je 0x140076755
mov r9, rax
shl r9, cl
cmp rax, r14
je 0x1400767cf
mov edx, dword [r15 + rax*4]
cmp edx, r9d
je 0x140076710
mov r10d, edx
mov edx, edx
shr rdx, cl
cmp rdx, r14
jae 0x1400767bb
mov edx, dword [r15 + rdx*4]
cmp edx, r9d
jne 0x140076730
cmp rax, r14
jae 0x1400767e3
mov dword [rbx + rax*4], r10d
jmp 0x140076710
mov rdx, qword [rbp - 8]
lea r8, [rdx + 0x18]
mov rcx, rsi
call fcn.14007cc80
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x140076781
shl rdx, 2
mov r8d, 4
mov rcx, qword [rbp - 0x10]
call fcn.140006860
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
test rdx, rdx
mov rcx, qword [rbp - 0x18]
je 0x1400767ad
shl rdx, 2
mov r8d, 4
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
jmp fcn.140006860
nop
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea r8, [0x140113bf0]
mov rcx, rdx
mov rdx, r14
call fcn.140104fc0
jmp 0x14007680b
lea r8, [0x140113bd8]
mov rcx, r14
mov rdx, r14
call fcn.140104fc0
jmp 0x14007680b
lea r8, [0x140113c08]
mov rcx, rax
mov rdx, r14
call fcn.140104fc0
jmp 0x14007680b
call fcn.1400f7c40
jmp 0x14007680b
mov ecx, 4
mov rdx, rdi
call fcn.140104c20
ud2
Function at 0x1400c6130
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
mov rdi, rdx
mov rsi, rcx
mov r15, qword [rdx]
mov rbx, qword [rdx + 8]
mov r8, qword [r15 + 0xa0]
mov r14, qword [rdx + 0x10]
mov rcx, rbx
mov rdx, r14
call fcn.1400b56d0
cmp eax, 0x5c
jne 0x1400c617f
mov rcx, rsi
mov rdx, rdi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.1400c20c0
lea rcx, [rsp + 0x20]
mov rdx, rdi
call fcn.1400b6210
mov r8, qword [r15 + 0xa0]
mov rcx, rbx
mov rdx, r14
call fcn.1400b56d0
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x88], 2
mov rcx, rdi
call fcn.1400b57f0
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movups xmm2, xmmword [rsp + 0x40]
movups xmm3, xmmword [rsp + 0x50]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x38], xmm3
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x48], xmm0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x58], xmm0
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x68], xmm0
mov dword [rsi], 0x22
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x1400daa90
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rbx, r8
mov rsi, rcx
mov r14, r8
sub r14, rdx
shr r14, 3
sub rbx, rdx
je 0x1400daaf1
movabs rax, 0x7ffffffffffffff9
cmp rbx, rax
jae 0x1400dac34
mov rdi, rdx
movzx eax, byte [0x1401aa1c1]
mov edx, 4
mov rcx, rbx
call fcn.140006850
test rax, rax
je 0x1400dac3b
cmp rbx, 0x80
jae 0x1400daafd
xor ecx, ecx
jmp 0x1400dab9a
xor ecx, ecx
mov eax, 4
jmp 0x1400dac1c
lea rdx, [rax + r14*8]
add rdx, 0xfffffffffffffff8
xor ecx, ecx
cmp rdx, rax
jb 0x1400dab9a
lea rdx, [rax + r14*8]
add rdx, 0xfffffffffffffffc
mov r8, rax
add r8, 4
cmp rdx, r8
jb 0x1400dab9a
lea rdx, [r14 - 1]
shr rdx, 0x3d
jne 0x1400dab9a
mov rcx, r14
and rcx, 0xfffffffffffffffe
xor edx, edx
movdqa xmm0, xmmword [0x14010e5a0]
nop
movdqu xmm1, xmmword [rdi + rdx*8]
pshufd xmm2, xmm1, 0xe8
pshufd xmm1, xmm1, 0xed
movdqa xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm4, xmm1
pxor xmm4, xmm0
pcmpgtd xmm4, xmm3
movdqa xmm3, xmm4
pandn xmm3, xmm1
movdqa xmm5, xmm4
pandn xmm5, xmm2
pand xmm2, xmm4
por xmm2, xmm3
pand xmm4, xmm1
por xmm4, xmm5
punpckldq xmm2, xmm4
movdqu xmmword [rax + rdx*8], xmm2
add rdx, 2
cmp rcx, rdx
jne 0x1400dab40
cmp r14, rcx
je 0x1400dac19
mov rdx, rcx
or rdx, 1
test bl, 8
je 0x1400dabc9
mov r8d, dword [rdi + rcx*8]
mov r9d, dword [rdi + rcx*8 + 4]
cmp r8d, r9d
mov r10d, r9d
cmovb r10d, r8d
cmova r9d, r8d
mov dword [rax + rcx*8], r10d
mov dword [rax + rcx*8 + 4], r9d
mov rcx, rdx
cmp r14, rdx
je 0x1400dac19
nop
mov edx, dword [rdi + rcx*8]
mov r8d, dword [rdi + rcx*8 + 4]
cmp edx, r8d
mov r9d, r8d
cmovb r9d, edx
cmova r8d, edx
mov dword [rax + rcx*8], r9d
mov dword [rax + rcx*8 + 4], r8d
mov edx, dword [rdi + rcx*8 + 8]
mov r8d, dword [rdi + rcx*8 + 0xc]
cmp edx, r8d
mov r9d, r8d
cmovb r9d, edx
cmova r8d, edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r8d
add rcx, 2
cmp r14, rcx
jne 0x1400dabd0
mov rcx, r14
mov qword [rsi], rax
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rcx
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400f7c40
ud2
mov ecx, 4
mov rdx, rbx
call fcn.140104c20
ud2
Function at 0x1400df1a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
movzx eax, byte [0x1401aa1c1]
mov ecx, 0x1818
mov edx, 4
call fcn.140006850
test rax, rax
je 0x1400df2be
xor ecx, ecx
lea rdx, [0x1401462a0]
movdqa xmm0, xmmword [0x14010e5a0]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rcx + rdx]
pshufd xmm2, xmm1, 0xe8
pshufd xmm1, xmm1, 0xed
movdqa xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm4, xmm1
pxor xmm4, xmm0
pcmpgtd xmm4, xmm3
movdqa xmm3, xmm4
pandn xmm3, xmm1
movdqa xmm5, xmm4
pandn xmm5, xmm2
pand xmm2, xmm4
por xmm2, xmm3
pand xmm4, xmm1
por xmm4, xmm5
punpckldq xmm2, xmm4
movdqu xmmword [rax + rcx], xmm2
add rcx, 0x10
cmp rcx, 0x1810
jne 0x1400df1f0
movabs rcx, 0xe01ef000e0100
mov qword [rax + 0x1810], rcx
mov rcx, rax
add rcx, 0x1818
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0x303
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rcx
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x20]
call fcn.1400d7e70
mov rax, qword [rbp - 0x28]
test rax, rax
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rbp - 0x38]
movaps xmmword [rbp - 0x20], xmm0
sete byte [rbp - 8]
lea rcx, [rbp - 0x20]
call fcn.1400e5760
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rax, rsi
add rsp, 0x68
pop rsi
pop rbp
ret
mov ecx, 4
mov edx, 0x1818
call fcn.140104c20
ud2

Function at 0x1400df430
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
movzx eax, byte [0x1401aa1c1]
mov ecx, 0x200
mov edx, 4
call fcn.140006850
test rax, rax
je 0x1400df53d
xor ecx, ecx
lea rdx, [0x140147b08]
movdqa xmm0, xmmword [0x14010e5a0]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rcx + rdx]
pshufd xmm2, xmm1, 0xe8
pshufd xmm1, xmm1, 0xed
movdqa xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm4, xmm1
pxor xmm4, xmm0
pcmpgtd xmm4, xmm3
movdqa xmm3, xmm4
pandn xmm3, xmm1
movdqa xmm5, xmm4
pandn xmm5, xmm2
pand xmm2, xmm4
por xmm2, xmm3
pand xmm4, xmm1
por xmm4, xmm5
punpckldq xmm2, xmm4
movdqu xmmword [rax + rcx], xmm2
add rcx, 0x10
cmp rcx, 0x200
jne 0x1400df480
mov rcx, rax
add rcx, 0x200
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0x40
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rcx
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x20]
call fcn.1400d7e70
mov rax, qword [rbp - 0x28]
test rax, rax
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rbp - 0x38]
movaps xmmword [rbp - 0x20], xmm0
sete byte [rbp - 8]
lea rcx, [rbp - 0x20]
call fcn.1400e5760
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rax, rsi
add rsp, 0x68
pop rsi
pop rbp
ret
mov ecx, 4
mov edx, 0x200
call fcn.140104c20
ud2
Function at 0x1400e5920
Capabilities:
Read clipboard data

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rbx, rdx
mov rsi, rcx
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetClipboardData]
test rax, rax
je 0x1400e5a5c
mov rdi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x1400e5a5c
mov r14, rax
mov qword [rbp - 8], rbx
mov qword [rbp - 0x10], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalSize]
mov r15, rax
shr r15, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov ecx, 0xfde9
xor edx, edx
mov r8, r14
mov r9d, r15d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r13d, eax
test eax, eax
je 0x1400e5a8c
mov rcx, qword [rbp - 8]
mov rax, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
movsxd r12, r13d
sub rax, rbx
cmp rax, r12
jae 0x1400e59e3
mov rcx, qword [rbp - 8]
mov rdx, rbx
mov r8, r12
call fcn.1400ff9b0
mov rax, qword [rbp - 8]
mov rdi, qword [rax]
lea rax, [rdi + rbx]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
xor edx, edx
mov r8, r14
mov r9d, r15d
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rbx + r12]
mov rdx, qword [rbp - 8]
mov qword [rdx + 0x10], rax
test rbx, rbx
je 0x1400e5a2d
lea rcx, [rbx - 1]
cmp rax, rcx
jbe 0x1400e5a70
lea rcx, [rbx - 1]
nop word cs:[rax + rax]
test r12, r12
je 0x1400e5a70
lea r14, [rcx + 1]
dec r12
cmp byte [rdi + rcx + 1], 0
mov rcx, r14
jne 0x1400e5a40
mov qword [rdx + 0x10], r14
jmp 0x1400e5a73
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [0x1401aa048]
mov qword [rsi], rcx
mov dword [rsi + 8], eax
jmp 0x1400e5aa7
mov r14, rax
mov rcx, qword [rbp - 0x10]
call sub.KERNEL32.dll_GlobalUnlock
sub r14, rbx
mov qword [rsi + 8], r14
mov qword [rsi], 0
jmp 0x1400e5aa7
call sub.KERNEL32.dll_GetLastError
mov rcx, qword [0x1401aa048]
mov qword [rsi], rcx
mov dword [rsi + 8], eax
mov rcx, qword [rbp - 0x10]
call sub.KERNEL32.dll_GlobalUnlock
mov rax, rsi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x1400e5b00
Capabilities:
Write clipboard data

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov ecx, 0xfde9
xor edx, edx
mov r8, rdi
mov r9d, esi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
test rsi, rsi
je 0x1400e5b61
test ebx, ebx
jne 0x1400e5b61
mov rdi, qword [0x1401aa048]
call sub.KERNEL32.dll_GetLastError
mov esi, eax
jmp 0x1400e5c00
movsxd r15, ebx
lea rdx, [r15*2 + 2]
mov ecx, 0x42
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
test rax, rax
je 0x1400e5c21
mov qword [rbp - 8], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r14, rax
test rax, rax
je 0x1400e5be8
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
mov ecx, 0xfde9
xor edx, edx
mov r8, rdi
mov r9d, esi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov word [r14 + r15*2], 0
mov rcx, qword [rbp - 8]
call sub.KERNEL32.dll_GlobalUnlock
call qword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x1400e5bd0
call sub.KERNEL32.dll_GetLastError
mov ecx, 0xd
mov rdx, qword [rbp - 8]
call qword [sym.imp.USER32.dll_SetClipboardData]
test rax, rax
je 0x1400e5c12
xor edi, edi
jmp 0x1400e5c00
call sub.KERNEL32.dll_GetLastError
mov esi, eax
mov rcx, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rdi, qword [0x1401aa048]
mov rax, rdi
mov edx, esi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1400e5b4e
call fcn.140103ee0
mov rdi, rax
mov esi, edx
jmp 0x1400e5c00
Function at 0x1400e8510
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 + 0x3e0], rcx
mov qword [rbp + 0x3c8], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d0], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor edi, edi
xor ebx, ebx
xor r12d, r12d
cmp r8, 0x201
jae 0x1400e85a0
jmp 0x1400e858f
jae 0x1400e8660
cmp r8, 0x201
jae 0x1400e85a0
mov esi, 0x200
lea r13, [rbp - 0x58]
mov r15, r8
jmp 0x1400e85f8
sub r8, r12
sub rbx, r12
cmp rbx, r8
jae 0x1400e85cf
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.140104070
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x3e8], rax
mov rdi, qword [rbp + 0x3d0]
mov eax, 0xffffffff
cmp rdi, rax
mov r12d, 0xffffffff
cmovb r12, rdi
mov qword [rbp + 0x3d8], r12
mov rbx, rdi
mov rsi, r12
mov r13, qword [rbp + 0x3e8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, r15d
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r14d, eax
test eax, eax
jne 0x1400e8621
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e86c8
mov r8d, r14d
cmp r15, r8
jne 0x1400e8580
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400e86eb
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x1400e858f
jmp 0x1400e85a0
cmp rsi, r8
jb 0x1400e8705
lea rcx, [rbp + 0x3a8]
mov rdx, r13
call fcn.1400e9c30
movups xmm0, xmmword [rbp + 0x3a8]
movups xmm1, xmmword [rbp + 0x3b8]
mov rsi, qword [rbp + 0x3e0]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
test rdi, rdi
je 0x1400e86b1
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rdi
call fcn.140006860
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 + 0x3e0]
mov qword [rsi], rax
mov byte [rsi + 0x18], 2
test rdi, rdi
jne 0x1400e8699
jmp 0x1400e86b1
lea rcx, str.internal_error:_entered_unreachable_code_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140104f20
jmp 0x1400e871a
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.1401053b0
ud2
Function at 0x1400e8770
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x420], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [rbp - 0x60]
call fcn.1400ef2a0
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x408], rax
test rax, rax
je 0x1400e88f6
mov qword [rbp + 0x400], rsi
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x418], rax
mov qword [rbp + 0x3e8], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x3f0], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x410], rax
xor edi, edi
xor ebx, ebx
xor r13d, r13d
cmp r8, 0x201
jae 0x1400e8830
jmp 0x1400e881f
jae 0x1400e8908
cmp r8, 0x201
jae 0x1400e8830
mov r15d, 0x200
lea r14, [rbp - 0x60]
mov r12, r8
jmp 0x1400e8888
sub r8, r13
sub rbx, r13
cmp rbx, r8
jae 0x1400e885f
lea rcx, [rbp + 0x3e8]
mov rdx, r13
call fcn.140104070
mov rax, qword [rbp + 0x3e8]
mov qword [rbp + 0x410], rax
mov rdi, qword [rbp + 0x3f0]
mov eax, 0xffffffff
cmp rdi, rax
mov r13d, 0xffffffff
cmovb r13, rdi
mov qword [rbp + 0x3f8], r13
mov rbx, rdi
mov r15, r13
mov r14, qword [rbp + 0x410]
mov r12, r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rbp + 0x408]
mov rdx, r14
mov r8d, r12d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov esi, eax
test eax, eax
jne 0x1400e88b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400e89db
mov r8d, esi
cmp r12, r8
jne 0x1400e8810
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400e8a05
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x1400e881f
jmp 0x1400e8830
lea rcx, [rbp - 0x58]
call fcn.1400e6560
mov byte [rsi + 0x18], 2
jmp 0x1400e899a
cmp r15, r8
jb 0x1400e8a1f
lea rcx, [rbp + 0x3a0]
mov rdx, r14
call fcn.1400e9c30
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
movaps xmmword [rbp + 0x3d0], xmm1
movaps xmmword [rbp + 0x3c0], xmm0
test rdi, rdi
je 0x1400e8959
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x410]
mov rdx, rdi
call fcn.140006860
cmp byte [rbp + 0x3d8], 2
jne 0x1400e89b1
mov rsi, qword [rbp + 0x400]
mov byte [rsi + 0x18], 2
lea rcx, [rbp + 0x3c0]
call fcn.1400e6560
mov rdx, qword [rbp + 0x418]
test rdx, rdx
je 0x1400e899a
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x408]
call fcn.140006860
mov rax, rsi
add rsp, 0x4a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movaps xmm0, xmmword [rbp + 0x3c0]
movaps xmm1, xmmword [rbp + 0x3d0]
mov rsi, qword [rbp + 0x400]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rdx, qword [rbp + 0x418]
test rdx, rdx
jne 0x1400e8985
jmp 0x1400e899a
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x3c0], rax
mov byte [rbp + 0x3d8], 2
test rdi, rdi
jne 0x1400e8941
jmp 0x1400e8959
lea rcx, str.internal_error:_entered_unreachable_code_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_src_vecmod.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.140104f20
jmp 0x1400e8a34
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.1401053b0
ud2
Function at 0x1400ede00
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rsp + 0xe0]
movups xmm0, xmmword [0x140188c90]
movaps xmmword [rsp + 0x60], xmm0
mov eax, 0xffffffff
cmp r9, rax
cmovb rax, r9
test rcx, rcx
je 0x1400ede44
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x80], rdx
test rcx, rcx
mov qword [rsp + 0x78], rcx
lea rdx, [rsp + 0x80]
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ntdll.dll_NtWriteFile]
cmp eax, 0x103
jne 0x1400edeaa
mov rcx, rdi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rsp + 0x60]
cmp eax, 0x103
je 0x1400edee1
test eax, eax
js 0x1400edebb
mov rax, qword [rsp + 0x68]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x1400eded4
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlNtStatusToDosError]
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
add rsp, 0xa8
pop rdi
pop rsi
ret
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x5c], 0
lea rax, str.fatal_runtime_error:_I_O_error:_operation_failed_to_complete_synchronously_n
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x78]
call fcn.1400e9a00
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.1400e6700
mov ecx, 7
int 0x29
ud2

Function at 0x1400ee820
Capabilities:
Generate random numbers via winapi

Disassembly:
sub rsp, 0x38
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
xor ecx, ecx
mov r8d, 0x10
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
test eax, eax
js 0x1400ee858
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
add rsp, 0x38
ret
call fcn.1400ee870
nop
add rsp, 0x38
ret

Function at 0x1400ee870
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], 0xfffffffffffffffe
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov edx, 0x10
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
je 0x1400ee8b3
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x80
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [0x1400e8d20]
mov qword [rbp - 0x28], rax
lea rax, str.fallback_RNG_broken:
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 1
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
lea rdx, str.library_std_src_syswindows_rand.rs
lea rcx, [rbp - 0x60]
call fcn.140104e70
ud2