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

Disassembly:
cld
pop r11
jmp 0x14005914d
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x14005915d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x140059145
lea eax, [rcx + 1]
jmp 0x14005916b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x14005917e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x140059164
sub eax, 3
jb 0x14005919e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x1400591ed
sar eax, 1
movsxd rbp, eax
jb 0x1400591d4
jmp 0x1400591ac
add ebx, ebx
jne 0x1400591aa
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1400591d4
inc ecx
add ebx, ebx
jne 0x1400591ba
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1400591d4
call r11
adc ecx, ecx
add ebx, ebx
jne 0x1400591cd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x1400591bc
add ecx, 2
jmp 0x1400591d9
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.140059102
jmp 0x14005914d
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x2ae00
mov dl, 0x11
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x140059239
cmp rsi, rcx
jae 0x140059241
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x140059220
cmp al, 0x8f
ja 0x140059220
cmp byte [rsi - 2], 0xf
je 0x140059226
sub al, 0xe8
cmp al, 1
ja 0x14005920a
cmp rsi, rcx
jae 0x140059241
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x140059210
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x140059241
lodsb al, byte [rsi]
jmp 0x140059220
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x57000]
mov eax, dword [rdi]
or eax, eax
je 0x1400592aa
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x68448]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x14005924e
jns 0x140059283
movzx rdx, word [rdi]
add rdi, 2
jmp 0x14005928d
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x1400592a4
mov qword [rbx], rax
add rbx, 8
jmp 0x14005926e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x1400592e4
cmp al, 0xef
ja 0x1400592d6
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x1400592b6
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
jmp 0x1400592c5
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x237]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x140059338
sub rsp, 0xffffffffffffff80
jmp 0x14000c330
Function at 0x1400af79c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [0x1404d6638]
test rax, rax
je 0x1400af7e6
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400af7e6
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400af7e6
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400af7e6
cmp dword [rcx + 0x84], 0xe
jbe 0x1400af7e6
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400af7e8
xor al, al
add rsp, 0x28
ret
Function at 0x14019b630
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x50]
mov rbx, rcx
mov eax, dword [rbx + 0x38]
cmp eax, 0xffffffff
je 0x14019b64d
add rsp, 0x48
pop rbx
pop rbp
ret
mov dword [rsp + 0x20], 0x10
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x20]
mov rcx, rbx
mov r9d, 4
call fcn.14024bc90
mov ecx, eax
test ecx, ecx
jne 0x14019b6da
xor eax, eax
mov ecx, 0x40000000
test byte [rbp - 0x10], 0x30
cmove eax, ecx
mov ecx, eax
or ecx, 0x80000000
test byte [rbp - 0x10], 2
cmovne eax, ecx
mov ecx, eax
or ecx, 0x10000000
test dword [rbp - 0x10], 0x800
cmovne eax, ecx
mov ecx, eax
or ecx, 0x8000000
test byte [rbp - 0x10], 4
cmovne eax, ecx
mov ecx, eax
or ecx, 0x4000000
test dword [rbp - 0x10], 0x1000
cmovne eax, ecx
mov ecx, eax
or ecx, 0x20000000
test byte [rbp - 0x10], 8
cmovne eax, ecx
mov dword [rbx + 0x38], eax
add rsp, 0x48
pop rbx
pop rbp
ret
call fcn.14024bb60
mov ecx, eax
lea rdx, [0x1403b34b0]
call fcn.140218420
mov rcx, rax
call fcn.140007930
int3
Function at 0x1401aea20
Capabilities:
Decode data using base64 via dword translation table

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbp
push rbx
mov qword [rsp + 0x60], r9
mov r10, qword [rcx]
mov ecx, dword [rcx + 8]
mov r11, qword [rdx]
mov ebx, ecx
and ebx, 0xfffffffc
mov esi, dword [rdx + 8]
xor edi, edi
xor ebp, ebp
test ecx, ecx
je 0x1401aec44
lea r14, [0x1405a4ae0]
mov eax, ebx
sar eax, 2
lea eax, [rax + rax*2]
cmp esi, eax
jl 0x1401aea67
lea r15d, [rbx - 4]
jmp 0x1401aea7e
mov edx, 0x55555556
mov eax, edx
imul esi
mov r15d, edx
shr r15d, 0x1f
add r15d, edx
shl r15d, 2
test r15d, r15d
jle 0x1401aeb24
movsxd rax, edi
lea rax, [r10 + rax*2]
movzx edx, word [rax]
movzx r13d, word [rax + 2]
movzx r12d, word [rax + 4]
movzx eax, word [rax + 6]
mov r9d, edx
or r9d, r13d
or r9d, r12d
or r9d, eax
test r9d, 0xffffff00
je 0x1401aeabc
mov r9d, 0xffffffff
jmp 0x1401aeaf1
movsxd rdx, edx
movsx rdx, byte [r14 + rdx]
movsxd r9, r13d
movsx r13, byte [r14 + r9]
movsxd r9, r12d
movsx r12, byte [r14 + r9]
cdqe
movsx rax, byte [r14 + rax]
shl edx, 0x12
or eax, edx
shl r13d, 0xc
or eax, r13d
shl r12d, 6
mov r9d, eax
or r9d, r12d
test r9d, r9d
jl 0x1401aec61
movsxd rax, ebp
add rax, r11
mov edx, r9d
sar edx, 0x10
mov byte [rax], dl
mov edx, r9d
sar edx, 8
mov byte [rax + 1], dl
mov byte [rax + 2], r9b
add ebp, 3
add edi, 4
cmp edi, r15d
jl 0x1401aea87
lea eax, [rbx - 4]
cmp r15d, eax
jne 0x1401aec61
cmp edi, ebx
je 0x1401aec61
lea eax, [rbx - 4]
cdqe
movzx eax, word [r10 + rax*2]
lea edx, [rbx - 3]
movsxd rdx, edx
movzx edx, word [r10 + rdx*2]
lea r9d, [rbx - 2]
movsxd r9, r9d
movzx r9d, word [r10 + r9*2]
lea r15d, [rbx - 1]
movsxd r15, r15d
movzx r10d, word [r10 + r15*2]
mov r15d, eax
or r15d, edx
or r15d, r9d
or r15d, r10d
test r15d, 0xffffff00
jne 0x1401aec61
cdqe
movsx rax, byte [r14 + rax]
movsxd rdx, edx
movsx rdx, byte [r14 + rdx]
shl eax, 0x12
shl edx, 0xc
or eax, edx
cmp r10d, 0x3d
je 0x1401aebe9
movsxd r9, r9d
movsx r9, byte [r14 + r9]
movsxd r10, r10d
movsx r10, byte [r14 + r10]
or r10d, eax
shl r9d, 6
mov eax, r10d
or eax, r9d
jl 0x1401aec61
add esi, 0xfffffffd
cmp ebp, esi
jg 0x1401aec61
movsxd rdx, ebp
add r11, rdx
mov edx, eax
sar edx, 0x10
mov byte [r11], dl
mov edx, eax
sar edx, 8
mov byte [r11 + 1], dl
mov byte [r11 + 2], al
add ebp, 3
jmp 0x1401aec3d
cmp r9d, 0x3d
je 0x1401aec26
movsxd r9, r9d
movsx r9, byte [r14 + r9]
mov edx, r9d
shl edx, 6
or eax, edx
jl 0x1401aec61
lea edx, [rsi - 2]
cmp ebp, edx
jg 0x1401aec61
mov edx, eax
sar edx, 0x10
movsxd r10, ebp
mov byte [r11 + r10], dl
sar eax, 8
lea edx, [rbp + 1]
movsxd rdx, edx
mov byte [r11 + rdx], al
add ebp, 2
jmp 0x1401aec3d
test eax, eax
jl 0x1401aec61
lea edx, [rsi - 1]
cmp ebp, edx
jg 0x1401aec61
sar eax, 0x10
movsxd rdx, ebp
mov byte [r11 + rdx], al
inc ebp
add edi, 4
cmp ebx, ecx
jne 0x1401aec61
mov dword [r8], edi
mov r9, qword [rsp + 0x60]
mov dword [r9], ebp
mov eax, 1
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [r8], edi
mov r9, qword [rsp + 0x60]
mov dword [r9], ebp
xor eax, eax
pop rbx
pop rbp
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x1401af8a0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push rdi
push rsi
push rbp
push rbx
push rax
xor eax, eax
mov qword [rsp], rax
mov r10, rdx
mov r11d, dword [rsp + 0x60]
mov edx, 0x55555556
mov eax, edx
imul r9d
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [rax + rax*2]
mov edx, r9d
sub edx, eax
sub r9d, edx
add r9d, r8d
xor eax, eax
xor ebx, ebx
lea rsi, [0x14059b498]
mov qword [rsp], rsi
cmp r8d, r9d
jge 0x1401af9df
movzx edi, r11b
test edi, edi
je 0x1401af91e
cmp ebx, 0x4c
jne 0x1401af91b
lea ebx, [rax + 1]
cdqe
mov word [rcx + rax*2], 0xd
mov eax, ebx
lea ebx, [rax + 1]
cdqe
mov word [rcx + rax*2], 0xa
xor eax, eax
mov ebp, eax
mov eax, ebx
mov ebx, ebp
add ebx, 4
movsxd rbp, r8d
movzx r14d, byte [r10 + rbp]
and r14d, 0xfc
sar r14d, 2
movsxd r14, r14d
movzx r14d, byte [r14 + rsi]
movsxd r15, eax
mov word [rcx + r15*2], r14w
movzx ebp, byte [r10 + rbp]
and ebp, 3
shl ebp, 4
lea r14d, [r8 + 1]
movsxd r14, r14d
movzx r15d, byte [r10 + r14]
and r15d, 0xf0
sar r15d, 4
or ebp, r15d
movsxd rbp, ebp
movzx ebp, byte [rsi + rbp]
lea r15d, [rax + 1]
movsxd r15, r15d
mov word [rcx + r15*2], bp
movzx ebp, byte [r10 + r14]
and ebp, 0xf
shl ebp, 2
lea r14d, [r8 + 2]
movsxd r14, r14d
movzx r15d, byte [r10 + r14]
and r15d, 0xc0
sar r15d, 6
or ebp, r15d
movsxd rbp, ebp
movzx ebp, byte [rsi + rbp]
lea r15d, [rax + 2]
movsxd r15, r15d
mov word [rcx + r15*2], bp
movzx ebp, byte [r10 + r14]
and ebp, 0x3f
movsxd rbp, ebp
movzx ebp, byte [rsi + rbp]
lea r14d, [rax + 3]
movsxd r14, r14d
mov word [rcx + r14*2], bp
add eax, 4
add r8d, 3
cmp r8d, r9d
jl 0x1401af8f2
mov r8d, r9d
movzx edi, r11b
test edi, edi
je 0x1401afa15
test edx, edx
je 0x1401afa15
cmp ebx, 0x4c
jne 0x1401afa15
mov r9d, eax
lea eax, [r9 + 1]
movsxd r9, r9d
mov word [rcx + r9*2], 0xd
mov r9d, eax
lea eax, [r9 + 1]
movsxd r9, r9d
mov word [rcx + r9*2], 0xa
cmp edx, 1
je 0x1401afaa3
cmp edx, 2
jne 0x1401afaff
movsxd rdx, r8d
movzx edx, byte [r10 + rdx]
and edx, 0xfc
sar edx, 2
movsxd rdx, edx
movzx edx, byte [rdx + rsi]
movsxd r9, eax
mov word [rcx + r9*2], dx
movsxd rdx, r8d
movzx edx, byte [r10 + rdx]
and edx, 3
shl edx, 4
inc r8d
movsxd r8, r8d
movzx r9d, byte [r10 + r8]
and r9d, 0xf0
sar r9d, 4
or edx, r9d
movsxd rdx, edx
movzx edx, byte [rdx + rsi]
lea r9d, [rax + 1]
movsxd r9, r9d
mov word [rcx + r9*2], dx
movzx r10d, byte [r10 + r8]
and r10d, 0xf
shl r10d, 2
movsxd rdx, r10d
movzx edx, byte [rdx + rsi]
lea r8d, [rax + 2]
movsxd r8, r8d
mov word [rcx + r8*2], dx
jmp 0x1401afaf0
movsxd rdx, r8d
movzx edx, byte [r10 + rdx]
and edx, 0xfc
sar edx, 2
movsxd rdx, edx
movzx edx, byte [rdx + rsi]
movsxd r9, eax
mov word [rcx + r9*2], dx
movsxd rdx, r8d
movzx edx, byte [r10 + rdx]
and edx, 3
shl edx, 4
movsxd rdx, edx
movzx edx, byte [rdx + rsi]
lea r8d, [rax + 1]
movsxd r8, r8d
mov word [rcx + r8*2], dx
lea edx, [rax + 2]
movsxd rdx, edx
mov word [rcx + rdx*2], 0x3d
lea edx, [rax + 3]
movsxd rdx, edx
mov word [rcx + rdx*2], 0x3d
add eax, 4
xor ecx, ecx
mov qword [rsp], rcx
add rsp, 8
pop rbx
pop rbp
pop rsi
pop rdi
pop r14
pop r15
ret
Function at 0x14038ff80
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
cmp r9d, 8
jge 0x14038ffd1
movzx r10d, dx
sub r8d, r10d
movzx eax, r8w
xor edx, edx
test r9d, r9d
jle 0x1403901fb
movsxd r8, edx
movzx r8d, word [rcx + r8*2]
sub r8d, r10d
movzx r8d, r8w
cmp r8d, eax
jle 0x14038ffc5
inc edx
cmp edx, r9d
jl 0x14038ffa5
jmp 0x1403901fb
mov eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
movzx r10d, dx
movd xmm0, r10d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov eax, r8d
sub eax, r10d
movzx eax, ax
movd xmm1, eax
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
mov rax, rcx
add r9d, 0xfffffff8
mov edx, r9d
add rdx, rdx
lea r8, [rax + rdx]
movups xmm2, xmmword [0x1405aa820]
movaps xmm3, xmm1
psubw xmm3, xmm2
movups xmm4, xmmword [rax]
psubw xmm4, xmm0
movaps xmm5, xmm4
psubw xmm5, xmm2
movaps xmm6, xmm3
pcmpgtw xmm6, xmm5
pcmpeqw xmm4, xmm1
por xmm4, xmm6
movaps xmmword [rsp + 0x20], xmm4
xorps xmm5, xmm5
pcmpeqw xmm4, xmm5
pmovmskb r10d, xmm4
cmp r10d, 0xffff
jne 0x14039013b
add rax, 0x10
cmp rax, r8
jb 0x140390018
movups xmm4, xmmword [r8]
psubw xmm4, xmm0
movaps xmm0, xmm4
psubw xmm0, xmm2
pcmpgtw xmm3, xmm0
pcmpeqw xmm1, xmm4
por xmm1, xmm3
movaps xmmword [rsp + 0x20], xmm1
xorps xmm0, xmm0
pcmpeqw xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1403901fb
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx r8d, word [rsp + 2]
shr r8d, 0xf
add r8d, r8d
or ecx, r8d
movzx r8d, word [rsp + 4]
shr r8d, 0xf
shl r8d, 2
or r8d, ecx
mov ecx, r8d
movzx r8d, word [rsp + 6]
shr r8d, 0xf
shl r8d, 3
or r8d, ecx
mov ecx, r8d
shl ecx, 4
or eax, ecx
bsf ecx, eax
mov r8d, 0x20
test eax, eax
cmove ecx, r8d
mov eax, ecx
shr rdx, 1
add eax, edx
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx edx, word [rsp + 0x18]
shr edx, 0xf
movzx r8d, word [rsp + 0x1a]
shr r8d, 0xf
add r8d, r8d
or edx, r8d
movzx r8d, word [rsp + 0x1c]
shr r8d, 0xf
shl r8d, 2
or r8d, edx
mov edx, r8d
movzx r8d, word [rsp + 0x1e]
shr r8d, 0xf
shl r8d, 3
or r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
bsf r8d, edx
mov r10d, 0x20
test edx, edx
cmove r8d, r10d
sub rax, rcx
shr rax, 1
add eax, r8d
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
mov eax, 0xffffffff
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
ret
Function at 0x141626058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1416261df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x141626089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14162606f
add dl, dl
jne 0x141626096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1416260f6
xor eax, eax
add dl, dl
jne 0x1416260a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1416261ad
add dl, dl
jne 0x1416260b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1416260c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1416260d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1416260dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1416260ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x14162607e
mov eax, 1
add dl, dl
jne 0x141626106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141626113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1416260fb
sub eax, ebx
mov ebx, 1
jne 0x14162614c
mov ecx, 1
add dl, dl
jne 0x14162612e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14162613b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141626123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14162607e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x141626168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x141626175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14162615d
cmp eax, 0x7d00
jae 0x14162619b
cmp eax, 0x500
jb 0x141626196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14162607e
cmp eax, 0x7f
ja 0x14162619e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14162607e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1416261d2
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 0x14162607e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x14000ae10
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 0x14000aea0
jmp 0x14000ae8f
jae 0x14000af60
cmp r8, 0x201
jae 0x14000aea0
mov esi, 0x200
lea r13, [rbp - 0x58]
mov r15, r8
jmp 0x14000aef8
sub r8, r12
sub rbx, r12
cmp rbx, r8
jae 0x14000aecf
lea rcx, [rbp + 0x3c8]
mov rdx, r12
call fcn.14002e730
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 0x14000af21
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000afc8
mov r8d, r14d
cmp r15, r8
jne 0x14000ae80
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14000afeb
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jb 0x14000ae8f
jmp 0x14000aea0
cmp rsi, r8
jb 0x14000b005
lea rcx, [rbp + 0x3a8]
mov rdx, r13
call fcn.14000e320
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 0x14000afb1
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x3e8]
mov rdx, rdi
call fcn.140003c10
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 0x14000af99
jmp 0x14000afb1
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14002f220
jmp 0x14000b01a
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.14002f670
ud2
Function at 0x14000b170
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.14001f470
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x408], rax
test rax, rax
je 0x14000b2f6
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 0x14000b230
jmp 0x14000b21f
jae 0x14000b308
cmp r8, 0x201
jae 0x14000b230
mov r15d, 0x200
lea r14, [rbp - 0x60]
mov r12, r8
jmp 0x14000b288
sub r8, r13
sub rbx, r13
cmp rbx, r8
jae 0x14000b25f
lea rcx, [rbp + 0x3e8]
mov rdx, r13
call fcn.14002e730
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 0x14000b2b7
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000b3db
mov r8d, esi
cmp r12, r8
jne 0x14000b210
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14000b405
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov r8, r12
cmp r8, 0x201
jb 0x14000b21f
jmp 0x14000b230
lea rcx, [rbp - 0x58]
call fcn.1400050c0
mov byte [rsi + 0x18], 2
jmp 0x14000b39a
cmp r15, r8
jb 0x14000b41f
lea rcx, [rbp + 0x3a0]
mov rdx, r14
call fcn.14000e320
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
movaps xmmword [rbp + 0x3d0], xmm1
movaps xmmword [rbp + 0x3c0], xmm0
test rdi, rdi
je 0x14000b359
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x410]
mov rdx, rdi
call fcn.140003c10
cmp byte [rbp + 0x3d8], 2
jne 0x14000b3b1
mov rsi, qword [rbp + 0x400]
mov byte [rsi + 0x18], 2
lea rcx, [rbp + 0x3c0]
call fcn.1400050c0
mov rdx, qword [rbp + 0x418]
test rdx, rdx
je 0x14000b39a
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x408]
call fcn.140003c10
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 0x14000b385
jmp 0x14000b39a
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 0x14000b341
jmp 0x14000b359
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14002f220
jmp 0x14000b434
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14002f670
ud2
Function at 0x14000b4f0
Capabilities:
Set environment variable

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rdi, r9
mov rbx, r8
mov r8, rdx
mov rdx, rcx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], r8
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], r9
lea rsi, [rbp - 8]
mov rcx, rsi
call fcn.14001f470
mov rcx, qword [rbp - 8]
mov rax, qword [rbp]
test rcx, rcx
je 0x14000b5a2
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
lea rcx, [rbp - 8]
mov rdx, rbx
mov r8, rdi
call fcn.14001f470
mov r14, qword [rbp - 8]
mov rbx, qword [rbp]
test r14, r14
je 0x14000b5a7
mov r15, qword [rbp + 0x30]
mov rcx, r15
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
je 0x14000b5dd
xor edi, edi
test rbx, rbx
je 0x14000b597
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov rdx, rbx
call fcn.140003c10
mov rdx, qword [rbp + 0x38]
test rdx, rdx
jne 0x14000b5b7
jmp 0x14000b5c8
mov rdi, rax
jmp 0x14000b5c8
mov rdi, rbx
mov rdx, qword [rbp + 0x38]
test rdx, rdx
mov r15, qword [rbp + 0x30]
je 0x14000b5c8
add rdx, rdx
mov r8d, 2
mov rcx, r15
call fcn.140003c10
test rdi, rdi
jne 0x14000b5f4
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
test rbx, rbx
jne 0x14000b583
jmp 0x14000b597
mov qword [rbp + 0x28], rdi
lea rax, [rbp - 0x18]
mov qword [rbp - 8], rax
lea rax, [0x140010750]
mov qword [rbp], rax
lea rcx, [rbp - 0x28]
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp + 0x18], rax
lea rax, [0x14000c720]
mov qword [rbp + 0x20], rax
lea rax, [0x1400319e0]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 3
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], 3
lea rdx, [0x140031a10]
lea rcx, [rbp - 0x58]
call fcn.14002f170
ud2