joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140003180
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push rbp
push r14
sub rsp, 0x2a8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x290], rax
xor edx, edx
mov r14, rcx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14000338e
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x2c8], rsi
mov qword [rsp + 0x2d0], rdi
mov qword [rsp + 0x2a0], r15
xor r15d, r15d
nop dword [rax + rax]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x238
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140003365
nop
mov rdi, qword [r14]
mov rsi, qword [r14 + 8]
cmp rdi, rsi
je 0x140003312
xorps xmm0, xmm0
mov qword [rsp + 0x38], r15
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x7c]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], r15w
jne 0x140003230
lea rdx, [rsp + 0x7c]
lea rcx, [rsp + 0x28]
call fcn.140007710
cmp qword [rdi + 0x18], 7
mov rax, rdi
jbe 0x140003256
mov rax, qword [rdi]
mov r10, qword [rsp + 0x40]
lea r8, [rsp + 0x28]
mov r9, qword [rsp + 0x28]
cmp r10, 7
mov rdx, qword [rsp + 0x38]
cmova r8, r9
cmp rdx, qword [rdi + 0x10]
jne 0x140003298
test rdx, rdx
je 0x140003294
sub r8, rax
movzx ecx, word [r8 + rax]
cmp cx, word [rax]
jne 0x140003298
add rax, 2
sub rdx, 1
jne 0x140003280
mov bl, 1
jmp 0x14000329a
xor bl, bl
cmp r10, 7
jbe 0x1400032d5
lea rdx, [r10*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x1400032cd
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000335e
mov rcx, r9
call fcn.140008d1c
test bl, bl
je 0x140003305
mov r8d, dword [rsp + 0x58]
xor edx, edx
lea ecx, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
je 0x140003305
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rdi, 0x20
cmp rdi, rsi
jne 0x140003210
lea rdx, [rsp + 0x50]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140003200
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 1
call fcn.140006b70
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x1400031e0
jmp 0x14000336e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x2d0]
mov rsi, qword [rsp + 0x2c8]
mov rbx, qword [rsp + 0x2c0]
mov r15, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140008bf0
add rsp, 0x2a8
pop r14
pop rbp
ret
Function at 0x1400086ec
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rbx, rdx
lea r8, [rsp + 0x60]
mov edi, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x140008726
xor r9d, r9d
mov dword [rsp + 0x60], r9d
jmp 0x14000872b
mov r9d, dword [rsp + 0x60]
and qword [rsp + 0x30], 0
mov r8d, edi
and dword [rsp + 0x28], 0
xor edx, edx
mov ecx, 0x1300
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x140008774
mov r8, qword [rbx]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x14000b4e0]
cmp byte [rcx + rax], 0
je 0x140008774
dec r8
sub rdx, 1
jne 0x14000875a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x140009864
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400098ae
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400098ae
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1400098ae
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1400098ae
cmp dword [rcx + 0x84], 0xe
jbe 0x1400098ae
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1400098b0
xor al, al
add rsp, 0x28
ret
Function at 0x140001f48
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov qword [0x140089e70], rcx
call fcn.140001378
mov edx, 8
xor ecx, ecx
mov r9, qword [rax + 0xa8]
lea r8d, [rdx + 7]
call r9
call fcn.140001378
mov edx, 0xa
xor ecx, ecx
mov r9, qword [rax + 0xa8]
lea r8d, [rdx - 9]
call r9
call fcn.140001378
mov edx, 0xb
xor ecx, ecx
mov r9, qword [rax + 0xa8]
lea r8d, [rdx - 0xa]
call r9
call fcn.140001378
call qword [rax + 8]
lea rax, vtable.sciter::debug_output.0
mov qword [rbp + 0x67], rax
call fcn.140001378
lea r8, [0x1400014b0]
xor ecx, ecx
lea rdx, [rbp + 0x67]
mov r9, qword [rax + 0x100]
call r9
lea rax, [rbp + 0x67]
lea rcx, [rbp + 0x1f]
mov qword [0x140089e80], rax
call fcn.140001664
cmp qword [rbp + 0x2f], 0
je 0x140002063
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x15], eax
mov dword [rbp - 0x19], 5
call fcn.140001378
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x1f]
mov r8, qword [rax + 0x560]
call r8
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x11]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140002056
cmp dword [rbp - 9], 0x12
je 0x140002063
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x140001ff5
mov ecx, 0x10
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001ff5
xor eax, eax
add rsp, 0xa0
pop rbp
ret
Function at 0x140002328
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x240
mov rax, qword [0x140088040]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rbp, qword [0x140089e70]
xor esi, esi
mov r15, r9
mov r14, r8
mov rbx, rdx
test rdx, rdx
je 0x14000246c
cmp word [rdx], si
je 0x14000246c
lea r8d, [rsi + 4]
mov rcx, rbx
lea rdx, [0x1400218d8]
call fcn.14000b598
test eax, eax
lea rdi, [rbx + 8]
lea r8d, [rsi + 2]
cmovne rdi, rbx
lea rdx, [0x1400218e4]
mov rcx, rdi
call fcn.14000b598
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20a
mov ebx, eax
call fcn.140017500
mov edx, 0x105
lea r8, [rdi + 4]
test ebx, ebx
lea rcx, [rsp + 0x20]
cmovne r8, rdi
lea r9d, [rdx - 1]
call fcn.14000b5c4
lea edx, [rsi + 0x2e]
lea rcx, [rsp + 0x20]
call fcn.1400042fc
mov rbx, rax
test rax, rax
je 0x140002419
mov word [rax], si
add rbx, 2
je 0x140002419
lea rdx, str.HTML
mov rcx, rbx
call fcn.1400093e0
test eax, eax
je 0x140002419
lea rdx, [0x140021900]
mov rcx, rbx
call fcn.1400093e0
mov r8, rbx
test eax, eax
jne 0x14000241f
mov r8d, 0x17
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x14000246c
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14000246c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [r14], rax
test rax, rax
je 0x14000246c
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
mov dword [r15], eax
setne sil
mov al, sil
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400027a0
mov rbx, qword [rsp + 0x270]
add rsp, 0x240
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400031e0
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000322a
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14000322a
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14000322a
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14000322a
cmp dword [rcx + 0x84], 0xe
jbe 0x14000322a
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x14000322c
xor al, al
add rsp, 0x28
ret
Function at 0x1400092f8
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov ebx, ecx
test r8d, r8d
jne 0x140009163
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140009163
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140009163
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140009163
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140009163
cmp dword [rcx + 0x84], 0xe
jbe 0x140009163
cmp dword [rcx + 0xf8], 0
je 0x140009163
mov ecx, ebx
call fcn.140009214
mov byte [rbp + 0x28], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x28]
mov qword [rbp - 8], rax
mov eax, 2
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
lea r9, [rbp - 0x2c]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x30]
call fcn.140008ff0
nop
cmp dword [rbp + 0x20], 0
je 0x1400091b1
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.1400091bc
int3
xor r8d, r8d
xor edx, edx
jmp 0x1400090f4
Function at 0x140010420
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor ebp, ebp
mov rbx, rax
test rax, rax
je 0x1400104a7
mov rsi, rbx
cmp word [rax], bp
je 0x140010466
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140010450
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x14001044c
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.14000d6e4
mov rdi, rax
test rax, rax
je 0x140010494
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1400178c0
mov rbp, rdi
xor ecx, ecx
call fcn.14000d6a8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140017160
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140017188
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140017188
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x1400047d0
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rdx
mov rdx, rcx
mov rcx, rax
jmp 0x14000c350
mov rax, qword gs:[0x30]
mov r10, rcx
mov r8, qword [rax + 0x60]
mov r9, qword [r8 + 0x18]
add r9, 0x20
mov rax, qword [r9]
nop dword [rax + rax]
cmp qword [rax + 0x20], rdx
je 0x14000c38d
test rdx, rdx
je 0x14000c38d
mov rax, qword [rax]
cmp rax, r9
jne 0x14000c370
mov qword [rcx], 0
xor eax, eax
ret
mov rcx, qword [rax + 0x40]
mov qword [r10], rcx
movzx eax, word [rax + 0x38]
shr eax, 1
ret

Function at 0x140005020
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov esi, ecx
movsxd rbx, edx
lea rcx, [rsp + 0x50]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rdi, qword [rsp + 0x50]
lea rcx, [rsp + 0x50]
call sub.KERNEL32.dll_QueryPerformanceFrequency
mov r14d, 0x1e
mov rdx, rbx
imul rdx, qword [rsp + 0x50]
movabs rax, 0x431bde82d7b634db
imul rdx
mov rbp, rdx
sar rbp, 0x12
mov rax, rbp
shr rax, 0x3f
add rbp, rax
add rbp, rdi
cmp esi, r14d
cmovb r14d, esi
xor edi, edi
test r14d, r14d
jle 0x1400050c2
mov ebx, 1
test ebx, ebx
jle 0x1400050a8
mov eax, ebx
nop dword [rax]
pause
sub rax, 1
jne 0x1400050a0
lea rcx, [rsp + 0x50]
call sub.KERNEL32.dll_QueryPerformanceCounter
cmp qword [rsp + 0x50], rbp
jg 0x1400050c2
inc edi
rol ebx, 1
cmp edi, r14d
jl 0x140005093
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
Function at 0x1400050e0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword gs:[0x58]
movzx edi, dl
mov r8d, dword [0x1403167f0]
mov rsi, rcx
mov rbx, qword [rax + r8*8]
mov eax, 0x100
cmp byte [rax + rbx], 0
jne 0x140005126
call fcn.14006aa70
mov r14d, 0x10
add r14, rbx
mov rcx, r14
call fcn.140006e30
xor r12d, r12d
lea rcx, [rsi + 0x10]
test al, al
cmove r14, r12
call fcn.14000ce40
mov qword [0x14030f968], r14
test dil, dil
je 0x140005165
mov rcx, qword [0x14030fc10]
mov rax, qword [rcx]
call qword [rax + 0x1c0]
mov eax, dword [0x14030f960]
or eax, 2
mov dword [0x14030f960], eax
call sub.KERNEL32.dll_FlushProcessWriteBuffers
xor dil, dil
mov r15d, r12d
mov esi, r12d
movabs r13, 0x431bde82d7b634db
nop dword [rax]
mov ebp, esi
mov esi, r12d
call fcn.140005d70
mov rcx, rax
call fcn.140005dd0
mov r8b, 1
lea rcx, [rsp + 0x20]
lea rdx, [rax + 0x10]
call fcn.14000cc00
call fcn.140005d70
mov rcx, rax
call fcn.140005dd0
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
nop dword [rax + rax]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140005205
mov rax, qword [rbx + 0x58]
mov qword [rsp + 0x30], rax
cmp rbx, r14
je 0x1400051d0
mov rcx, rbx
call fcn.140006570
test al, al
jne 0x1400051d0
inc esi
test dil, dil
jne 0x1400051d0
mov rcx, rbx
call fcn.140006b10
jmp 0x1400051d0
lea rcx, [rsp + 0x20]
call fcn.14000ce20
test esi, esi
je 0x1400052c0
cmp esi, ebp
jl 0x140005247
test dil, dil
je 0x140005247
mov edx, 0x64
mov ecx, r15d
call fcn.140005020
inc r15d
xor dil, dil
test r15b, 0x7f
jne 0x140005190
call sub.KERNEL32.dll_SwitchToThread
jmp 0x140005190
lea rcx, [rsp + 0x70]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rbx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call sub.KERNEL32.dll_QueryPerformanceFrequency
mov rax, qword [rsp + 0x70]
mov edi, r12d
lea rcx, [rax + rax*4]
mov rax, r13
imul rcx
mov rbp, rdx
sar rbp, 0x12
mov rax, rbp
shr rax, 0x3f
add rbp, rax
add rbp, rbx
mov ebx, 1
nop dword [rax + rax]
test ebx, ebx
jle 0x14000529e
mov eax, ebx
pause
sub rax, 1
jne 0x140005296
lea rcx, [rsp + 0x70]
call sub.KERNEL32.dll_QueryPerformanceCounter
cmp qword [rsp + 0x70], rbp
jg 0x1400052b8
inc edi
rol ebx, 1
cmp edi, 0x1e
jl 0x140005290
mov dil, 1
jmp 0x140005190
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140005720
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
and rsp, 0xfffffffffffffff0
xor r8, r8
push r8
push rax
pushfq
push r8
push rdx
sub rsp, 0xa8
push r8
push r15
push r14
push r13
push r12
push rbx
push r8
push rsi
push rdi
push rbp
push rax
push rdx
sub rsp, 0x280
movdqa xmmword [rsp + 0x2e0], xmm6
movdqa xmmword [rsp + 0x2f0], xmm7
movdqa xmmword [rsp + 0x300], xmm8
movdqa xmmword [rsp + 0x310], xmm9
movdqa xmmword [rsp + 0x320], xmm10
movdqa xmmword [rsp + 0x330], xmm11
movdqa xmmword [rsp + 0x340], xmm12
movdqa xmmword [rsp + 0x350], xmm13
movdqa xmmword [rsp + 0x360], xmm14
movdqa xmmword [rsp + 0x370], xmm15
mov eax, dword [0x1403167f0]
mov rbx, qword gs:[0x58]
mov rbx, qword [rbx + rax*8]
mov eax, 0x10
add rax, rbx
lea rdx, [rsp + 0x20]
xor r8, r8
mov qword [rdx + 0x10], r8
mov byte [rdx + 0x19], 1
mov dword [rdx + 0x1c], 0xffffffff
mov byte [rdx + 0x18], 2
mov r8, qword [rax + 0x80]
mov qword [rdx], r8
mov qword [rax + 0x80], rdx
lea r8, [rsp + 0x280]
mov qword [rdx + 8], r8
call fcn.14012f610
int3
push r15
push r14
push r13
push r12
push rbx
push rsi
push rdi
push rbp
sub rsp, 0xd8
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmmword [rsp + 0x90], xmm13
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0xb0], xmm15
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x138], r9
mov eax, dword [0x1403167f0]
mov rbx, qword gs:[0x58]
mov rbx, qword [rbx + rax*8]
mov eax, 0x10
add rax, rbx
mov qword [rsp + 0xc0], rax
cmp rcx, qword [rax + 0x88]
sete byte [rsp + 0xd0]
lock and dword [rax + 0x38], 0xffffffef
mov rax, qword [r8 + 0x18]
mov rbx, qword [rax]
mov rax, qword [r8 + 0x20]
mov rbp, qword [rax]
mov rax, qword [r8 + 0x28]
mov rsi, qword [rax]
mov rax, qword [r8 + 0x30]
mov rdi, qword [rax]
mov rax, qword [r8 + 0x58]
mov r12, qword [rax]
mov rax, qword [r8 + 0x60]
mov r13, qword [rax]
mov rax, qword [r8 + 0x68]
mov r14, qword [rax]
mov rax, qword [r8 + 0x70]
mov r15, qword [rax]
movdqa xmm6, xmmword [r8 + 0x90]
movdqa xmm7, xmmword [r8 + 0xa0]
movdqa xmm8, xmmword [r8 + 0xb0]
movdqa xmm9, xmmword [r8 + 0xc0]
movdqa xmm10, xmmword [r8 + 0xd0]
movdqa xmm11, xmmword [r8 + 0xe0]
movdqa xmm12, xmmword [r8 + 0xf0]
movdqa xmm13, xmmword [r8 + 0x100]
movdqa xmm14, xmmword [r8 + 0x110]
movdqa xmm15, xmmword [r8 + 0x120]
mov rcx, qword [r8 + 0x78]
mov rdx, qword [rsp + 0x120]
call qword [rsp + 0x128]
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rdx + 0x70]
cmp rcx, 0
je 0x1400058b0
mov r9, qword [rdx + 0x68]
mov qword [r9], rcx
mov qword [rdx + 0x68], 0
mov qword [rdx + 0x70], 0
mov rcx, qword [rsp + 0x138]
mov r8, qword [r8 + 0x78]
xor r9d, r9d
mov rcx, qword [rcx]
cmp rcx, r9
je 0x1400058cc
cmp rcx, r8
jl 0x1400058bf
mov qword [rdx + 0x80], rcx
test dword [0x14030f960], 1
je 0x1400058fb
cmp byte [rsp + 0xd0], 0
je 0x1400058fb
mov rcx, 0x43
mov rdx, rax
mov rsp, r8
jmp 0x140005420
mov rsp, r8
jmp rax
Function at 0x140005900
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rbx
push rsi
push rdi
push rbp
sub rsp, 0xc8
movdqa xmmword [rsp + 0x20], xmm6
movdqa xmmword [rsp + 0x30], xmm7
movdqa xmmword [rsp + 0x40], xmm8
movdqa xmmword [rsp + 0x50], xmm9
movdqa xmmword [rsp + 0x60], xmm10
movdqa xmmword [rsp + 0x70], xmm11
movdqa xmmword [rsp + 0x80], xmm12
movdqa xmmword [rsp + 0x90], xmm13
movdqa xmmword [rsp + 0xa0], xmm14
movdqa xmmword [rsp + 0xb0], xmm15
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
mov eax, dword [0x1403167f0]
mov rbx, qword gs:[0x58]
mov rbx, qword [rbx + rax*8]
mov eax, 0x10
add rax, rbx
mov qword [rsp + 0xc0], rax
lock and dword [rax + 0x38], 0xffffffef
mov rax, qword [rdx + 0x18]
mov rbx, qword [rax]
mov rax, qword [rdx + 0x20]
mov rbp, qword [rax]
mov rax, qword [rdx + 0x28]
mov rsi, qword [rax]
mov rax, qword [rdx + 0x30]
mov rdi, qword [rax]
mov rax, qword [rdx + 0x58]
mov r12, qword [rax]
mov rax, qword [rdx + 0x60]
mov r13, qword [rax]
mov rax, qword [rdx + 0x68]
mov r14, qword [rax]
mov rax, qword [rdx + 0x70]
mov r15, qword [rax]
movdqa xmm6, xmmword [rdx + 0x90]
movdqa xmm7, xmmword [rdx + 0xa0]
movdqa xmm8, xmmword [rdx + 0xb0]
movdqa xmm9, xmmword [rdx + 0xc0]
movdqa xmm10, xmmword [rdx + 0xd0]
movdqa xmm11, xmmword [rdx + 0xe0]
movdqa xmm12, xmmword [rdx + 0xf0]
movdqa xmm13, xmmword [rdx + 0x100]
movdqa xmm14, xmmword [rdx + 0x110]
movdqa xmm15, xmmword [rdx + 0x120]
mov rcx, qword [rdx + 0x78]
call qword [rsp + pe_nt_image_headers64]
mov rdx, qword [rsp + 0x118]
mov rax, qword [rdx + 0x18]
mov qword [rax], rbx
mov rax, qword [rdx + 0x20]
mov qword [rax], rbp
mov rax, qword [rdx + 0x28]
mov qword [rax], rsi
mov rax, qword [rdx + 0x30]
mov qword [rax], rdi
mov rax, qword [rdx + 0x58]
mov qword [rax], r12
mov rax, qword [rdx + 0x60]
mov qword [rax], r13
mov rax, qword [rdx + 0x68]
mov qword [rax], r14
mov rax, qword [rdx + 0x70]
mov qword [rax], r15
movdqa xmmword [rdx + 0x90], xmm6
movdqa xmmword [rdx + 0xa0], xmm7
movdqa xmmword [rdx + 0xb0], xmm8
movdqa xmmword [rdx + 0xc0], xmm9
movdqa xmmword [rdx + 0xd0], xmm10
movdqa xmmword [rdx + 0xe0], xmm11
movdqa xmmword [rdx + 0xf0], xmm12
movdqa xmmword [rdx + 0x100], xmm13
movdqa xmmword [rdx + 0x110], xmm14
movdqa xmmword [rdx + 0x120], xmm15
mov rax, qword [rsp + 0xc0]
lock or dword [rax + 0x38], 0x10
movdqa xmm6, xmmword [rsp + 0x20]
movdqa xmm7, xmmword [rsp + 0x30]
movdqa xmm8, xmmword [rsp + 0x40]
movdqa xmm9, xmmword [rsp + 0x50]
movdqa xmm10, xmmword [rsp + 0x60]
movdqa xmm11, xmmword [rsp + 0x70]
movdqa xmm12, xmmword [rsp + 0x80]
movdqa xmm13, xmmword [rsp + 0x90]
movdqa xmm14, xmmword [rsp + 0xa0]
movdqa xmm15, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbp
pop rdi
pop rsi
pop rbx
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x14000c750
Capabilities:
Resume thread
Suspend thread

Disassembly:
cmp qword [rcx + 0x60], 0xffffffffffffffff
je 0x140006b2d
mov eax, dword [rcx + 0x38]
shr eax, 7
test al, 1
jne 0x140006b2d
mov rdx, rcx
mov rcx, qword [rcx + 0x60]
jmp 0x14000c750
ret
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x500
mov rax, qword [0x140308240]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov rdi, rdx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
je 0x14000c7c0
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x50], 0x40100003
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x14000c7b7
mov eax, dword [rsp + 0x50]
test eax, eax
jns 0x14000c7b7
test eax, 0x18000000
jne 0x14000c7b7
mov rdx, rdi
lea rcx, [rsp + 0x20]
call qword [0x14030fd50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.14006ab30
mov rbx, qword [rsp + 0x520]
add rsp, 0x500
pop rdi
ret

Function at 0x14000c9a0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rdi, rcx
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rcx + rbx], 0
jne 0x14000c9b4
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret

Function at 0x14000ca40
Capabilities:
Create thread

Disassembly:
sub rsp, 0x38
xor eax, eax
mov r9, rdx
mov r8, rcx
mov qword [rsp + 0x28], rax
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x14000ca69
add rsp, 0x38
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
add rsp, 0x38
ret

Function at 0x14000ca80
Capabilities:
Create thread
Resume thread

Disassembly:
push rbx
sub rsp, 0x30
mov r9, rdx
mov qword [rsp + 0x28], 0
mov r8, rcx
mov dword [rsp + 0x20], 4
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
jne 0x14000cab5
add rsp, 0x30
pop rbx
ret
mov edx, 2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
add rsp, 0x30
pop rbx
ret