joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140003450
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, rcx
mov rsi, rdx
test rdx, rdx
js 0x140003590
mov rcx, rsi
call fcn.14000c180
mov rbx, rax
test rax, rax
je 0x1400035b8
mov rdx, qword [rax]
test rdx, rdx
jle 0x140003500
test rsi, rsi
js 0x140003514
lea rcx, [rbx + 0x10]
mov r9, rdi
mov r8, rsi
mov edx, 1
call sub.msvcrt.dll_fread
mov rcx, rdi
mov rbp, rax
cmp rsi, rax
je 0x140003530
call sub.msvcrt.dll_ferror
mov rcx, rdi
test eax, eax
jne 0x1400035f9
call sub.msvcrt.dll_fgetc
mov rdx, rdi
mov r12d, eax
mov ecx, eax
call sub.msvcrt.dll_ungetc
test r12d, r12d
jns 0x140003545
cmp rsi, rbp
jle 0x140003581
test rbp, rbp
js 0x1400035e0
mov rdx, rbp
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14000c870
sub rdx, 1
xor ecx, ecx
call fcn.14000daa0
test rsi, rsi
jns 0x14000348e
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d900
jmp 0x14000348e
call sub.msvcrt.dll_fgetc
mov rdx, rdi
mov esi, eax
mov ecx, eax
call sub.msvcrt.dll_ungetc
test esi, esi
js 0x140003581
mov rcx, rdi
call fcn.1400032c0
mov rsi, rax
test rax, rax
je 0x1400035c8
mov rdx, qword [rax]
mov rcx, rbx
call fcn.14000cdd0
lea rdx, [rsi + 0x10]
mov rbx, rax
mov rax, qword [rax]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d900
mov rcx, rsi
call fcn.14000c180
mov rbx, rax
test rax, rax
jne 0x14000347d
mov rdx, 0xffffffffffffffff
jmp 0x140003504
xor edx, edx
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14000cdd0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.14000d900
jmp 0x1400034ea
call fcn.140002c60
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
xor ecx, ecx
call qword [fcn.140068630]
cmp rbx, rax
je 0x140003653
mov rsi, qword [0x140069160]
mov rcx, rbx
call rsi
xor edx, edx
mov r8d, 2
mov rcx, rbx
mov rdi, rax
mov rbp, qword [0x140069168]
call rbp
mov rcx, rbx
call rsi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
mov rsi, rax
call rbp
test rsi, rsi
jg 0x140003668
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.1400032c0
mov rdx, rsi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140003450
Function at 0x140003600
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, rcx
mov rsi, rdx
test rdx, rdx
js 0x140003590
mov rcx, rsi
call fcn.14000c180
mov rbx, rax
test rax, rax
je 0x1400035b8
mov rdx, qword [rax]
test rdx, rdx
jle 0x140003500
test rsi, rsi
js 0x140003514
lea rcx, [rbx + 0x10]
mov r9, rdi
mov r8, rsi
mov edx, 1
call sub.msvcrt.dll_fread
mov rcx, rdi
mov rbp, rax
cmp rsi, rax
je 0x140003530
call sub.msvcrt.dll_ferror
mov rcx, rdi
test eax, eax
jne 0x1400035f9
call sub.msvcrt.dll_fgetc
mov rdx, rdi
mov r12d, eax
mov ecx, eax
call sub.msvcrt.dll_ungetc
test r12d, r12d
jns 0x140003545
cmp rsi, rbp
jle 0x140003581
test rbp, rbp
js 0x1400035e0
mov rdx, rbp
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14000c870
sub rdx, 1
xor ecx, ecx
call fcn.14000daa0
test rsi, rsi
jns 0x14000348e
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d900
jmp 0x14000348e
call sub.msvcrt.dll_fgetc
mov rdx, rdi
mov esi, eax
mov ecx, eax
call sub.msvcrt.dll_ungetc
test esi, esi
js 0x140003581
mov rcx, rdi
call fcn.1400032c0
mov rsi, rax
test rax, rax
je 0x1400035c8
mov rdx, qword [rax]
mov rcx, rbx
call fcn.14000cdd0
lea rdx, [rsi + 0x10]
mov rbx, rax
mov rax, qword [rax]
lea rcx, [rbx + rax + 0x10]
mov rax, qword [rsi]
lea r8, [rax + 1]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi]
add qword [rbx], rax
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call fcn.14000d900
mov rcx, rsi
call fcn.14000c180
mov rbx, rax
test rax, rax
jne 0x14000347d
mov rdx, 0xffffffffffffffff
jmp 0x140003504
xor edx, edx
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14000cdd0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbp
call fcn.14000d900
jmp 0x1400034ea
call fcn.140002c60
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
xor ecx, ecx
call qword [fcn.140068630]
cmp rbx, rax
je 0x140003653
mov rsi, qword [0x140069160]
mov rcx, rbx
call rsi
xor edx, edx
mov r8d, 2
mov rcx, rbx
mov rdi, rax
mov rbp, qword [0x140069168]
call rbp
mov rcx, rbx
call rsi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
mov rsi, rax
call rbp
test rsi, rsi
jg 0x140003668
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.1400032c0
mov rdx, rsi
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140003450
Function at 0x140004030
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x28
xor r8d, r8d
mov rsi, rcx
mov rbx, rdx
test rdx, rdx
je 0x14000404f
mov rcx, rdx
call sub.msvcrt.dll_strlen
mov r8, rax
mov rcx, rbx
mov r9, rsi
mov edx, 1
call sub.msvcrt.dll_fwrite
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp sub.msvcrt.dll_fflush

Function at 0x140004100
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x20
mov ecx, 2
call qword [fcn.140068630]
mov r8d, 0x4b
mov edx, 1
lea rcx, str._GC__cannot_register_thread_local_variable__too_many_thread_local_variables
mov rbx, rax
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rcx, rbx
call sub.msvcrt.dll_fflush
mov ecx, 1
call sub.msvcrt.dll_exit
nop
ret

Function at 0x140012300
Capabilities:
Encode data using xor

Disassembly:
xor edx, edx
test rcx, rcx
je 0x14001235b
mov r9, qword [rcx]
add rcx, 0x10
xor eax, eax
lea r8, [rcx + r9]
test r9, r9
jle 0x14001235b
nop dword [rax]
movzx edx, byte [rcx]
add rcx, 1
add rdx, rax
mov rax, rdx
shl rax, 0xa
add rax, rdx
mov rdx, rax
shr rdx, 6
xor rax, rdx
cmp r8, rcx
jne 0x140012320
lea rdx, [rax + rax*8]
mov rax, rdx
shr rax, 0xb
xor rax, rdx
mov rdx, rax
shl rdx, 0xf
add rdx, rax
mov rax, rdx
ret
Function at 0x140014040
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor ebx, ebx
xor r13d, r13d
mov rdi, rdx
sar rdx, 0x3f
mov rbp, rcx
shr rdx, 0x3e
mov r12, rdi
lea rsi, [rdi - 1]
lea rax, [rdi + rdx]
and eax, 3
sub rax, rdx
sub r12, rax
cmp rdi, 3
jle 0x1400141b0
nop dword [rax]
cmp rdi, rbx
jle 0x140014170
mov eax, dword [rbp + rbx]
add rbx, 4
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, r13d
rol eax, 0xd
lea r13d, [rax + rax*4 - 0x19ab949c]
cmp rbx, r12
jl 0x140014088
mov rax, rdi
xor ebx, ebx
sar rax, 0x3f
shr rax, 0x3e
lea r14, [rdi + rax]
and r14d, 3
sub r14, rax
test r14, r14
jle 0x14001412c
lea rsi, [rdi - 1]
jmp 0x1400140f5
test r15, r15
js 0x140014102
movzx eax, byte [rbp + r15]
shl ebx, 8
or ebx, eax
test r14, r14
je 0x14001411d
sub r14, 1
lea r15, [r12 + r14]
cmp r15, rdi
jl 0x1400140e0
mov rdx, rsi
mov rcx, r15
shl ebx, 8
call fcn.14000daa0
movzx eax, byte [rbp + r15]
or ebx, eax
test r14, r14
jne 0x1400140f5
imul ebx, ebx, 0xcc9e2d51
rol ebx, 0xf
imul ebx, ebx, 0x1b873593
xor r13d, edi
mov eax, r13d
xor eax, ebx
mov r13d, eax
shr r13d, 0x10
xor r13d, eax
imul r13d, r13d, 0x85ebca6b
mov edx, r13d
shr edx, 0xd
xor edx, r13d
imul edx, edx, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
mov rdx, rsi
call fcn.14000daa0
mov eax, dword [rbp + rbx]
add rbx, 4
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, r13d
rol eax, 0xd
lea r13d, [rax + rax*4 - 0x19ab949c]
cmp r12, rbx
jg 0x140014088
jmp 0x1400140bb
xor r12d, r12d
jmp 0x1400140bb
push rbx
sub rsp, 0x20
xor edx, edx
mov rbx, rcx
test rcx, rcx
je 0x1400141db
mov rdx, qword [rcx]
test rdx, rdx
js 0x1400141f0
add rbx, 0x10
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x140014040
lea rax, [rdx - 1]
mov r8, rdx
xor ecx, ecx
mov rdx, rax
call fcn.140010570
mov rdx, qword [rbx]
jmp 0x1400141d7
Function at 0x1400141c0
Capabilities:
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor ebx, ebx
xor r13d, r13d
mov rdi, rdx
sar rdx, 0x3f
mov rbp, rcx
shr rdx, 0x3e
mov r12, rdi
lea rsi, [rdi - 1]
lea rax, [rdi + rdx]
and eax, 3
sub rax, rdx
sub r12, rax
cmp rdi, 3
jle 0x1400141b0
nop dword [rax]
cmp rdi, rbx
jle 0x140014170
mov eax, dword [rbp + rbx]
add rbx, 4
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, r13d
rol eax, 0xd
lea r13d, [rax + rax*4 - 0x19ab949c]
cmp rbx, r12
jl 0x140014088
mov rax, rdi
xor ebx, ebx
sar rax, 0x3f
shr rax, 0x3e
lea r14, [rdi + rax]
and r14d, 3
sub r14, rax
test r14, r14
jle 0x14001412c
lea rsi, [rdi - 1]
jmp 0x1400140f5
test r15, r15
js 0x140014102
movzx eax, byte [rbp + r15]
shl ebx, 8
or ebx, eax
test r14, r14
je 0x14001411d
sub r14, 1
lea r15, [r12 + r14]
cmp r15, rdi
jl 0x1400140e0
mov rdx, rsi
mov rcx, r15
shl ebx, 8
call fcn.14000daa0
movzx eax, byte [rbp + r15]
or ebx, eax
test r14, r14
jne 0x1400140f5
imul ebx, ebx, 0xcc9e2d51
rol ebx, 0xf
imul ebx, ebx, 0x1b873593
xor r13d, edi
mov eax, r13d
xor eax, ebx
mov r13d, eax
shr r13d, 0x10
xor r13d, eax
imul r13d, r13d, 0x85ebca6b
mov edx, r13d
shr edx, 0xd
xor edx, r13d
imul edx, edx, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
mov rdx, rsi
call fcn.14000daa0
mov eax, dword [rbp + rbx]
add rbx, 4
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, r13d
rol eax, 0xd
lea r13d, [rax + rax*4 - 0x19ab949c]
cmp r12, rbx
jg 0x140014088
jmp 0x1400140bb
xor r12d, r12d
jmp 0x1400140bb
push rbx
sub rsp, 0x20
xor edx, edx
mov rbx, rcx
test rcx, rcx
je 0x1400141db
mov rdx, qword [rcx]
test rdx, rdx
js 0x1400141f0
add rbx, 0x10
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x140014040
lea rax, [rdx - 1]
mov r8, rdx
xor ecx, ecx
mov rdx, rax
call fcn.140010570
mov rdx, qword [rbx]
jmp 0x1400141d7

Function at 0x140024810
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
mov rdi, qword [rcx + 8]
mov rbx, rsi
cmp rdi, rsi
jge 0x140024832
lea rcx, [0x14006cd60]
call fcn.140001cb0
sub rdi, rsi
mov r8, rdi
je 0x140024899
mov r9, qword [0x140093140]
mov rcx, qword [0x140093148]
cmp rdi, 0xffffffffffffffff
je 0x1400248a8
mov rax, 0xffffffffffffffff
xor edx, edx
div rdi
lea rax, [rcx + r9]
xor rcx, r9
ror r9, 9
mov rdi, rdx
mov r10, rcx
xor r9, rcx
ror rcx, 0x1c
shl r10, 0xe
xor r9, r10
add rdi, rax
jb 0x14002485a
add r8, 1
xor edx, edx
mov qword [0x140093140], r9
div r8
mov qword [0x140093148], rcx
lea rbx, [rdx + rsi]
mov rax, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov rax, r9
mov rdx, r9
add r9, rcx
xor rax, rcx
ror rdx, 9
lea rbx, [r9 + rsi]
mov r8, rax
xor rdx, rax
ror rax, 0x1c
shl r8, 0xe
mov qword [0x140093148], rax
mov rax, rbx
xor rdx, r8
mov qword [0x140093140], rdx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
Function at 0x1400474b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rsi
push rbx
test rdx, rdx
mov eax, r8d
lea r8, [rdx + 7]
mov r9, rcx
cmovns r8, rdx
mov r10, rdx
xor r11d, r11d
lea rcx, [0x1400713c0]
sar r8, 3
cmp rdx, 7
jle 0x140047580
nop
mov ebx, dword [r9 + r11*8 + 4]
xor eax, dword [r9 + r11*8]
add r11, 1
mov esi, ebx
movzx edx, bl
shr esi, 0x18
mov edx, dword [rcx + rdx*4 + 0xc00]
xor edx, dword [rcx + rsi*4]
movzx esi, al
xor edx, dword [rcx + rsi*4 + 0x1c00]
mov esi, eax
shr esi, 0x18
xor edx, dword [rcx + rsi*4 + 0x1000]
movzx esi, bh
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [rcx + rsi*4 + 0x800]
xor edx, dword [rcx + rbx*4 + 0x400]
movzx ebx, ah
shr eax, 0x10
movzx eax, al
xor edx, dword [rcx + rbx*4 + 0x1800]
xor edx, dword [rcx + rax*4 + 0x1400]
mov eax, edx
cmp r8, r11
jg 0x1400474e0
shl r8, 3
cmp r10, r8
jle 0x140047578
add r8, r9
lea rcx, [0x1400713c0]
add r9, r10
movzx edx, byte [r8]
add r8, 1
xor edx, eax
shr eax, 8
movzx edx, dl
xor eax, dword [rcx + rdx*4]
cmp r9, r8
jne 0x140047560
pop rbx
pop rsi
ret
xor r8d, r8d
jmp 0x14004754e
Function at 0x14005eb20
Capabilities:
Write file on windows

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

Function at 0x14005eb90
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
movsxd rsi, dword [0x140098834]
mov rbx, rcx
test esi, esi
jle 0x14005ecc0
mov rax, qword [0x140098838]
xor r9d, r9d
add rax, 0x18
nop dword [rax]
mov r8, qword [rax]
cmp rbx, r8
jb 0x14005ebdb
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 8]
add r8, rdx
cmp rbx, r8
jb 0x14005ec63
add r9d, 1
add rax, 0x28
cmp r9d, esi
jne 0x14005ebc0
mov rcx, rbx
call fcn.14005f640
mov rdi, rax
test rax, rax
je 0x14005ece2
mov rax, qword [0x140098838]
lea rbx, [rsi + rsi*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rdi
mov dword [rax], 0
call fcn.14005f780
mov edx, dword [rdi + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x140098838]
lea rdx, [rbp - 0x30]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x14005ecc7
mov eax, dword [rbp - 0xc]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x14005ec5c
lea edx, [rax - 0x40]
and edx, 0xffffffbf
jne 0x14005ec70
add dword [0x140098834], 1
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
ret
cmp eax, 2
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x18]
mov r8d, 0x40
mov eax, 4
cmove r8d, eax
add rbx, qword [0x140098838]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14005ec5c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.14005eb20
nop word [rax + rax]
xor esi, esi
jmp 0x14005ebe8
mov rax, qword [0x140098838]
mov edx, dword [rdi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.14005eb20
mov rdx, rbx
lea rcx, str.Address__p_has_no_image_section
call fcn.14005eb20
nop
nop word cs:[rax + rax]
nop dword [rax]
Function at 0x14005f270
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
lea r13, [0x1400988a0]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140098880]
test rbx, rbx
je 0x14005f2d5
mov r12, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, dword [rbx]
call r12
mov rsi, rax
call rdi
test rsi, rsi
je 0x14005f2cc
test eax, eax
jne 0x14005f2cc
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14005f2b0
mov rcx, r13
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]

Function at 0x14005f640
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140078850]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x14005f660
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x14005f668
ret
cmp word [r8 + 0x18], 0x20b
jne 0x14005f660
movzx eax, word [r8 + 0x14]
sub rcx, rdx
lea rax, [r8 + rax + 0x18]
movzx r8d, word [r8 + 6]
test r8w, r8w
je 0x14005f6bd
lea edx, [r8 - 1]
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop word cs:[rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x14005f6b4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x14005f660
add rax, 0x28
cmp rax, r9
jne 0x14005f6a0
xor eax, eax
ret

Function at 0x14005f6c0
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140078850]
xor ecx, ecx
cmp word [rax], 0x5a4d
jne 0x14005f6df
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x14005f6e8
mov eax, ecx
ret
cmp word [rax + 0x18], 0x20b
jne 0x14005f6df
movzx ecx, word [rax + 6]
mov eax, ecx
ret

Function at 0x14005f780
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x140078850]
xor edx, edx
cmp word [rax], 0x5a4d
jne 0x14005f79f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
je 0x14005f7a8
mov rax, rdx
ret
cmp word [rcx + 0x18], 0x20b
cmove rdx, rax
mov rax, rdx
ret
Function at 0x140003090
Capabilities:
Set console window title

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [0x14000f040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
mov rcx, rax
call fcn.140003280
call qword [sym.imp.KERNEL32.dll_AllocConsole]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_AttachConsole]
nop
mov rcx, qword [rsp + 0x58]
call fcn.1400040a0
movzx eax, al
test eax, eax
jne 0x1400030f4
mov rcx, qword [rsp + 0x58]
call fcn.140001bf0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
nop
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x14000bd40]
lea rdx, [0x14000bd44]
lea rcx, [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x14000bd4c]
lea rdx, str.conout_
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x14000bd4c]
lea rdx, str.conout_
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
nop
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140009940
add rsp, 0x48
ret
Function at 0x140004850
Capabilities:
Acquire debug privileges

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xc8
mov rax, qword [0x14000f040]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x38], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0xa0]
mov edx, 0x2000000
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x140004906
lea rdx, [0x14000ba30]
lea rcx, [rsp + 0x60]
call fcn.140002b80
nop
lea rdx, [0x14000ba48]
lea rcx, [rsp + 0x40]
call fcn.140002be0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x40]
mov edx, 0xc
lea rcx, [0x14000f170]
call fcn.1400021a0
nop
lea rcx, [rsp + 0x60]
call fcn.140003340
nop
jmp 0x1400049ff
mov r9d, 1
lea r8, [0x14000ba78]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xd0]
call fcn.140004fb0
test eax, eax
jne 0x140004931
jmp 0x1400049ff
mov r9d, 1
lea r8, str.SeImpersonatePrivilege
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xd0]
call fcn.140004fb0
test eax, eax
jne 0x14000495c
jmp 0x1400049ff
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0xa8]
lea rdx, str.S_1_5_19
mov rcx, qword [rsp + 0xd0]
call fcn.140004110
test eax, eax
jne 0x140004989
jmp 0x1400049ff
lea rdx, str.Impersonating_as_LOCAL_SERVICE.
lea rcx, [rsp + 0x80]
call fcn.140002b80
nop
lea rdx, str.c_impersonate::impersonate_as_local_service
lea rcx, [rsp + 0x50]
call fcn.140002be0
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x50]
mov edx, 9
lea rcx, [0x14000f170]
call fcn.1400021a0
nop
lea rcx, [rsp + 0x80]
call fcn.140003340
nop
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xd0]
call fcn.1400047a0
test eax, eax
jne 0x1400049f7
jmp 0x1400049ff
mov dword [rsp + 0x30], 1
cmp qword [rsp + 0xa0], 0
je 0x140004a19
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140009940
add rsp, 0xc8
ret
Function at 0x140004a40
Capabilities:
Acquire debug privileges

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xd8
mov rax, qword [0x14000f040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x38], 0
lea rax, [0x14000bb38]
mov qword [rsp + 0xb0], rax
lea rax, [0x14000bb60]
mov qword [rsp + 0xb8], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r8, [rsp + 0xa0]
mov edx, 0x2000000
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x140004b14
lea rdx, [0x14000bba0]
lea rcx, [rsp + 0x60]
call fcn.140002b80
nop
lea rdx, [0x14000bbb8]
lea rcx, [rsp + 0x40]
call fcn.140002be0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x40]
mov edx, 0xc
lea rcx, [0x14000f170]
call fcn.1400021a0
nop
lea rcx, [rsp + 0x60]
call fcn.140003340
nop
jmp 0x140004c12
mov r9d, 1
lea r8, str.SeDebugPrivilege
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
call fcn.140004fb0
test eax, eax
jne 0x140004b3f
jmp 0x140004c12
mov r9d, 1
lea r8, str.SeAssignPrimaryTokenPrivilege
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xe0]
call fcn.140004fb0
test eax, eax
jne 0x140004b6a
jmp 0x140004c12
mov dword [rsp + 0x20], 2
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xa8]
lea rdx, str.S_1_5_18
mov rcx, qword [rsp + 0xe0]
call fcn.140004110
test eax, eax
jne 0x140004b9c
jmp 0x140004c12
lea rdx, str.Impersonating_as_SYSTEM.
lea rcx, [rsp + 0x80]
call fcn.140002b80
nop
lea rdx, str.c_impersonate::impersonate_as_system
lea rcx, [rsp + 0x50]
call fcn.140002be0
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x50]
mov edx, 9
lea rcx, [0x14000f170]
call fcn.1400021a0
nop
lea rcx, [rsp + 0x80]
call fcn.140003340
nop
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe0]
call fcn.1400047a0
test eax, eax
jne 0x140004c0a
jmp 0x140004c12
mov dword [rsp + 0x30], 1
cmp qword [rsp + 0xa0], 0
je 0x140004c2c
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140009940
add rsp, 0xd8
ret