joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400788ec
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rdx
sub rsp, 0x28
mov r10, rdx
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx eax, byte [rsp + r9 + 0x38]
movabs rdx, 0x100000001b3
xor r8, rax
inc r9
imul r8, rdx
cmp r9, 8
jb 0x140078905
mov r9, qword [rcx + 0x88]
mov rdx, qword [rcx + 0x60]
and r9, r8
mov r8, qword [rcx + 0x70]
add r9, r9
mov rax, qword [r8 + r9*8]
cmp qword [r8 + r9*8], rdx
jne 0x140078949
mov rcx, rdx
jmp 0x140078951
mov rcx, qword [r8 + r9*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140078961
cmp qword [rax + 0x10], r10
je 0x140078964
mov rax, qword [rax]
jmp 0x14007893e
mov rax, rdx
cmp rax, rdx
je 0x14007897b
mov rax, qword [rax + 0x18]
cmp byte [rax + 8], 0
je 0x140078983
cmp byte [rax + 9], 0
jne 0x14007899a
jmp 0x14007897d
xor eax, eax
add rsp, 0x28
ret
mov rcx, qword [rsp + 0x28]
lea r8, str.analoginput_spectrum_service_servercomponentmanager.cpp
mov edx, 0x344
call fcn.140005df0
int3
mov rcx, qword [rsp + 0x28]
lea r8, str.analoginput_spectrum_service_servercomponentmanager.cpp
mov edx, 0x345
call fcn.140005df0
int3

Function at 0x14007b1c4
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov r10, rdx
mov rsi, rcx
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx eax, byte [r9 + rdx]
movabs rcx, 0x100000001b3
xor r8, rax
inc r9
imul r8, rcx
cmp r9, 8
jb 0x14007b1eb
mov r9, qword [rsi + 0x30]
mov r11, qword [rsi + 0x18]
and r9, r8
mov rdx, qword [rsi + 8]
add r9, r9
mov rbx, qword [r11 + r9*8]
cmp qword [r11 + r9*8], rdx
jne 0x14007b22b
mov rax, rdx
jmp 0x14007b233
mov rax, qword [r11 + r9*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x14007b274
mov r8, qword [r10]
cmp qword [rbx + 0x10], r8
je 0x14007b246
mov rbx, qword [rbx]
jmp 0x14007b220
mov rcx, rbx
mov rdi, rbx
cmp qword [r11 + r9*8], rdx
jne 0x14007b257
mov rax, rdx
jmp 0x14007b25f
mov rax, qword [r11 + r9*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x14007b26f
cmp r8, qword [rbx + 0x10]
jne 0x14007b26f
mov rbx, qword [rbx]
jmp 0x14007b24c
cmp rcx, rbx
jne 0x14007b27a
mov rdi, rdx
mov rbx, rdx
xor ebp, ebp
mov rax, rdi
cmp rdi, rbx
je 0x14007b28f
mov rax, qword [rax]
inc rbp
cmp rax, rbx
jne 0x14007b284
cmp rdi, qword [rdx]
jne 0x14007b302
cmp rbx, rdx
jne 0x14007b302
mov rax, qword [rdx + 8]
and qword [rax], 0
mov rcx, qword [rdx]
test rcx, rcx
je 0x14007b2be
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.14009852c
mov rcx, rbx
test rbx, rbx
jne 0x14007b2a9
mov rax, qword [rsi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rsi + 8]
mov qword [rax + 8], rax
and qword [rsi + 0x10], 0
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.14007c494
jmp 0x14007b307
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rdi, qword [rdi]
mov rcx, rsi
call fcn.14007bf88
cmp rdi, rbx
jne 0x14007b2ef
mov rbx, qword [rsp + 0x38]
mov rax, rbp
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x14007b328
Capabilities:
Encode data using xor
Hash data using fnv

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, 0x30
mov r14, rdx
mov rbp, rcx
movabs r8, 0xcbf29ce484222325
xor r9d, r9d
movzx eax, byte [r9 + rdx]
xor r8, rax
movabs rcx, 0x100000001b3
imul r8, rcx
inc r9
cmp r9, 8
jb 0x14007b354
mov rdx, qword [rbp + 0x30]
and rdx, r8
add rdx, rdx
mov r8, qword [rbp + 0x18]
mov rax, qword [r8 + rdx*8]
lea rsi, [rbp + 8]
mov rbx, qword [rsi]
cmp qword [r8 + rdx*8], rbx
jne 0x14007b397
mov rcx, rbx
jmp 0x14007b39f
mov rcx, qword [r8 + rdx*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14007b3b7
mov rcx, qword [r14]
cmp qword [rax + 0x10], rcx
je 0x14007b3b2
mov rax, qword [rax]
jmp 0x14007b38c
mov rcx, rax
jmp 0x14007b3bd
mov rax, rbx
mov rcx, rbx
cmp rcx, rbx
jne 0x14007b43c
mov rbx, qword [rbx]
movabs rax, 0x7ffffffffffffff
cmp qword [rsi + 8], rax
jne 0x14007b3e9
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop dword [rax + rax]
int3
mov rdi, qword [rbx + 8]
mov qword [rsp + 0x20], rsi
and qword [rsp + 0x28], 0
mov ecx, 0x20
call fcn.140098150
mov rcx, qword [r14]
mov qword [rax + 0x10], rcx
and qword [rax + 0x18], 0
mov qword [rax], rbx
mov qword [rax + 8], rdi
inc qword [rsi + 8]
mov qword [rbx + 8], rax
mov qword [rdi], rax
mov rax, qword [rsi]
mov r9, qword [rax]
lea r8, [r9 + 0x10]
lea rdx, [rsp + 0x20]
mov rcx, rbp
call fcn.14007c570
mov rax, qword [rsp + 0x20]
add rax, 0x18
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 0x14007bf88
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov r9, rcx
mov rdi, rdx
movabs rcx, 0xcbf29ce484222325
xor r10d, r10d
movzx eax, byte [r8 + r10 + 0x10]
movabs rdx, 0x100000001b3
xor rcx, rax
inc r10
imul rcx, rdx
cmp r10, 8
jb 0x14007bfa5
mov rdx, qword [r9 + 0x30]
and rdx, rcx
mov rcx, qword [r9 + 0x18]
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], r8
jne 0x14007bffd
cmp qword [rcx + rdx*8], r8
jne 0x14007bff2
mov rax, qword [r9 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r9 + 0x18]
mov rax, qword [r9 + 8]
jmp 0x14007bff6
mov rax, qword [r8 + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x14007c00a
cmp qword [rcx + rdx*8], r8
jne 0x14007c00a
mov rax, qword [r8]
mov qword [rcx + rdx*8], rax
mov rax, qword [r8 + 8]
mov edx, 0x20
mov rbx, qword [r8]
mov qword [rax], rbx
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
mov rcx, r8
dec qword [r9 + 0x10]
call fcn.14009852c
mov qword [rdi], rbx
mov rax, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x14007c570
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x30
mov rbx, r9
mov r11, r8
mov rsi, rdx
mov r9, rcx
movabs rcx, 0xcbf29ce484222325
xor edx, edx
movzx eax, byte [rdx + r11]
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
inc rdx
cmp rdx, 8
jb 0x14007c5a0
mov r8, qword [r9 + 0x30]
and r8, rcx
mov r10, r8
add r10, r10
mov rcx, qword [r9 + 0x18]
mov rdi, qword [r9 + 8]
cmp rdi, qword [rcx + r10*8]
je 0x14007c62a
mov rdi, qword [rcx + r10*8 + 8]
mov rdi, qword [rdi]
cmp rdi, qword [rcx + r10*8]
je 0x14007c62a
mov rdi, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
cmp qword [r11], rax
jne 0x14007c5e2
mov rcx, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rcx], rax
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
dec qword [r9 + 0x10]
mov edx, 0x20
mov rcx, rbx
call fcn.14009852c
mov qword [rsi], rdi
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x14007c6c1
mov rax, qword [rbx]
cmp rdi, rax
je 0x14007c65f
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], rbx
mov rdx, qword [rdi + 8]
mov rcx, qword [rax + 8]
mov qword [rdi + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r10*8]
add r8, r8
cmp rax, qword [r9 + 8]
jne 0x14007c67f
mov qword [rdx + r8*8], rbx
mov rax, qword [r9 + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x14007c6ae
cmp rax, rdi
jne 0x14007c68a
mov qword [rdx + r8*8], rbx
jmp 0x14007c6ae
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x14007c6ae
mov rdx, qword [r9 + 0x18]
mov rax, qword [rdx + r10*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r10*8 + 8], rcx
mov rcx, r9
call fcn.14007c6d8
nop
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret

Function at 0x14007e530
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
xor ebx, ebx
mov rdi, rcx
mov edx, ebx
cmp qword [rcx + 0x60], rbx
jne 0x14007e5a0
mov r9, rcx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
lea r8, [0x14007e630]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
nop dword [rax + rax]
mov qword [rdi + 0x60], rax
test rax, rax
jne 0x14007e597
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx edx, ax
or edx, 0x80070000
test eax, eax
cmovle edx, eax
mov eax, 0x80004005
test edx, edx
cmovns edx, eax
jmp 0x14007e599
mov edx, ebx
test edx, edx
js 0x14007e5a0
xchg byte [rdi + 0x50], bl
mov rbx, qword [rsp + 0x40]
mov eax, edx
add rsp, 0x30
pop rdi
ret
Function at 0x14007ee00
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xa0
mov rax, qword [0x1400ce2e8]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov edi, edx
mov rbx, rcx
call qword [sym.imp.ext_ms_win_resourcemanager_gamemode_l1_2_0.dll_RmGameModeInitializeResourceRequest]
nop dword [rax + rax]
mov eax, dword [rbx + 0x20]
lea rcx, [rsp + 0x38]
and eax, 0xfffffffb
or eax, 3
mov dword [rbx + 0x20], eax
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemInfo]
nop dword [rax + rax]
mov eax, dword [rsp + 0x58]
cmp eax, 4
jb 0x14007ee71
mov eax, dword [rbx + 0x1c]
and dword [rbx + 4], 0
and eax, 0xffffffef
and qword [rbx + 8], 0
or eax, 0x8f
mov dword [rbx + 0x1c], eax
mov eax, edi
jmp 0x14007eece
cmp dword [0x1400cc150], 5
jbe 0x14007eec9
and dword [rsp + 0x94], 0
lea rdx, [0x1400bd6fb]
mov dword [rsp + 0x30], eax
lea rcx, [0x1400cc150]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x90], 4
mov qword [rsp + 0x88], rax
xor r9d, r9d
lea rax, [rsp + 0x68]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
call fcn.1400017d8
mov eax, 0xc000009a
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140097f60
mov rbx, qword [rsp + 0xb8]
add rsp, 0xa0
pop rdi
ret
Function at 0x14007fb70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
mov rax, qword [0x1400ce2e8]
xor rax, rsp
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x148]
xor r9d, r9d
shr rcx, 4
mov r8d, r9d
mov qword [rsp], rcx
mov ecx, r9d
mov rdx, qword [rax + 8]
movups xmm0, xmmword [rdx - 0x10]
movdqu xmmword [rsp + 8], xmm0
movzx eax, byte [rsp + rcx + 8]
inc rcx
add eax, r8d
imul r8d, eax, 0x401
mov eax, r8d
shr eax, 6
xor r8d, eax
cmp rcx, 0x10
jb 0x14007fba9
movzx eax, byte [rsp + r9]
inc r9
add eax, r8d
imul r8d, eax, 0x401
mov eax, r8d
shr eax, 6
xor r8d, eax
cmp r9, 8
jb 0x14007fbca
lea eax, [r8 + r8*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
mov eax, 0x45e7b273
imul r8d, ecx, 0x8001
mul r8d
shr edx, 0xe
imul ecx, edx, 0xea60
sub r8d, ecx
lea eax, [r8 + 0xea60]
mov rcx, qword [rsp + 0x18]
xor rcx, rsp
call fcn.140097f60
add rsp, 0x28
ret
Function at 0x140080d08
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rdi, rdx
mov r8d, 0x30
lea rdx, [rsp + 0x20]
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_VirtualQuery]
nop dword [rax + rax]
test rax, rax
jne 0x140080d3c
lea ecx, [rax + 0x19]
int 0x29
test byte [rsp + 0x44], 0x44
je 0x140080d9b
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemInfo]
nop dword [rax + rax]
mov r9d, dword [rsp + 0x54]
xor edx, edx
mov r8d, r9d
neg r8
and r8, rbx
lea ecx, [r9 - 1]
mov eax, ecx
and ecx, ebx
and eax, edi
add eax, ecx
dec rax
add rax, r9
div r9
xor edx, edx
mov rcx, rax
mov rax, rdi
div r9
add rcx, rax
mov eax, ecx
test ecx, ecx
je 0x140080d9b
lock or dword [r8], 0
add r8, r9
sub rax, 1
jne 0x140080d8d
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret

Function at 0x140080db4
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movsxd r8, dword [0x14000003c]
lea rdi, [0x140000000]
add r8, rdi
mov rsi, rdx
mov ebp, ecx
cmp dword [r8 + 0x84], 0xd
jbe 0x140080ea2
mov r9d, dword [r8 + 0xf0]
test r9d, r9d
je 0x140080ea2
movzx eax, word [r8 + 0x14]
lea rcx, [r8 + 0x18]
mov r10d, dword [r9 + rdi + 0xc]
add rcx, rax
movzx r11d, word [r8 + 6]
xor r9d, r9d
test r11d, r11d
je 0x140080e3b
mov r8d, dword [rcx + 0xc]
cmp r10d, r8d
jb 0x140080e2f
mov edx, dword [rcx + 8]
lea eax, [rdx + r8]
cmp r10d, eax
jb 0x140080e74
inc r9d
add rcx, 0x28
cmp r9d, r11d
jb 0x140080e1a
mov eax, dword [rsp + 0x40]
xor ebx, ebx
mov edx, dword [rsp + 0x40]
test rbx, rbx
je 0x140080ea2
cmp dword [0x1400cf820], 0
jne 0x140080e7d
mov dword [0x1400cf820], 1
test eax, eax
js 0x140080e68
mov ecx, 0x19
int 0x29
mov rcx, rbx
mov edi, edx
call fcn.140080d08
jmp 0x140080e7f
mov eax, dword [rcx + 0x24]
lea rbx, [rdi + r8]
jmp 0x140080e45
mov edi, edx
mov r9, rsi
mov r8d, ebp
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_memory_l1_1_0.dll_VirtualProtect]
nop dword [rax + rax]
test eax, eax
jne 0x140080ea8
lea ecx, [rax + 0x19]
int 0x29
jmp 0x140080ea8
mov dword [rsi], 4
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x140097f94
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x1400cee20], eax
call fcn.140098a40
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x1400cee20], 0
jne 0x140097fd7
mov ecx, 1
call fcn.140098a40
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
Function at 0x1402fab20
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x10090
call fcn.1402ff2b0
sub rsp, rax
mov rax, qword [0x14034a000]
xor rax, rsp
mov qword [rsp + 0x10080], rax
movzx eax, byte [rcx]
lea rbx, [rsp + 0x30]
xor ebp, ebp
mov rsi, rcx
mov word [rsp + 0x80], bp
mov word [rsp + 0x30], bp
lea edi, [rbp + 0x28]
test al, al
je 0x1402fabd2
mov r8d, 2
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x21], bpl
lea rcx, [rsp + 0x24]
call fcn.14030f0e4
cmp rax, 1
jne 0x1402fac2e
mov rcx, rdi
mov rax, rbx
cmp word [rbx], bp
je 0x1402fabaf
add rax, 2
dec rcx
cmp word [rax], bp
jne 0x1402faba3
cmp rcx, 1
jb 0x1402fac2e
movzx ecx, word [rsp + 0x24]
inc rsi
mov word [rax], cx
add rbx, 2
mov word [rax + 2], bp
dec rdi
movzx eax, byte [rsi]
test al, al
jne 0x1402fab70
mov r8d, 0x10000
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
cmp eax, 0xffff
ja 0x1402fac03
lea rcx, [rsp + 0x80]
call fcn.140311c94
jmp 0x1402fac05
xor eax, eax
mov rcx, qword [rsp + 0x10080]
xor rcx, rsp
call fcn.1402fefe0
lea r11, [rsp + 0x10090]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.140303640
int3
Function at 0x1402fbac0
Capabilities:
Extract resource via kernel32 functions

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, 0x20
cmp byte [0x14036573e], 0
mov rbp, r8
mov rsi, rdx
mov r14, rcx
jne 0x1402fbb4e
mov edx, 3
xor ecx, ecx
lea r8d, [rdx + 7]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [0x140365520], rax
mov ebx, dword [rax]
lea rcx, [rax + 4]
mov qword [0x140365520], rcx
lea rdi, [rcx + 4]
mov r8d, dword [rcx]
mov rdx, rdi
xor ecx, ecx
mov qword [0x140365520], rdi
call fcn.1402f99a0
cmp eax, ebx
jne 0x1402fbcf3
mov byte [0x14036573e], 1
jmp 0x1402fbb55
mov rdi, qword [0x140365520]
lea rdx, [0x140320dc0]
mov rcx, rbp
call fcn.14030eb90
test eax, eax
je 0x1402fbc0f
cmp byte [0x14036573d], 1
je 0x1402fbc0f
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366460], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366468], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366470], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366478], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366480], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366488], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366490], rax
call qword [sym.imp.python310.dll_PyDict_New]
mov qword [0x140366498], rax
mov rax, qword [sym.imp.python310.dll__PyRuntime]
mov rax, qword [rax + 0x1f0]
mov rdi, qword [0x140365520]
mov byte [0x14036573d], 1
mov rcx, qword [rax + 0x10]
add rcx, 0xda0
mov qword [0x140367840], rcx
mov rdx, rdi
mov rax, rbp
sub rdx, rbp
nop dword [rax + rax]
movzx ecx, byte [rax]
xor r9d, r9d
cmp cl, byte [rax + rdx]
jne 0x1402fbc37
inc rax
test cl, cl
jne 0x1402fbc20
mov ecx, r9d
jmp 0x1402fbc3c
sbb ecx, ecx
or ecx, 1
mov rax, 0xffffffffffffffff
cmp byte [rdi + rax + 1], r9b
lea rax, [rax + 1]
jne 0x1402fbc43
lea rdx, [rdi + rax]
mov eax, dword [rdi + rax + 1]
add rdx, 5
test ecx, ecx
je 0x1402fbca8
nop
add rdx, rax
mov rax, rbp
mov r8, rdx
sub r8, rbp
nop dword [rax]
movzx ecx, byte [rax]
cmp cl, byte [rax + r8]
jne 0x1402fbc85
inc rax
test cl, cl
jne 0x1402fbc70
mov ecx, r9d
jmp 0x1402fbc8a
sbb ecx, ecx
or ecx, 1
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r9b
jne 0x1402fbc91
add rdx, rax
mov eax, dword [rdx + 1]
add rdx, 5
test ecx, ecx
jne 0x1402fbc60
movzx ecx, word [rdx]
lea rax, [rdx + 2]
cmp r9w, cx
jae 0x1402fbcd8
mov ebx, ecx
nop word [rax + rax]
mov r8, rax
mov rdx, rsi
mov rcx, r14
call fcn.1402f81f0
add rsi, 8
sub rbx, 1
jne 0x1402fbcc0
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
lea rcx, str.Error__corrupted_constants_object
call fcn.14030b8a4
call fcn.140303640
int3
Function at 0x1402feb80
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x90
mov rax, qword [0x14034a000]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, byte [rcx]
lea rbx, [rsp + 0x30]
xor r14d, r14d
mov rbp, rdx
mov word [rsp + 0x30], r14w
mov rsi, rcx
lea edi, [r14 + 0x28]
test al, al
je 0x1402fec31
nop word [rax + rax]
mov r8d, 2
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x21], r14b
lea rcx, [rsp + 0x24]
call fcn.14030f0e4
cmp rax, 1
jne 0x1402fec67
mov rcx, rdi
mov rax, rbx
cmp word [rbx], r14w
je 0x1402fec0d
add rax, 2
dec rcx
cmp word [rax], r14w
jne 0x1402fec00
cmp rcx, 1
jb 0x1402fec67
movzx ecx, word [rsp + 0x24]
inc rsi
mov word [rax], cx
add rbx, 2
mov word [rax + 2], r14w
dec rdi
movzx eax, byte [rsi]
test al, al
jne 0x1402febd0
mov rdx, rbp
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1402fefe0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.140303640
int3

Function at 0x1402fee60
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x90
mov rax, qword [0x14034a000]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, byte [rcx]
lea rbx, [rsp + 0x30]
xor ebp, ebp
mov rsi, rcx
mov word [rsp + 0x30], bp
lea edi, [rbp + 0x28]
test al, al
je 0x1402fef0f
nop dword [rax]
nop word [rax + rax]
mov r8d, 2
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x21], bpl
lea rcx, [rsp + 0x24]
call fcn.14030f0e4
cmp rax, 1
jne 0x1402fef45
mov rcx, rdi
mov rax, rbx
cmp word [rbx], bp
je 0x1402feeec
nop
add rax, 2
dec rcx
cmp word [rax], bp
jne 0x1402feee0
cmp rcx, 1
jb 0x1402fef45
movzx ecx, word [rsp + 0x24]
inc rsi
mov word [rax], cx
add rbx, 2
mov word [rax + 2], bp
dec rdi
movzx eax, byte [rsi]
test al, al
jne 0x1402feeb0
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1402fefe0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call fcn.140303640
int3

Function at 0x1402ffa14
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1402ffa5e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1402ffa5e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1402ffa5e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1402ffa5e
cmp dword [rcx + 0x84], 0xe
jbe 0x1402ffa5e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x1402ffa60
xor al, al
add rsp, 0x28
ret
Function at 0x140304eb8
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 0x140304d23
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140304d23
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140304d23
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140304d23
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140304d23
cmp dword [rcx + 0x84], 0xe
jbe 0x140304d23
cmp dword [rcx + 0xf8], 0
je 0x140304d23
mov ecx, ebx
call fcn.140304dd4
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.140304bb0
nop
cmp dword [rbp + 0x20], 0
je 0x140304d71
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140304d7c
int3
xor r8d, r8d
xor edx, edx
jmp 0x140304cb4
Function at 0x140316bf0
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 0x140316c77
mov rsi, rbx
cmp word [rax], bp
je 0x140316c36
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140316c20
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x140316c1c
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.14031216c
mov rdi, rax
test rax, rax
je 0x140316c64
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.14031cf70
mov rbp, rdi
xor ecx, ecx
call fcn.140312cb4
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 0x14031937c
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov edx, dword [rcx + 0x14]
nop
shr edx, 3
test dl, 1
je 0x140319392
mov al, 1
jmp 0x1403193f2
mov eax, dword [rcx + 0x14]
nop
test al, 0xc0
je 0x1403193a3
mov rax, qword [rcx + 8]
cmp qword [rcx], rax
je 0x1403193f0
mov ecx, dword [rcx + 0x18]
nop
call fcn.140317394
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1403193f0
mov r9d, 1
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1403193f0
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1403193f0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
sete al
jmp 0x1403193f2
xor al, al
add rsp, 0x20
pop rbx
ret

Function at 0x14031cd50
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14031cd78
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14031cd78
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret