joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4184a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x418630
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00436f00
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x418505
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x418520
add rsp, 0x48
pop rbp
ret
call fcn.004517e0
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
sub rbx, rcx
nop dword [rax]
test rbx, rbx
jbe 0x41853f
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x41854f
cmp rbx, 0x1000
jae 0x41850b
jmp 0x4185ba
add rsp, 0x48
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x418562
xor edx, edx
nop
jmp 0x4185b1
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call fcn.00436f00
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
test dl, dl
jne 0x418545
jmp 0x418534
call fcn.00467f20
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.0043ad00
lea rax, [0x004aed0e]
mov ebx, 0x18
call fcn.0043b540
mov rax, qword [rsp + 0x38]
call fcn.0043b2a0
lea rax, [0x004af007]
mov ebx, 0x19
call fcn.0043b540
mov rax, qword [rsp + 0x30]
call fcn.0043b2a0
call fcn.0043af20
call fcn.0043ad60
lea rax, [0x004b0bda]
mov ebx, 0x21
call fcn.00439360
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004184a0
Function at 0x418660
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41888a
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.00436fa0
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x4186d3
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x4186fa
add rsp, 0x50
pop rbp
ret
mov rax, rcx
nop dword [rax]
call fcn.004517e0
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
sub rbx, rcx
mov rcx, rax
mov rax, qword [rsp + 0x68]
test rbx, rbx
jbe 0x41871c
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x41872c
cmp rbx, 0x1000
jae 0x4186d9
jmp 0x4187ae
add rsp, 0x50
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x41873e
xor esi, esi
jmp 0x4187a0
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call fcn.00436fa0
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
test sil, sil
jne 0x418722
jmp 0x41870e
call fcn.00467f20
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x418829
call fcn.0043ad00
lea rax, [0x004af020]
mov ebx, 0x19
call fcn.0043b540
mov rax, qword [rsp + 0x68]
call fcn.0043b2a0
lea rax, [0x004af007]
mov ebx, 0x19
nop dword [rax]
call fcn.0043b540
mov eax, dword [rsp + 0x34]
call fcn.0043b2a0
call fcn.0043af20
call fcn.0043ad60
lea rax, [0x004ac4ca]
mov ebx, 0xd
call fcn.00439360
cmp eax, 0x5af
je 0x4187d1
call fcn.0043ad00
lea rax, [0x004af020]
mov ebx, 0x19
call fcn.0043b540
mov rax, qword [rsp + 0x38]
call fcn.0043b2a0
lea rax, [0x004af007]
mov ebx, 0x19
nop dword [rax]
call fcn.0043b540
mov eax, dword [rsp + 0x34]
call fcn.0043b2a0
call fcn.0043af20
call fcn.0043ad60
lea rax, [0x004b0557]
mov ebx, 0x1f
call fcn.00439360
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00418660
Function at 0x423a40
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x423b46
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov byte [rsp + 0x70], dil
mov qword [rsp + 0x10], 0
jmp 0x423a83
mov rax, qword [rsp + 0x58]
mov rcx, rdx
mov rbx, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x70]
cmp qword [rsp + 0x10], rbx
jae 0x423b3b
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov ebx, edi
mov rax, rcx
nop dword [rax]
call fcn.00424760
test rax, rax
je 0x423b3b
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [0x00423b80]
mov qword [rsp + 0x18], rcx
lea rdx, [rsp + 0x10]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x18]
mov qword [rsp], rbx
nop dword [rax]
call fcn.00464820
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x68]
nop dword [rax]
test rdx, rdx
jne 0x423b29
xor eax, eax
jmp 0x423b33
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x68]
test al, al
je 0x423a71
mov rax, qword [rsp + 0x10]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp fcn.00423a40
Function at 0x44c3a0
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x78
mov rcx, r14
test rcx, rcx
je 0x44c3eb
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x90]
nop dword [rax + rax]
test rcx, rcx
je 0x44c3eb
mov qword [rsp + 0x70], rcx
mov rax, rdi
call fcn.00408e00
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x50], 0
jmp 0x44c3fb
mov eax, 1
add rsp, 0x78
pop rbp
ret
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
call fcn.004087c0
mov rcx, qword [sym.imp.kernel32.dll_RtlLookupFunctionEntry]
lea rdx, [rsp + 0x60]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0
call fcn.00436f00
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x44c4df
mov qword [rsp + 0x58], rcx
mov rax, qword [rsp + 0x68]
call fcn.004087c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [sym.imp.kernel32.dll_RtlVirtualUnwind]
mov rbx, qword [rsp + 0x68]
lea rdi, [rsp + 0x50]
mov qword [rsp], rdx
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], 0
call fcn.00437220
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
cmp qword [rdx], rcx
ja 0x44c4df
cmp qword [rdx + 8], rcx
ja 0x44c3f6
mov eax, 1
add rsp, 0x78
pop rbp
ret

Function at 0x45a400
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45a4c2
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdi
lea rax, [rsp + 0x68]
call fcn.00451120
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
lea rdx, [rcx + 0x10]
mov rbx, qword [rax]
mov rsi, qword [rax + 8]
mov rax, rdx
mov rcx, rsi
call fcn.00457a60
test bl, bl
je 0x45a4bc
mov qword [rsp + 0x18], rax
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
lea rcx, [0x0045a500]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp], rcx
call fcn.00464820
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0045a400
Function at 0x45d3c0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x45d46f
push rbp
mov rbp, rsp
sub rsp, 0x58
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x68]
mov qword [rsp + 8], 0
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x18], xmm15
movups xmmword [rsp + 0x28], xmm15
movups xmmword [rsp + 0x38], xmm15
movups xmmword [rsp + 0x48], xmm15
lea rsi, [0x0045d4c0]
mov qword [rsp + 0x10], rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdx
mov rdx, r14
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x10]
mov qword [rsp], rax
call fcn.00464820
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 8]
add rsp, 0x58
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.0045d3c0
Function at 0x466740
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x404ce3
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.0040a720
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x404cc0
cmp byte [0x005b482b], 0
je 0x466755
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x463980
jmp 0x404cc0

Function at 0x466760
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40ab81
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x28], rbx
call fcn.0040ac40
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
mov rbx, qword [rsp + 0x28]
xor rbx, rax
xor rbx, qword [0x005b4b00]
movabs rdx, 0xa0761d6478bd642f
xor rbx, rdx
mov rax, rcx
call fcn.0040ac20
mov rbx, rax
movabs rax, 0x1d8e4e27c47d124b
call fcn.0040ac20
add rsp, 0x10
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x40ab20
cmp byte [0x005b482b], 0
je 0x466795
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005b4e20]
aesenc xmm0, xmmword [0x005b4e30]
aesenc xmm0, xmmword [0x005b4e40]
movq rax, xmm0
ret
jmp 0x40ab20

Function at 0x4667a0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40ac01
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x28], rbx
call fcn.0040ac80
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
mov rbx, qword [rsp + 0x28]
xor rbx, rax
xor rbx, qword [0x005b4b00]
movabs rdx, 0xa0761d6478bd642f
xor rbx, rdx
mov rax, rcx
call fcn.0040ac20
mov rbx, rax
movabs rax, 0x1d8e4e27c47d1247
call fcn.0040ac20
add rsp, 0x10
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x40aba0
cmp byte [0x005b482b], 0
je 0x4667d6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005b4e20]
aesenc xmm0, xmmword [0x005b4e30]
aesenc xmm0, xmmword [0x005b4e40]
movq rax, xmm0
ret
jmp 0x40aba0

Function at 0x468420
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x468454
mov rcx, 0x28
jmp 0x46845f
shl rcx, 3
add rcx, 0x1480
mov qword [0x005b4a38], rcx
pop rbp
ret
Function at 0x481400
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4814ca
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.004041a0
xorps xmm15, xmm15
mov r14, qword [0x005b4a38]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x4814af
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x00496060]
xor ebx, ebx
mov rcx, rdx
call fcn.0044cea0
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.00481b40
inc rbx
cmp rcx, rbx
jae 0x48149e
mov edi, 1
lea rsi, [0x00496060]
call fcn.0044cf60
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x004b92c8]
lea rsi, [0x004b8cc0]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00481400
Function at 0x487000
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x487235
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rsp + 0x70], rax
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
xor r8d, r8d
jmp 0x487040
dec rbx
mov r10, rbx
neg r10
sar r10, 0x3f
and r10d, 1
add rax, r10
mov rcx, r9
nop dword [rax + rax]
test rbx, rbx
je 0x48721a
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x46], r8b
mov qword [rsp + 0x50], rbx
movzx r9d, byte [rax]
mov byte [rsp + 0x47], r9b
cmp r9b, 0x20
jbe 0x487176
cmp r9b, 0x22
je 0x487082
cmp r9b, 0x5c
jne 0x48718b
lea r9, [rcx + 1]
nop
jmp 0x487024
mov qword [rsp + 0x48], rcx
mov r8, rcx
shr rcx, 0x3f
lea r9, [rcx + r8]
sar r9, 1
mov rax, rdi
mov rbx, rsi
mov rcx, rdx
mov rdi, r9
call fcn.00486f60
mov rdx, qword [rsp + 0x48]
bt edx, 0
jb 0x48712a
movzx edx, byte [rsp + 0x46]
test dl, dl
je 0x48711b
mov r8, qword [rsp + 0x50]
nop
cmp r8, 1
jle 0x487111
mov r9, qword [rsp + 0x58]
cmp byte [r9 + 1], 0x22
jne 0x487109
inc rbx
cmp rcx, rbx
jae 0x4870fa
mov edi, 1
lea rsi, [0x00495fe0]
call fcn.0044cf60
movzx edx, byte [rsp + 0x46]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov byte [rbx + rax - 1], 0x22
lea rsi, [r8 - 1]
lea r8, [r9 + 1]
jmp 0x487125
mov rsi, r8
mov r8, r9
jmp 0x487125
mov rsi, r8
mov r8, qword [rsp + 0x58]
jmp 0x487125
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
xor edx, 1
jmp 0x487159
inc rbx
cmp rcx, rbx
jae 0x487145
mov edi, 1
lea rsi, [0x00495fe0]
nop
call fcn.0044cf60
mov byte [rbx + rax - 1], 0x22
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
movzx edx, byte [rsp + 0x46]
xor r9d, r9d
mov rdi, rax
mov rax, r8
mov r8d, edx
mov rdx, rcx
mov r10, rbx
mov rbx, rsi
mov rsi, r10
jmp 0x487024
cmp r9b, 9
je 0x487186
nop dword [rax]
cmp r9b, 0x20
jne 0x48718b
test r8b, r8b
je 0x4871e5
mov rax, rdi
mov rbx, rsi
mov rdi, rcx
mov rcx, rdx
call fcn.00486f60
inc rbx
nop
cmp rcx, rbx
jae 0x4871b6
mov edi, 1
lea rsi, [0x00495fe0]
call fcn.0044cf60
movzx r10d, byte [rsp + 0x47]
mov byte [rbx + rax - 1], r10b
mov rdx, rcx
mov rsi, rbx
xor r9d, r9d
mov rdi, rax
movzx r8d, byte [rsp + 0x46]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
nop dword [rax]
jmp 0x487024
mov rax, rdi
mov rbx, rsi
mov rdi, rcx
mov rcx, rdx
call fcn.00486f60
mov rsi, qword [rsp + 0x50]
dec rsi
mov rdx, rsi
neg rdx
sar rdx, 0x3f
and edx, 1
mov r8, qword [rsp + 0x58]
lea rdi, [rdx + r8]
add rsp, 0x60
pop rbp
ret
mov rax, rdi
mov rbx, rsi
mov rdi, rcx
mov rcx, rdx
call fcn.00486f60
xor edi, edi
xor esi, esi
add rsp, 0x60
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
nop
call fcn.00464940
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00487000
Function at 0x14012d50c
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [0x140170608]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov rdi, rdx
mov rsi, rcx
xor edx, edx
lea rcx, [rbp + 0x190]
mov r8d, 0x20a
xor ebx, ebx
call sub.msvcrt.dll_memset
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x226
call sub.msvcrt.dll_memset
mov eax, dword [0x14015aadc]
or r14, 0xffffffffffffffff
mov dword [rsp + 0x50], eax
movzx eax, word [0x14015aae0]
mov word [rsp + 0x54], ax
test rsi, rsi
jne 0x14012d59f
lea r8, str.pwszDrive
mov edx, 0x817
lea rcx, str.base_stor_blbwsbutilwsbvolumeutils.cpp
call fcn.14008388c
test rdi, rdi
jne 0x14012d5bc
lea r8, str.pVolumeInfo___NULL
mov edx, 0x818
lea rcx, str.base_stor_blbwsbutilwsbvolumeutils.cpp
call fcn.14008388c
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
movzx ecx, word [rsi]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
lea eax, [rcx - 0x61]
cmp ax, 0x19
jbe 0x14012d5ed
lea eax, [rcx - 0x41]
cmp ax, 0x19
jbe 0x14012d5ed
lea r8, str._Volume_s
jmp 0x14012d635
mov word [rsp + 0x50], cx
lea rdx, [rbp + 0x190]
lea rcx, [rsp + 0x50]
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
jne 0x14012d627
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14012d764
lea r8, str._GLOBALROOT_s
lea rsi, [rbp + 0x190]
mov r9, rsi
lea rcx, [rsp + 0x60]
mov edx, VarUI4FromDisp
call fcn.14000fcbc
mov r8d, 3
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
lea rcx, [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x14012d6d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov rcx, qword [0x140170048]
lea rax, [0x140170048]
cmp rcx, rax
je 0x14012d764
test byte [rcx + 0x1c], 4
je 0x14012d764
cmp byte [rcx + 0x19], 2
jb 0x14012d764
mov rcx, qword [rcx + 0x10]
lea edx, [r14 + 0x69]
lea r9, [rsp + 0x60]
mov dword [rsp + 0x20], ebx
lea r8, [0x14015ab98]
call fcn.140005c44
jmp 0x14012d764
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x40]
mov r9d, 0x10
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r9d
mov edx, 0x9023c
mov rcx, rax
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x44], 0x60
mov dword [rsp + 0x48], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x14012d764
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov r9d, eax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov rcx, qword [0x140170048]
lea rax, [0x140170048]
cmp rcx, rax
je 0x14012d764
test byte [rcx + 0x1c], 4
je 0x14012d764
cmp byte [rcx + 0x19], 2
jb 0x14012d764
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015ab98]
mov edx, 0x69
call fcn.140004c78
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.140141360
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x14013b21c
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r14
push r15
sub rsp, 0x240
mov rax, qword [0x140170608]
xor rax, rsp
mov qword [rsp + 0x230], rax
xor ebx, ebx
mov dword [0x1401724a8], ebx
mov dword [0x1401724ac], ebx
mov rcx, qword [0x140170048]
lea r14, [0x140170048]
cmp rcx, r14
je 0x14013b281
test byte [rcx + 0x1c], 0x20
je 0x14013b281
cmp byte [rcx + 0x19], 4
jb 0x14013b281
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0xa]
lea r8, [0x14015b9b8]
call fcn.140004c54
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x105
call sub.msvcrt.dll_memset
mov r8d, 0x105
lea rdx, [rsp + 0x20]
lea rcx, str._PROCESSOR_ARCHITECTURE_
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov r15d, 0xc
cmp eax, 0x105
jbe 0x14013b2c2
mov ebx, 0x8007000e
jmp 0x14013b38f
lea rdx, [0x14015b918]
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14013b2e0
mov word [0x140170c60], bx
jmp 0x14013b33c
lea rdx, str.amd64
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14013b2fc
mov eax, 9
jmp 0x14013b316
lea rdx, str.ia64
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14013b31f
mov eax, 6
mov word [0x140170c60], ax
jmp 0x14013b33c
lea rdx, str.ARM64
lea rcx, [rsp + 0x20]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14013b33c
mov word [0x140170c60], r15w
call fcn.1401401d4
test eax, eax
jne 0x14013b388
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov rcx, qword [0x140170048]
cmp rcx, r14
je 0x14013b3ba
test byte [rcx + 0x1c], 0x20
je 0x14013b396
cmp byte [rcx + 0x19], 2
jb 0x14013b396
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015b9b8]
mov edx, 0xb
call fcn.140004c54
jmp 0x14013b38f
or dword [0x1401724a8], 1
mov rcx, qword [0x140170048]
cmp rcx, r14
je 0x14013b3ba
test byte [rcx + 0x1c], 0x20
je 0x14013b3ba
cmp byte [rcx + 0x19], 4
jb 0x14013b3ba
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015b9b8]
mov edx, r15d
call fcn.140004c54
mov eax, ebx
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140141360
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x10]
mov r14, qword [r11 + 0x18]
mov rsp, r11
pop r15
ret