joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140011113
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x140011f20
push rbp
push rdi
sub rsp, 0x108
lea rbp, [rsp + 0x20]
lea rcx, [0x1400250a7]
call fcn.1400113e8
nop
mov dword [rbp + 4], 0xffffffff
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtCreateFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001f9a0], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtDeviceIoControlFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001f998], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtCreateIoCompletion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001f990], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtSetIoCompletion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001f988], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtQuerySystemInformation
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14001f980], rax
cmp qword [0x14001f988], 0
je 0x140012029
cmp qword [0x14001f990], 0
je 0x140012029
cmp qword [0x14001f9a0], 0
je 0x140012029
cmp qword [0x14001f998], 0
je 0x140012029
cmp qword [0x14001f980], 0
jne 0x140012034
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 4], eax
jmp 0x14001203b
mov dword [rbp + 4], 0
mov eax, dword [rbp + 4]
lea rsp, [rbp + 0xe8]
pop rdi
pop rbp
ret
Function at 0x140011145
Capabilities:
Write file on windows

Disassembly:
jmp 0x1400130d0
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x230
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x4c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x258]
mov rax, qword [0x14001f040]
xor rax, rbp
mov qword [rbp + 0x1e8], rax
lea rcx, [0x14002516e]
call fcn.1400113e8
nop
mov dword [rbp + 4], 0xffffffff
mov qword [rbp + 0x28], 0
mov dword [rbp + 0x48], 0
mov rax, qword [0x14001f010]
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x78], 1
mov dword [rbp + 0x80], 0
mov dword [rbp + 0x84], 0
lea rax, [rbp + 0xa8]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, dword [rbp + 0x228]
mov rdx, qword [rbp + 0x220]
mov rcx, qword [section..data]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400131b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 4], eax
jmp 0x140013310
mov r9d, 4
mov r8d, 0x1000
mov edx, 0x80
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
jne 0x1400131e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 4], eax
jmp 0x140013310
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x218]
mov qword [rax + 0x20], rcx
mov rax, qword [rbp + 0x28]
mov ecx, dword [rbp + 0x228]
mov dword [rax + 0x28], ecx
mov eax, 0xc02
mov rcx, qword [rbp + 0x28]
mov word [rcx], ax
mov rax, qword [rbp + 0x28]
mov dword [rax + 4], 0x80
mov rax, qword [rbp + 0x28]
mov byte [rax + 0x2c], 1
mov rax, qword [rbp + 0x28]
mov dword [rax + 8], 1
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x28]
mov qword [rcx + rax], rdx
lea rax, [rbp + 0x1d0]
lea rcx, [rbp + 0x78]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rax, [rbp + 0x1a0]
lea rcx, [rbp + 0x48]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x228]
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x1a0]
mov rcx, qword [0x14001f1f0]
call fcn.1400112ee
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
je 0x1400132b8
jmp 0x140013310
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x14001f1f0]
call fcn.14001123f
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
je 0x1400132d7
jmp 0x140013310
lea rdx, [rbp + 0xa8]
mov rcx, qword [0x14001f1f0]
call fcn.14001123a
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
je 0x1400132f5
jmp 0x140013310
cmp dword [rbp + 0xb0], 0
je 0x140013309
mov eax, dword [rbp + 0xb0]
mov dword [rbp + 4], eax
jmp 0x140013310
mov dword [rbp + 4], 0
cmp qword [rbp + 0x28], 0
je 0x14001332d
mov r8d, 0x8000
mov edx, 0x80
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
nop
mov eax, dword [rbp + 4]
mov edi, eax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001c720]
call fcn.140011366
mov eax, edi
mov rcx, qword [rbp + 0x1e8]
xor rcx, rbp
call fcn.1400111d1
lea rsp, [rbp + 0x1f0]
pop rdi
pop rsi
pop rbp
ret
Function at 0x14001121c
Capabilities:
Terminate process

Disassembly:
jmp 0x1400148c0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x28
ret

Function at 0x1400112b2
Capabilities:
Parse pe header

Disassembly:
jmp 0x140015c10
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140015c30
xor al, al
jmp 0x140015cb1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140015c43
xor al, al
jmp 0x140015cb1
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x140015c6d
xor al, al
jmp 0x140015cb1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140015c81
xor al, al
jmp 0x140015cb1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140015c93
xor al, al
jmp 0x140015cb1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140015caf
xor al, al
jmp 0x140015cb1
mov al, 1
add rsp, 0x38
ret
Function at 0x1400113bb
Capabilities:
Create pipe

Disassembly:
jmp 0x140012de0
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x12
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x14001f040]
xor rax, rbp
mov qword [rbp + 0xf8], rax
lea rcx, [0x14002516e]
call fcn.1400113e8
nop
mov dword [rbp + 4], 0xffffffff
lea rax, [rbp + 0x28]
mov rdi, rax
xor eax, eax
mov ecx, 8
rep stosb byte [rdi], al
mov dword [rbp + 0x28], 0
mov dword [rbp + 0x2c], 0
lea rax, [0x14001f1f0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20000
mov r8d, 0x10000
mov rdx, qword [rbp + 0x28]
mov ecx, 0x12c
call fcn.140011339
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
je 0x140012e83
jmp 0x140013004
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, qword [0x14001f1f0]
mov r8, qword [rcx]
mov edx, eax
mov rcx, qword [rbp + 0x120]
call fcn.14001107d
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0
je 0x140012eaf
jmp 0x140013004
mov rax, qword [rbp + 0x120]
mov rax, qword [rax]
mov qword [0x14001f1f8], rax
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x1000
mov dword [rsp + 0x20], 0x1000
mov r9d, 0xff
xor r8d, r8d
mov edx, 3
lea rcx, str..pipeioring_in
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov qword [section..data], rax
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x1000
mov dword [rsp + 0x20], 0x1000
mov r9d, 0xff
xor r8d, r8d
mov edx, 3
lea rcx, str..pipeioring_out
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov qword [0x14001f008], rax
cmp qword [section..data], 0xffffffffffffffff
je 0x140012f5a
cmp qword [0x14001f008], 0xffffffffffffffff
jne 0x140012f68
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 4], eax
jmp 0x140013004
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov r8d, 3
mov edx, 0xc0000000
lea rcx, str..pipeioring_in
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x14001f010], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov r8d, 3
mov edx, 0xc0000000
lea rcx, str..pipeioring_out
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x14001f018], rax
cmp qword [0x14001f010], 0xffffffffffffffff
je 0x140012ff2
cmp qword [0x14001f018], 0xffffffffffffffff
jne 0x140012ffd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 4], eax
jmp 0x140013004
mov dword [rbp + 4], 0
mov eax, dword [rbp + 4]
mov edi, eax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001c2c0]
call fcn.140011366
mov eax, edi
mov rcx, qword [rbp + 0xf8]
xor rcx, rbp
call fcn.1400111d1
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret
Function at 0x140013b00
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.140011410
movzx eax, al
test eax, eax
jne 0x140013b20
mov ecx, 7
call fcn.140011370
nop
mov byte [rsp + 0x20], 0
call fcn.140011384
mov byte [rsp + 0x21], al
cmp dword [0x14001f8b8], 1
jne 0x140013b44
mov ecx, 7
call fcn.140011370
nop
jmp 0x140013b9c
cmp dword [0x14001f8b8], 0
jne 0x140013b97
mov dword [0x14001f8b8], 1
lea rdx, [0x14001b660]
lea rcx, [0x14001b330]
call fcn.1400111bd
test eax, eax
je 0x140013b78
mov eax, 0xff
jmp 0x140013ca1
lea rdx, [0x14001b220]
lea rcx, [section..rdata]
call fcn.14001137a
mov dword [0x14001f8b8], 2
jmp 0x140013b9c
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.14001135c
call fcn.1400112df
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x140013bf9
mov rcx, qword [rsp + 0x30]
call fcn.140011172
movzx eax, al
test eax, eax
je 0x140013bf9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x140026020]
nop
call fcn.14001131b
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x140013c2d
mov rcx, qword [rsp + 0x38]
call fcn.140011172
movzx eax, al
test eax, eax
je 0x140013c2d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.1400113ca
nop
call fcn.140013d50
mov dword [rsp + 0x28], eax
call fcn.1400112b2
movzx eax, al
test eax, eax
jne 0x140013c4c
mov ecx, dword [rsp + 0x28]
call fcn.14001105f
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140013c5b
call fcn.1400113d4
nop
xor edx, edx
mov cl, 1
call fcn.140011163
mov eax, dword [rsp + 0x28]
jmp 0x140013ca1
add rsp, 0x68
ret
Function at 0x140016b80
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.14003ef80
sub rsp, rax
mov rax, qword [0x140056040]
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 edi, 0x28
mov word [rsp + 0x30], bp
test al, al
je 0x140016c42
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.140032558
cmp rax, 1
jne 0x140016c9e
mov rcx, rdi
mov rax, rbx
cmp word [rbx], bp
je 0x140016c1f
add rax, 2
dec rcx
cmp word [rax], bp
jne 0x140016c13
cmp rcx, 1
jb 0x140016c9e
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 0x140016be0
mov r8d, 0x10000
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
cmp eax, 0xffff
ja 0x140016c73
lea rcx, [rsp + 0x80]
call fcn.140033d2c
jmp 0x140016c75
xor eax, eax
mov rcx, qword [rsp + 0x10080]
xor rcx, rsp
call fcn.140024390
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.140027ac0
int3

Function at 0x140016cb0
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x90
mov rax, qword [0x140056040]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor ebp, ebp
lea rsi, str.NUITKA_PYTHONPATH
mov word [rsp + 0x30], bp
lea rbx, [rsp + 0x30]
mov edi, 0x28
mov al, 0x4e
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.140032558
cmp rax, 1
jne 0x140016d95
mov rcx, rdi
mov rax, rbx
cmp word [rbx], bp
je 0x140016d3c
nop
add rax, 2
dec rcx
cmp word [rax], bp
jne 0x140016d30
cmp rcx, 1
jb 0x140016d95
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 0x140016d00
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140024390
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.140027ac0
int3
Function at 0x140024d68
Capabilities:
Parse pe header

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

Function at 0x140027c1c
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 0x140027c8b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140027c8b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140027c8b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140027c8b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140027c8b
cmp dword [rcx + 0x84], 0xe
jbe 0x140027c8b
cmp dword [rcx + 0xf8], 0
je 0x140027c8b
mov ecx, ebx
call fcn.140027d3c
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.140027b18
nop
cmp dword [rbp + 0x20], 0
je 0x140027cd9
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140027ce4
int3
xor r8d, r8d
xor edx, edx
jmp 0x140027c1c

Function at 0x140027e20
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 0x140027c8b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140027c8b
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140027c8b
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140027c8b
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140027c8b
cmp dword [rcx + 0x84], 0xe
jbe 0x140027c8b
cmp dword [rcx + 0xf8], 0
je 0x140027c8b
mov ecx, ebx
call fcn.140027d3c
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.140027b18
nop
cmp dword [rbp + 0x20], 0
je 0x140027cd9
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.140027ce4
int3
xor r8d, r8d
xor edx, edx
jmp 0x140027c1c
Function at 0x140038a54
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 0x140038adb
mov rsi, rbx
cmp word [rax], bp
je 0x140038a9a
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], bp
jne 0x140038a84
lea rsi, [rsi + rax*2]
add rsi, 2
cmp word [rsi], bp
jne 0x140038a80
sub rsi, rbx
add rsi, 2
sar rsi, 1
add rsi, rsi
mov rcx, rsi
call fcn.1400362dc
mov rdi, rax
test rax, rax
je 0x140038ac8
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.14003f5e0
mov rbp, rdi
xor ecx, ecx
call fcn.1400346ac
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 0x14003c650
Capabilities:
Get file size

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

Function at 0x14003ee90
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14003eeb8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x14003eeb8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x14000c980
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x18
xor edx, edx
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14000c9cc
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14000c9c4
cmp dword [rcx + 0x3c], edx
jl 0x14000c9c4
cmp dword [rcx + 0x3c], 0x10000000
jae 0x14000c9c4
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp], rax
cmp dword [rax], 0x4550
cmovne rax, rdx
mov rdx, rax
mov qword [rsp], rax
jmp 0x14000c9cc
mov rax, rdx
add rsp, 0x18
ret

Function at 0x140cbc1c8
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140cbc1d2
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
pushfq
sub rsp, 8
stmxcsr dword [rsp]
call 0x140cbc1fb
pop rbp
sub rbp, 0x33
sub rbp, 0xcbc1c8
sub rsp, 0x20
jmp 0x140cbc21a
mov rax, 0xcbc1c8
add rax, rbp
add rax, 0x84
mov rcx, 0x647
mov rdx, 0xffffffffb0bb3610
xor byte [rax], dl
inc rax
dec rcx
jne 0x140cbc239
jmp 0x140cbc250
pop rax
cdq
stc
wait
cdq
sub al, 0x10
adc byte [rax], dl
pop rax
xchg ecx, eax
rcr dword [rax], 1
adc dword [rax], edx
adc byte [rax + 0x11], bl
stc
pop rax
xlatb
rcr byte [rax + rdx], 1
adc byte [rax], dl
pop rax
xlatb
sar byte [rax], cl
adc byte [rax], dl
adc byte [rax - 0x19], bl
pop rax
adc ecx, edx
wait
xchg ecx, eax
sbb al, 0x10
adc byte [rax], dl
pop rax
adc eax, edi
pop rax
test al, 0x68
pop rdi
invalid
Function at 0x140011113
Capabilities:
Write file on windows

Disassembly:
jmp 0x14001e840
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x140038066]
call fcn.140011979
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x68], 0
je 0x14001e897
mov r8, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x14001e9a3
mov rax, qword [rbp + 0x130]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x130], 0
jle 0x14001e93c
cmp qword [rbp + 0x28], 0
jle 0x14001e93c
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x130], rax
jge 0x14001e8dc
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x128]
mov rcx, rax
call fcn.1400118f7
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x128]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov edx, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
cmp qword [rbp + 0x130], 0
jle 0x14001e992
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x80], 0
je 0x14001e992
mov rax, qword [rbp + 0x120]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x130]
mov edx, 1
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret

Function at 0x140011550
Capabilities:
Terminate process

Disassembly:
jmp 0x1400215c0
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x28
ret
Function at 0x1400116a4
Capabilities:
Parse pe header

Disassembly:
jmp 0x1400220f0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140022110
xor al, al
jmp 0x140022191
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140022123
xor al, al
jmp 0x140022191
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14002214d
xor al, al
jmp 0x140022191
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140022161
xor al, al
jmp 0x140022191
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140022173
xor al, al
jmp 0x140022191
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14002218f
xor al, al
jmp 0x140022191
mov al, 1
add rsp, 0x38
ret