joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140059fb0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rcx + 0x38]
mov r14, r8
mov rsi, qword [rcx + 0x30]
mov eax, edx
mov qword [rsp + 0x78], rbx
cmp rsi, rbx
je 0x14005a137
movabs rbp, 0x1ffffffffffffff
nop dword [rax]
cmp dword [rsi + 0x80], eax
jne 0x14005a127
cmp qword [rsi + 0x30], 8
lea rcx, [rsi + 0x18]
jb 0x14005a00a
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005a123
test al, 0x10
jne 0x14005a123
mov rdi, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
cmp rdi, rcx
je 0x14005a043
mov rdx, rsi
mov rcx, rdi
call fcn.140015890
sub qword [r14 + 8], 0xffffffffffffff80
jmp 0x14005a123
mov rax, qword [r14]
mov rbx, rdi
sub rbx, rax
sar rbx, 7
cmp rbx, rbp
je 0x14005a14e
sub rcx, rax
lea r13, [rbx + 1]
sar rcx, 7
mov rax, rbp
mov rdx, rcx
shr rdx, 1
sub rax, rdx
cmp rcx, rax
jbe 0x14005a07a
mov r15, rbp
jmp 0x14005a085
lea r15, [rdx + rcx]
cmp r15, r13
cmovb r15, r13
mov rdx, r15
mov rcx, r14
call fcn.1400600d0
mov r12, rax
shl rbx, 7
add rax, rbx
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140015890
mov rbp, qword [r14 + 8]
mov rbx, qword [r14]
cmp rdi, rbp
jne 0x14005a0da
mov rdi, r12
cmp rbx, rbp
je 0x14005a103
nop
mov rdx, rbx
mov rcx, rdi
call fcn.140015890
sub rdi, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp rbx, rbp
jne 0x14005a0c0
jmp 0x14005a103
mov r9, r12
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call fcn.14005fea0
mov r9, qword [rsp + 0x60]
mov rdx, rdi
mov r8, qword [r14 + 8]
sub r9, 0xffffffffffffff80
mov rcx, r14
call fcn.14005fea0
mov r9, r15
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.14005fc90
mov rbx, qword [rsp + 0x78]
movabs rbp, 0x1ffffffffffffff
mov eax, dword [rsp + 0x68]
add rsi, 0x98
cmp rsi, rbx
jne 0x140059ff0
mov rbx, qword [rsp + 0x70]
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140008190
int3
Function at 0x14005a6f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x30
movups xmm0, xmmword [rdx]
mov rbx, qword [rcx + 0x30]
mov r14, r9
mov rdi, qword [rcx + 0x38]
mov ebp, r8d
movaps xmmword [rsp + 0x20], xmm0
mov rsi, rcx
cmp rbx, rdi
je 0x14005a74e
nop dword [rax + rax]
lea rcx, [rbx + 4]
lea rdx, [rsp + 0x20]
call fcn.140031b00
test al, al
jne 0x14005a74e
add rbx, 0x98
cmp rbx, rdi
jne 0x14005a730
cmp rbx, qword [rsi + 0x38]
jne 0x14005a75b
mov eax, 1
jmp 0x14005a7aa
mov eax, dword [rbx + 0x80]
cmp eax, ebp
jne 0x14005a78e
cmp qword [rbx + 0x30], 8
lea rcx, [rbx + 0x18]
jb 0x14005a773
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
mov edx, 1
shr ecx, 3
and ecx, 2
cmp eax, 0xffffffff
cmove ecx, edx
jmp 0x14005a79d
mov ecx, 1
mov edx, 4
cmp eax, ecx
cmove ecx, edx
test ecx, ecx
jne 0x14005a7a8
mov byte [rsi + 0x28], 1
mov qword [r14], rbx
mov eax, ecx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
Function at 0x14005d970
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x60
mov rbp, r8
mov rdi, rdx
xor ebx, ebx
lea r8, [rax + 0x20]
lea rdx, [rax - 0x48]
mov dword [rax + 0x20], ebx
call fcn.140058ac0
mov rsi, qword [rax]
mov qword [rax], rbx
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14005da13
cmp byte [rbx + 0x28], 0
je 0x14005d9b4
mov rcx, rbx
call fcn.14005f5b0
mov rcx, qword [rbx]
lea rax, [rsp + 0x40]
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov r8d, r9d
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
lea rcx, [rbx + 0x30]
call fcn.140058830
lea rcx, [rbx + 8]
call fcn.1400292c0
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14005da06
call fcn.14003ce90
mov qword [rbx], 0xffffffffffffffff
mov edx, 0x50
mov rcx, rbx
call fcn.1400ce80c
test rsi, rsi
jne 0x14005da2b
lea eax, [rsi + 3]
mov rbx, qword [rsp + 0x88]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
movups xmm0, xmmword [rdi]
mov rdi, qword [rsi + 0x38]
mov rbx, qword [rsi + 0x30]
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x80], r14
cmp rbx, rdi
je 0x14005da6e
nop dword [rax + rax]
lea rcx, [rbx + 4]
lea rdx, [rsp + 0x30]
call fcn.140031b00
test al, al
jne 0x14005da6e
add rbx, 0x98
cmp rbx, rdi
jne 0x14005da50
cmp rbx, qword [rsi + 0x38]
jne 0x14005da7b
mov edi, 1
jmp 0x14005dab0
cmp qword [rbx + 0x30], 8
lea rcx, [rbx + 0x18]
jb 0x14005da89
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14005da9d
mov edi, 1
jmp 0x14005dab0
shr edi, 3
and edi, 2
jne 0x14005dab0
mov rdx, rbx
mov rcx, rbp
call fcn.1400589a0
cmp byte [rsi + 0x28], 0
je 0x14005dabe
mov rcx, rsi
call fcn.14005f5b0
mov rcx, qword [rsi]
lea rax, [rsp + 0x40]
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov r8d, r9d
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
lea rcx, [rsi + 0x30]
call fcn.140058830
lea rcx, [rsi + 8]
call fcn.1400292c0
mov rcx, qword [rsi]
mov r14, qword [rsp + 0x80]
cmp rcx, 0xffffffffffffffff
je 0x14005db18
call fcn.14003ce90
mov qword [rsi], 0xffffffffffffffff
mov edx, 0x50
mov rcx, rsi
call fcn.1400ce80c
mov rbx, qword [rsp + 0x88]
mov eax, edi
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret
Function at 0x14005db40
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rbp, r8
mov rdi, rdx
lea r8, [rdx + 0x10]
lea rdx, [rsp + 0x78]
call fcn.140058ac0
mov rsi, qword [rax]
mov qword [rax], 0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14005dbe1
cmp byte [rbx + 0x28], 0
je 0x14005db82
mov rcx, rbx
call fcn.14005f5b0
mov rcx, qword [rbx]
lea rax, [rsp + 0x30]
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov r8d, r9d
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
lea rcx, [rbx + 0x30]
call fcn.140058830
lea rcx, [rbx + 8]
call fcn.1400292c0
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14005dbd4
call fcn.14003ce90
mov qword [rbx], 0xffffffffffffffff
mov edx, 0x50
mov rcx, rbx
call fcn.1400ce80c
test rsi, rsi
jne 0x14005dbf9
lea eax, [rsi + 3]
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
movups xmm0, xmmword [rdi]
mov rdi, qword [rsi + 0x38]
mov rbx, qword [rsi + 0x30]
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x70], r14
cmp rbx, rdi
je 0x14005dc3e
nop dword [rax]
nop word [rax + rax]
lea rcx, [rbx + 4]
lea rdx, [rsp + 0x30]
call fcn.140031b00
test al, al
jne 0x14005dc3e
add rbx, 0x98
cmp rbx, rdi
jne 0x14005dc20
cmp rbx, qword [rsi + 0x38]
jne 0x14005dc4b
mov edi, 1
jmp 0x14005dc80
cmp qword [rbx + 0x30], 8
lea rcx, [rbx + 0x18]
jb 0x14005dc59
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14005dc6d
mov edi, 1
jmp 0x14005dc80
shr edi, 3
and edi, 2
jne 0x14005dc80
mov rdx, rbx
mov rcx, rbp
call fcn.1400589a0
cmp byte [rsi + 0x28], 0
je 0x14005dc8e
mov rcx, rsi
call fcn.14005f5b0
mov rcx, qword [rsi]
lea rax, [rsp + 0x30]
xorps xmm0, xmm0
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
xor edx, edx
mov r8d, r9d
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
lea rcx, [rsi + 0x30]
call fcn.140058830
lea rcx, [rsi + 8]
call fcn.1400292c0
mov rcx, qword [rsi]
mov r14, qword [rsp + 0x70]
cmp rcx, 0xffffffffffffffff
je 0x14005dce5
call fcn.14003ce90
mov qword [rsi], 0xffffffffffffffff
mov edx, 0x50
mov rcx, rsi
call fcn.1400ce80c
mov rbx, qword [rsp + 0x80]
mov eax, edi
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x140073040
Capabilities:
Resume thread
Suspend thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rax, qword gs:[0x30]
movzx r14d, r9b
movzx ebp, r8b
mov rdi, rdx
mov rsi, rcx
mov r10, qword [rax + 0x48]
cmp qword [rdx + 0x48], r10
jne 0x14007309f
xor ebx, ebx
lea r8, [rsp + 0x68]
mov dword [rdx + 0x70], ebx
lea rcx, [rdi + 0x10]
mov edx, 0x4d0
call fcn.140025050
mov rcx, qword [rdi]
add rcx, qword [rdi + 0x10]
mov byte [rdi + 8], 1
call fcn.1400d2770
mov al, 1
jmp 0x140073105
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov ecx, eax
cmp eax, 0xffffffff
je 0x140073103
xor ebx, ebx
test eax, eax
jne 0x1400730bc
cmp bpl, 1
jne 0x1400730bc
mov ecx, ebx
jmp 0x1400730be
sub ecx, ebp
mov dword [rdi + 0x70], ecx
test r14b, r14b
je 0x140073118
lea r8, [rsp + 0x68]
mov edx, 0x2cc
lea rcx, [rdi + 0x10]
call fcn.140025050
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov byte [rdi + 8], 1
mov dword [rcx + rax], 0x10001f
mov rcx, rsi
mov rdx, qword [rdi]
add rdx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_Wow64GetThreadContext]
test eax, eax
jne 0x140073230
xor al, al
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
mov ecx, 0x800
call fcn.140078260
test al, al
je 0x1400731f2
mov rax, qword gs:[0x58]
mov ecx, dword [0x140134780]
mov edx, 0x80
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x1401344e0], eax
jg 0x140073248
mov rax, qword [0x1401344d8]
test rax, rax
je 0x140073103
lea r9, [rsp + 0x30]
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x38]
mov dword [rsp + 0x30], ebx
mov edx, 0x10005f
mov qword [rsp + 0x20], 0x800
xor ecx, ecx
call rax
test eax, eax
jne 0x140073195
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140073103
mov edx, dword [rsp + 0x30]
lea r8, [rsp + 0x68]
lea rcx, [rdi + 0x10]
call fcn.140025050
mov rcx, qword [rdi + 0x10]
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov qword [rsp + 0x20], 0x800
mov edx, 0x10005f
call qword [0x1401344d8]
test eax, eax
je 0x140073103
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
mov rax, rdx
mov byte [rdi + 8], 1
sub rax, qword [rdi + 0x10]
mov qword [rdi], rax
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
jmp 0x1400730fb
lea r8, [rsp + 0x68]
mov edx, 0x4d0
lea rcx, [rdi + 0x10]
call fcn.140025050
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov byte [rdi + 8], 1
mov dword [rcx + rax + 0x30], 0x10001f
mov rcx, rsi
mov rdx, qword [rdi]
add rdx, qword [rdi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x140073103
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ResumeThread]
test eax, eax
je 0x140073103
mov al, 1
jmp 0x140073105
lea rcx, [0x1401344e0]
call fcn.1400cecc4
cmp dword [0x1401344e0], 0xffffffff
jne 0x140073151
xor r8d, r8d
lea rdx, str.::InitializeContext2
lea rcx, [0x1400d8c38]
call fcn.14003d2a0
lea rcx, [0x1401344e0]
mov qword [0x1401344d8], rax
call fcn.1400cec64
jmp 0x140073151
Function at 0x140076e60
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0x58
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, 0xff
cmp dword [rsp + 0x40], eax
cmovbe eax, dword [rsp + 0x40]
add rsp, 0x58
ret

Function at 0x140076e90
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea rcx, [rsp + 0x30]
mov r13, r8
mov r12, rdx
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, 0xff
cmp dword [rsp + 0x50], ecx
cmovbe ecx, dword [rsp + 0x50]
xor ebp, ebp
movzx r14d, cl
mov ebx, ebp
mov edi, ebp
mov r15d, ebp
test cl, cl
je 0x140076f51
lea rax, [r14 + r14*2]
lea rsi, [rax*8]
cmp rsi, 0x1000
jb 0x140076f24
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x14007707a
call fcn.1400ce7d0
mov rcx, rax
test rax, rax
je 0x140077073
add rax, 0x27
and rax, 0xffffffffffffffe0
mov rbx, rax
mov qword [rax - 8], rcx
lea rdi, [rax + rsi]
jmp 0x140076f41
test rsi, rsi
je 0x140076f3a
mov rcx, rsi
call fcn.1400ce7d0
mov rbx, rax
lea rdi, [rax + rsi]
jmp 0x140076f41
mov rax, rbp
lea rdi, [rsi + rbp]
mov r8, rsi
xor edx, edx
mov rcx, rax
mov r15, rdi
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea eax, [r14 + r14*2]
shl eax, 3
mov r9, rbx
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea ecx, [rdx + 0xb]
call sub.POWRPROF.dll_CallNtPowerInformation
test eax, eax
je 0x140076f79
mov qword [r12], rbp
jmp 0x140076ffd
mov rcx, rbx
cmp rbx, rdi
je 0x140076fba
lea rdx, [rbx + 0x18]
cmp rdx, rdi
je 0x140076fba
nop word [rax + rax]
mov eax, dword [rdx + 8]
cmp dword [rcx + 8], eax
cmovb rcx, rdx
add rdx, 0x18
cmp rdx, rdi
jne 0x140076f90
mov eax, dword [rcx + 8]
mov rdx, rbx
imul rcx, rax, 0xf4240
mov qword [r12], rcx
lea rcx, [rbx + 0x18]
jmp 0x140076fe0
mov eax, dword [rbx + 8]
mov rdx, rbx
imul rcx, rax, 0xf4240
mov qword [r12], rcx
cmp rbx, rdi
je 0x140076ff3
lea rcx, [rbx + 0x18]
cmp rcx, rdi
je 0x140076ff3
nop dword [rax]
mov eax, dword [rcx + 4]
cmp dword [rdx + 4], eax
cmovb rdx, rcx
add rcx, 0x18
cmp rcx, rdi
jne 0x140076fe0
mov eax, dword [rdx + 4]
imul rbp, rax, 0xf4240
mov qword [r13], rbp
test rbx, rbx
je 0x140077055
sub r15, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul r15
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x14007704d
mov rcx, qword [rbx - 8]
add rdx, 0x27
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x140077073
mov rbx, rcx
mov rcx, rbx
call fcn.1400ce80c
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140008170
int3
Function at 0x14007a2e0
Capabilities:
Parse pe header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x180
mov rax, qword [0x1400fe4a8]
xor rax, rsp
mov qword [rsp + 0x170], rax
cmp qword [rdx + 0x10], 8
mov rsi, r8
mov rdi, rdx
mov rbp, rcx
ja 0x14007a3e8
add rcx, 0x20
call fcn.1400d2d00
lea r9, [rsp + 0x20]
mov r8d, 0x40
mov rdx, rax
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a3e8
mov eax, 0x5a4d
cmp word [rsp + 0x20], ax
jne 0x14007a3e8
lea rcx, [rbp + 0x20]
call fcn.1400d2d00
movsxd rbx, dword [rsp + 0x5c]
lea r9, [rsp + 0x60]
add rbx, rax
mov r8d, 0x108
mov rdx, rbx
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a3e8
cmp dword [rsp + 0x60], 0x4550
jne 0x14007a3e8
movzx r14d, word [rsp + 0x74]
add r14, 0x18
add r14, rbx
xor ebx, ebx
cmp bx, word [rsp + 0x66]
jae 0x14007a3e8
nop word [rax + rax]
lea rcx, [rbx + rbx*4]
mov r9, rsi
lea rdx, [r14 + rcx*8]
mov r8d, 0x28
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a3e8
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x14007a3ca
mov rdx, qword [rdi]
mov r8d, 8
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14007a408
movzx eax, word [rsp + 0x66]
inc ebx
cmp ebx, eax
jb 0x14007a3a0
xor al, al
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400ce8e0
add rsp, 0x180
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, 1
jmp 0x14007a3ea

Function at 0x14007a410
Capabilities:
Parse pe header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x170
mov rax, qword [0x1400fe4a8]
xor rax, rsp
mov qword [rsp + 0x160], rax
cmp qword [rdx + 0x10], 8
mov rsi, r8
mov rdi, rdx
mov rbp, rcx
ja 0x14007a518
add rcx, 0x20
call fcn.1400d2d00
lea r9, [rsp + 0x20]
mov r8d, 0x40
mov rdx, rax
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a518
mov eax, 0x5a4d
cmp word [rsp + 0x20], ax
jne 0x14007a518
lea rcx, [rbp + 0x20]
call fcn.1400d2d00
movsxd rbx, dword [rsp + 0x5c]
lea r9, [rsp + 0x60]
add rbx, rax
mov r8d, 0xf8
mov rdx, rbx
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a518
cmp dword [rsp + 0x60], 0x4550
jne 0x14007a518
movzx r14d, word [rsp + 0x74]
add r14, 0x18
add r14, rbx
xor ebx, ebx
cmp bx, word [rsp + 0x66]
jae 0x14007a518
nop word [rax + rax]
lea rcx, [rbx + rbx*4]
mov r9, rsi
lea rdx, [r14 + rcx*8]
mov r8d, 0x28
mov rcx, rbp
call fcn.14007b040
test al, al
je 0x14007a518
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x14007a4fa
mov rdx, qword [rdi]
mov r8d, 8
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14007a538
movzx eax, word [rsp + 0x66]
inc ebx
cmp ebx, eax
jb 0x14007a4d0
xor al, al
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1400ce8e0
add rsp, 0x170
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, 1
jmp 0x14007a51a
Function at 0x14007a950
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x180
mov rax, qword [0x1400fe4a8]
xor rax, rsp
mov qword [rsp + 0x170], rax
cmp byte [rcx + 0x38], 0
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
je 0x14007aa28
add rcx, 0x20
call fcn.1400d2d00
lea r9, [rsp + 0x20]
mov r8d, 0x40
mov rdx, rax
mov rcx, rdi
call fcn.14007b040
test al, al
je 0x14007aac0
mov eax, 0x5a4d
cmp word [rsp + 0x20], ax
jne 0x14007aac0
lea rcx, [rdi + 0x20]
call fcn.1400d2d00
movsxd rdx, dword [rsp + 0x5c]
lea r9, [rsp + 0x60]
add rdx, rax
mov r8d, 0x108
mov rcx, rdi
call fcn.14007b040
test al, al
je 0x14007aac0
cmp dword [rsp + 0x60], 0x4550
jne 0x14007aac0
movzx eax, word [rsp + 0x74]
lea rcx, [rbx*8 + 0x78]
cmp rax, rcx
jb 0x14007aac0
mov eax, dword [rsp + 0xe4]
cmp rax, rbx
jbe 0x14007aac0
mov rax, qword [rsp + rbx*8 + 0xe8]
jmp 0x14007aaaf
add rcx, 0x20
call fcn.1400d2d00
lea r9, [rsp + 0x20]
mov r8d, 0x40
mov rdx, rax
mov rcx, rdi
call fcn.14007b040
test al, al
je 0x14007aac0
mov eax, 0x5a4d
cmp word [rsp + 0x20], ax
jne 0x14007aac0
lea rcx, [rdi + 0x20]
call fcn.1400d2d00
movsxd rdx, dword [rsp + 0x5c]
lea r9, [rsp + 0x60]
add rdx, rax
mov r8d, 0xf8
mov rcx, rdi
call fcn.14007b040
test al, al
je 0x14007aac0
cmp dword [rsp + 0x60], 0x4550
jne 0x14007aac0
movzx eax, word [rsp + 0x74]
lea rcx, [rbx*8 + 0x68]
cmp rax, rcx
jb 0x14007aac0
mov eax, dword [rsp + 0xd4]
cmp rax, rbx
jbe 0x14007aac0
mov rax, qword [rsp + rbx*8 + 0xd8]
mov qword [rsi], rax
test eax, eax
je 0x14007aac0
cmp dword [rsi + 4], 0
je 0x14007aac0
mov al, 1
jmp 0x14007aac2
xor al, al
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400ce8e0
mov rbx, qword [rsp + 0x1a8]
add rsp, 0x180
pop rdi
pop rsi
pop rbp
ret
Function at 0x14007d0b0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x70
mov r15, rdx
mov rbx, 0xffffffffffffffff
lea rdx, [rax + 8]
mov qword [rax + 8], rbx
mov rbp, r9
mov r14, r8
mov rsi, rcx
call fcn.14007c930
xorps xmm0, xmm0
lea rcx, [rsp + 0x58]
xor eax, eax
xor r9d, r9d
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x58], 0x18
mov dword [rsp + 0x68], 1
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
lea rcx, [rsp + 0x58]
xor r8d, r8d
mov qword [0x1400fe0e0], rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
lea rcx, [rsp + 0x58]
xor r8d, r8d
mov qword [0x1400fe0e8], rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
lea rcx, [0x140134548]
mov qword [0x1400fe0f0], rax
call fcn.1400d2e80
lea ecx, [rbx + 0x29]
call fcn.1400ce7d0
mov rdi, rax
test rax, rax
je 0x14007d17b
mov rcx, rax
call fcn.14002b880
jmp 0x14007d17d
xor edi, edi
lea rcx, [0x14007edf0]
mov qword [0x140134528], rdi
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rdx, [0x14007cf70]
mov ecx, 0x16
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
mov ecx, 0xe8
call fcn.1400ce7d0
mov r10, rax
test rax, rax
je 0x14007d220
mov rcx, qword [rsp + 0x90]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov r9, rbp
mov rax, qword [rsp + 0xb8]
mov r8, r14
mov qword [rsp + 0x50], rcx
mov rdx, r15
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rcx
mov rcx, r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x90], rbx
call fcn.14007c430
jmp 0x14007d228
mov rbx, qword [rsp + 0x90]
cmp byte [rsp + 0xd0], 0
je 0x14007d290
mov qword [rsp + 0x28], 0
lea r8, [0x14007c900]
mov r9, rax
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [rsi + 0x20]
mov rdi, rax
test rcx, rcx
je 0x14007d274
cmp rcx, rax
jne 0x14007d26f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
call fcn.14003cea0
mov qword [rsi + 0x20], rdi
test rdi, rdi
jne 0x14007d28b
nop
mov qword [0x140134540], 2
jmp 0x14007d2a8
mov dil, 1
jmp 0x14007d2a8
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x90], rax
call fcn.14007d2e0
movzx edi, al
cmp rbx, 0xffffffffffffffff
je 0x14007d2b6
mov rcx, rbx
call fcn.14003ce90
lea r11, [rsp + 0x70]
movzx eax, dil
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x1400d2e80
Capabilities:
Check os version

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetVersion]
movzx edx, ax
shr dx, 8
cmp al, 6
jb 0x1400d2ee1
jne 0x1400d2ea2
cmp dx, 1
jbe 0x1400d2ee1
mov rax, qword gs:[0x58]
mov ecx, dword [0x140134780]
mov edx, 0x80
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x140134d90], eax
jg 0x1400d2ef2
xor edx, edx
mov r8d, 0x10000000
mov rcx, rbx
call qword [0x140134d88]
test eax, eax
setne al
add rsp, 0x20
pop rbx
ret
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov al, 1
add rsp, 0x20
pop rbx
ret
lea rcx, [0x140134d90]
call fcn.1400cecc4
cmp dword [0x140134d90], 0xffffffff
jne 0x1400d2ec5
mov r8b, 1
lea rdx, str.::InitializeCriticalSectionEx
lea rcx, [0x1400d8c38]
call fcn.14003d2a0
lea rcx, [0x140134d90]
mov qword [0x140134d88], rax
call fcn.1400cec64
jmp 0x1400d2ec5

Function at 0x1401d0000
Capabilities:
Encode data using xor

Disassembly:
push rax
push rcx
push rdx
push rbx
push rbp
push rsi
push rdi
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
push rbp
mov rbp, rsp
sub rsp, 0x20
and rsp, 0xfffffffffffffff0
lea rcx, [0x140143200]
push 0
pop rdi
push rcx