joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140039df0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
lea r14, [rcx + 0x18]
cmp qword [r14], 7
mov rdi, rcx
mov dword [rsp + 0x60], r15d
jbe 0x140039e21
mov rcx, qword [rcx]
lea rsi, [rdi + 0x18]
jmp 0x140039e24
mov rsi, r14
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 2
xor r8d, r8d
mov edx, 0x10000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x140039ea5
mov rdx, qword [r14]
cmp rdx, 7
jbe 0x140039e99
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140039e91
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140039f9b
mov rcx, r8
call fcn.140040ebc
mov r14, rsi
mov qword [r14], 7
jmp 0x140039f7d
cmp rbp, 0xffffffffffffffff
jne 0x140039efb
mov rdx, qword [r14]
cmp rdx, 7
jbe 0x140039eed
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140039ee8
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140039f9b
mov rcx, r8
lea rsi, [rdi + 0x18]
call fcn.140040ebc
mov qword [rsi], 7
xor al, al
jmp 0x140039f7f
lea r9, [rsp + 0x60]
mov qword [rsp + 0x68], rbx
mov r8d, 0x21a00
mov qword [rsp + 0x20], r15
lea rdx, [0x1400b6ec0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbp
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [r14]
test bl, bl
mov rbx, qword [rsp + 0x68]
je 0x140039eae
cmp rdx, 7
jbe 0x140039f76
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140039f71
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140039f9b
mov rcx, r8
lea rsi, [rdi + 0x18]
call fcn.140040ebc
mov qword [rsi], 7
mov al, 1
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov word [rdi], r15w
mov qword [rdi + 0x10], r15
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14003a240
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0x68
xor r8d, r8d
mov dword [rax - 0x28], 0x463c4603
mov dword [rax - 0x24], 0x463e464f
mov edx, 0x465f
mov dword [rax - 0x20], 0x46234635
mov dword [rax - 0x1c], 0x4639462e
mov dword [rax - 0x18], 0x46584620
mov dword [rax - 0x14], 0x465b4650
mov dword [rax - 0x10], 0x4623
mov byte [rax - 0xc], 1
mov eax, r8d
nop word [rax + rax]
lea ecx, [rdx + rax]
xor word [rsp + rax*2 + 0x40], cx
inc rax
cmp rax, 0xd
jb 0x14003a290
mov qword [rsp + 0x30], r8
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov byte [rsp + 0x5c], r8b
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1400d9688], rax
test rax, rax
je 0x14003a2e7
cmp rax, 0xffffffffffffffff
setne al
add rsp, 0x68
ret
add rsp, 0x68
ret

Function at 0x14003a2f0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x260
xor edx, edx
mov rdi, rcx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x14003a354
nop dword [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x4c]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov rcx, rbx
test eax, eax
je 0x14003a374
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x14003a330
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x1400d9680]
mov rbx, qword [rsp + 0x270]
add rsp, 0x260
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x270]
mov dword [0x1400d9680], eax
add rsp, 0x260
pop rdi
ret

Function at 0x14003a3a0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x70
mov rsi, rcx
mov ebx, r8d
mov rcx, qword [0x1400d9788]
mov rdi, rdx
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003a3d3
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov eax, dword [0x1400d9680]
lea r8, [rsp + 0x40]
xor ecx, ecx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x38], rcx
mov edx, 0x3b2c22c
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
lea r9d, [rcx + 0x28]
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x61], ecx
mov word [rsp + 0x65], cx
mov byte [rsp + 0x67], cl
mov byte [rsp + 0x60], cl
mov rcx, qword [0x1400d9688]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x40], eax
call qword [0x1400d9828]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x14003b1e0
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r8
push rbp
lea rbp, [rax - 0xf8]
sub rsp, 0x1f0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rbx, r8
mov rsi, rcx
lea eax, [rdx + rdx*2]
shl eax, 4
movsxd rdx, eax
add rdx, qword [r8 + 0x10]
lea rcx, [rbp - 0x50]
call fcn.14003f6a0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x70], xmm0
mov rdi, qword [rbx + 8]
add rdi, 0x250
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movups xmmword [rbp], xmm1
movups xmmword [rbp + 0x10], xmm0
mov rcx, qword [0x1400d9788]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003b280
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x61], ecx
mov word [rsp + 0x65], cx
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x48], rdi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x30
mov eax, dword [0x1400d9680]
mov dword [rsp + 0x40], eax
mov byte [rsp + 0x60], cl
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
lea r9d, [rcx + 0x28]
lea r8, [rsp + 0x40]
mov edx, 0x3b2c22c
mov rcx, qword [0x1400d9688]
call qword [0x1400d9828]
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rsp + 0x60], xmm0
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.14003a870
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.14003a870
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp - 0x40], xmm7
movaps xmmword [rbp - 0x30], xmm8
movaps xmmword [rbp - 0x20], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x60], xmm1
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x70]
call fcn.14003a9f0
movups xmm1, xmmword [rax + 0x30]
movss dword [rsi], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [rsi + 4], xmm0
shufps xmm1, xmm1, 0xaa
movss dword [rsi + 8], xmm1
mov rcx, rbx
call fcn.14003ae00
mov rax, rsi
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rbp
ret
Function at 0x14003e9c0
Capabilities:
Execute command
Log keystrokes via polling
Set console window title

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x28
lea rcx, str._Ceylin_VALORANT
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14003a240
movzx eax, al
test eax, eax
je 0x14003ea01
jmp 0x14003ea11
call fcn.140039fb0
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [0x1400adf90]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
lea rdx, str._n_Lobide_F1_Tusuna_Basiniz..
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14003f2d0
xor eax, eax
cmp eax, 1
je 0x14003ea4c
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14003ea4a
jmp 0x14003ea4c
jmp 0x14003ea31
lea rcx, str.VALORANT_Win64_Shipping.exe
call fcn.14003a2f0
cmp dword [0x1400d9680], 0
je 0x14003ea71
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.14003e490
xor eax, eax
add rsp, 0x28
ret

Function at 0x14003f4a0
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x70
mov rbx, rcx
mov dword [rsp + 0x88], 0
mov rcx, qword [0x1400d9788]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f4cf
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x40]
mov dword [rsp + 0x28], ecx
mov edx, 0x3b2c22c
mov qword [rsp + 0x20], rcx
lea r9d, [rcx + 0x28]
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x61], ecx
mov word [rsp + 0x65], cx
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x50], rax
mov eax, dword [0x1400d9680]
mov byte [rsp + 0x60], cl
mov rcx, qword [0x1400d9688]
mov qword [rsp + 0x58], 4
mov dword [rsp + 0x40], eax
call qword [0x1400d9828]
movss xmm0, dword [rsp + 0x88]
add rsp, 0x70
pop rbx
ret
Function at 0x14003f550
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x70
mov rbx, rcx
mov dword [rsp + 0x88], 0
mov rcx, qword [0x1400d9788]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f57f
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x40]
mov dword [rsp + 0x28], ecx
mov edx, 0x3b2c22c
mov qword [rsp + 0x20], rcx
lea r9d, [rcx + 0x28]
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x61], ecx
mov word [rsp + 0x65], cx
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x50], rax
mov eax, dword [0x1400d9680]
mov byte [rsp + 0x60], cl
mov rcx, qword [0x1400d9688]
mov qword [rsp + 0x58], 4
mov dword [rsp + 0x40], eax
call qword [0x1400d9828]
movss xmm0, dword [rsp + 0x88]
xor eax, eax
movss xmm2, dword [0x1400ae258]
movaps xmm1, xmm0
comiss xmm1, xmm2
jb 0x14003f61a
subss xmm1, xmm2
comiss xmm1, xmm2
jae 0x14003f61a
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttss2si rdx, xmm1
movabs r8, 0xffffff8000000000
movabs r9, 0xffffff7fffffffff
add rdx, rax
movabs rax, 0xffffffff00000000
mov rcx, rdx
and rcx, rax
lea rax, [rcx + r8]
test r9, rax
jne 0x14003f690
mov rax, rdx
add rcx, r8
and eax, 0xffffff
xorps xmm0, xmm0
add rax, qword [0x1400d9758]
test r9, rcx
cmove rdx, rax
test rdx, rdx
js 0x14003f67b
cvtsi2ss xmm0, rdx
add rsp, 0x70
pop rbx
ret
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
add rsp, 0x70
pop rbx
ret

Function at 0x14003f6a0
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0xa0
xorps xmm0, xmm0
mov rbx, rcx
mov rcx, qword [0x1400d9788]
xorps xmm1, xmm1
movups xmmword [rax - 0x40], xmm0
mov rdi, rdx
movups xmmword [rax - 0x30], xmm1
movups xmmword [rax - 0x20], xmm0
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f6e2
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rcx
lea r8, [rsp + 0x40]
mov dword [rsp + 0x28], ecx
mov edx, 0x3b2c22c
mov qword [rsp + 0x20], rcx
lea r9d, [rcx + 0x28]
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x61], ecx
mov word [rsp + 0x65], cx
mov byte [rsp + 0x67], cl
mov qword [rsp + 0x50], rax
mov eax, dword [0x1400d9680]
mov byte [rsp + 0x60], cl
mov rcx, qword [0x1400d9688]
mov qword [rsp + 0x58], 0x30
mov dword [rsp + 0x40], eax
call qword [0x1400d9828]
movups xmm0, xmmword [rsp + 0x68]
mov rax, rbx
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx + 0x20], xmm0
mov rbx, qword [rsp + 0xb0]
add rsp, 0xa0
pop rdi
ret
Function at 0x14003f780
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rbx, rcx
xor edi, edi
mov rcx, qword [0x1400d9788]
mov qword [rsp + 0x88], rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f7b2
lea ecx, [rdi - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x1400d9688]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r9d, 0x28
mov eax, dword [0x1400d9680]
mov edx, 0x3b2c22c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x61], edi
mov word [rsp + 0x65], di
mov byte [rsp + 0x67], dil
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], 8
mov byte [rsp + 0x60], dil
mov qword [rsp + 0x20], rdi
call qword [0x1400d9828]
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret

Function at 0x14003f840
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rbx, rcx
xor edi, edi
mov rcx, qword [0x1400d9788]
mov qword [rsp + 0x88], rdi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f872
lea ecx, [rdi - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x1400d9688]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r9d, 0x28
mov eax, dword [0x1400d9680]
mov edx, 0x3b2c22c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x61], edi
mov word [rsp + 0x65], di
mov byte [rsp + 0x67], dil
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], 8
mov byte [rsp + 0x60], dil
mov qword [rsp + 0x20], rdi
call qword [0x1400d9828]
mov r8, qword [rsp + 0x88]
movabs rax, 0xffffffff00000000
mov rcx, r8
movabs rdx, 0xffffff8000000000
and rcx, rax
movabs r9, 0xffffff7fffffffff
lea rax, [rcx + rdx]
test r9, rax
jne 0x14003f92d
add rdx, rcx
mov rcx, r8
and ecx, 0xffffff
add rcx, qword [0x1400d9758]
test r9, rdx
cmove r8, rcx
mov rbx, qword [rsp + 0x80]
mov rax, r8
add rsp, 0x70
pop rdi
ret
Function at 0x14003f940
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rbx, rcx
xor edi, edi
mov rcx, qword [0x1400d9788]
mov dword [rsp + 0x88], edi
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14003f971
lea ecx, [rdi - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x1400d9688]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x38], rdi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r9d, 0x28
mov eax, dword [0x1400d9680]
mov edx, 0x3b2c22c
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x61], edi
mov word [rsp + 0x65], di
mov byte [rsp + 0x67], dil
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x58], 4
mov byte [rsp + 0x60], dil
mov qword [rsp + 0x20], rdi
call qword [0x1400d9828]
movsxd rcx, dword [rsp + 0x88]
movabs rax, 0xffffffff00000000
mov r8, rcx
movabs r9, 0xffffff8000000000
and r8, rax
movabs r10, 0xffffff7fffffffff
mov rdx, rcx
lea rax, [r8 + r9]
test r10, rax
jne 0x14003fa32
mov rax, rdx
lea rcx, [r8 + r9]
and eax, 0xffffff
add rax, qword [0x1400d9758]
test r10, rcx
cmove rdx, rax
mov rcx, rdx
mov rbx, qword [rsp + 0x80]
mov eax, ecx
add rsp, 0x70
pop rdi
ret

Function at 0x14004152c
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140041576
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140041576
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140041576
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140041576
cmp dword [rcx + 0x84], 0xe
jbe 0x140041576
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140041578
xor al, al
add rsp, 0x28
ret
Function at 0x2fc4ceb70
Capabilities:
Write file on windows

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

Function at 0x2fc4cf572
Capabilities:
Get thread local storage value

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov eax, dword [0x2fc4f2108]
test eax, eax
je 0x2fc4cf60a
lea rax, [0x2fc4f20e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call rax
mov rax, qword [0x2fc4f2110]
mov qword [rbp - 8], rax
jmp 0x2fc4cf5ee
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
test eax, eax
jne 0x2fc4cf5e2
cmp qword [rbp - 0x10], 0
je 0x2fc4cf5e2
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call rdx
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x10]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x2fc4cf5a8
lea rax, [0x2fc4f20e0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call rax
jmp 0x2fc4cf60b
nop
add rsp, 0x30
pop rbp
ret

Function at 0x2fc4cf710
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x2fc4cf738
mov eax, 0
jmp 0x2fc4cf786
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x2fc4cf761
mov eax, 0
jmp 0x2fc4cf786
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
cmp ax, 0x20b
je 0x2fc4cf781
mov eax, 0
jmp 0x2fc4cf786
mov eax, 1
add rsp, 0x20
pop rbp
ret
Function at 0x2fc4cf78c
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x10]
add rax, rdx
mov qword [rbp - 0x18], rax
mov dword [rbp - 0xc], 0
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp - 0x18]
add rax, rdx
add rax, 0x18
mov qword [rbp - 8], rax
jmp 0x2fc4cf80a
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0xc]
mov eax, eax
cmp qword [rbp + 0x18], rax
jb 0x2fc4cf801
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp - 8]
mov eax, dword [rax + 8]
add eax, edx
mov eax, eax
cmp qword [rbp + 0x18], rax
jae 0x2fc4cf801
mov rax, qword [rbp - 8]
jmp 0x2fc4cf81f
add dword [rbp - 0xc], 1
add qword [rbp - 8], 0x28
mov rax, qword [rbp - 0x18]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp - 0xc], eax
jb 0x2fc4cf7d4
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x14068e498
Capabilities:
Decompress data using aplib

Disassembly:
call 0x14068e61f
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 0x14068e4c9
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14068e4af
add dl, dl
jne 0x14068e4d6
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14068e536
xor eax, eax
add dl, dl
jne 0x14068e4e5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x14068e5ed
add dl, dl
jne 0x14068e4f6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14068e503
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14068e510
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14068e51d
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x14068e52a
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x14068e4be
mov eax, 1
add dl, dl
jne 0x14068e546
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x14068e553
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14068e53b
sub eax, ebx
mov ebx, 1
jne 0x14068e58c
mov ecx, 1
add dl, dl
jne 0x14068e56e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14068e57b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14068e563
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14068e4be
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x14068e5a8
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x14068e5b5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x14068e59d
cmp eax, 0x7d00
jae 0x14068e5db
cmp eax, 0x500
jb 0x14068e5d6
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14068e4be
cmp eax, 0x7f
ja 0x14068e5de
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x14068e4be
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x14068e612
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 0x14068e4be
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x18000c0b0
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x40
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
xor esi, esi
mov rbx, rax
test rax, rax
jne 0x18000c0e0
xor eax, eax
jmp 0x18000c1a3
mov rbp, rbx
cmp word [rax], si
je 0x18000c105
or rax, 0xffffffffffffffff
inc rax
cmp word [rbp + rax*2], si
jne 0x18000c0ec
lea rbp, [rbp + rax*2]
add rbp, 2
cmp word [rbp], si
jne 0x18000c0e8
mov qword [rsp + 0x38], rsi
sub rbp, rbx
mov qword [rsp + 0x30], rsi
add rbp, 2
sar rbp, 1
mov r8, rbx
mov r9d, ebp
mov dword [rsp + 0x28], esi
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call fcn.18000bfd0
movsxd r14, eax
test eax, eax
jne 0x18000c143
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
jmp 0x18000c0d9
mov rcx, r14
call fcn.18000a568
mov rdi, rax
test rax, rax
jne 0x18000c15c
xor ecx, ecx
call fcn.18000a5c8
jmp 0x18000c138
mov qword [rsp + 0x38], rsi
mov r9d, ebp
mov qword [rsp + 0x30], rsi
mov r8, rbx
mov dword [rsp + 0x28], r14d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.18000bfd0
test eax, eax
jne 0x18000c18d
mov rcx, rdi
call fcn.18000a5c8
jmp 0x18000c197
xor ecx, ecx
call fcn.18000a5c8
mov rsi, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r14
ret