joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140130690
Capabilities:
Create udp socket

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov edi, edx
cmp word [rcx], 0
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov dword [rsp + 0x28], 0x81
mov dword [rsp + 0x20], 0
xor ebx, ebx
mov ecx, ebp
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140130766
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
cmp eax, 0x2739
je 0x1401306ee
mov esi, eax
cmp eax, 0x2726
jne 0x140130759
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov ecx, ebp
mov edx, edi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.ws2_32.dll_WSASocketW]
cmp rax, 0xffffffffffffffff
je 0x140130751
mov rsi, rax
xor ebx, ebx
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.kernel32.dll_SetHandleInformation]
test eax, eax
jne 0x140130766
call qword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
mov ebx, 1
mov rsi, rdi
jmp 0x140130766
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov ebx, 1
mov rax, rbx
mov rdx, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret

Function at 0x1401312b0
Capabilities:
Create pipe

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xb0], xmm6
mov qword [rbp + 0xa8], 0xfffffffffffffffe
mov qword [rbp + 0x68], rcx
mov byte [rbp + 0xa5], dl
movzx eax, dl
mov ecx, 0x40080002
sub ecx, eax
mov dword [rbp + 0x64], ecx
xor edi, edi
mov r15d, 8
mov sil, 1
xorps xmm6, xmm6
lea r14, [rbp + 0x20]
mov r12, qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
xor eax, eax
mov qword [rbp - 8], rax
nop word cs:[rax + rax]
Function at 0x140132640
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
cmp qword [rdx], 0
jne 0x1401327b3
mov rsi, rcx
mov rbx, qword [rdi + 0x18]
mov rax, qword [rbx]
test rax, rax
jne 0x140132677
mov rdx, qword [rbx + 0x10]
lea rax, [rdx + 0xf]
cmp rax, 0xf
jbe 0x140132778
xor eax, eax
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x140132796
sub rax, rdx
add rdx, qword [rbx + 8]
mov r8, qword [rdi + 0x10]
mov ecx, 0xffffffff
cmp rax, rcx
cmovae rax, rcx
mov dword [rsp + 0x2c], 0
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x2c]
mov r8d, eax
call qword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
je 0x1401326d9
mov eax, dword [rsp + 0x2c]
mov ecx, 2
test rax, rax
je 0x14013271e
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov byte [rsi + 1], 1
jmp 0x140132722
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x40], rax
movabs rcx, 0xffffffff00000000
and rcx, rax
movabs rdx, 0x6d00000000
cmp rcx, rdx
je 0x140132726
movabs rdx, 0x3e500000000
cmp rcx, rdx
jne 0x140132755
lea rax, [rsp + 0x30]
jmp 0x140132734
mov byte [rsi + 1], 0
xor eax, eax
jmp 0x14013275b
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x38]
mov qword [rax], 0
lea rcx, [rsp + 0x40]
call fcn.14011dd10
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
cmp rcx, 2
jne 0x140132765
mov qword [rsi + 8], rax
mov al, 1
mov byte [rsi], al
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
test rcx, rcx
jne 0x1401326c2
mov ecx, 1
jmp 0x1401326cc
mov r8d, 0x10
mov rcx, rbx
call fcn.140159550
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
jne 0x140132684
mov r8d, 1
mov rcx, rbx
mov rdx, rax
call fcn.140159550
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
jmp 0x140132684
mov qword [rsp + 0x40], 0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140159500
int3
Function at 0x140136c00
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rsi, rcx
lea rcx, [rsp + 0x40]
call fcn.140138f40
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
movabs r14, 0x8000000000000000
cmp rcx, r14
jne case.0x1401302a6.129
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
jmp 0x140136c6a
Function at 0x14013b2b0
Capabilities:
Resolve dns

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x200
mov rax, rdx
mov rsi, rcx
mov rdx, qword [rdx]
mov rdi, qword [rax + 8]
movzx eax, word [rax + 0x10]
mov word [rsp + 0x26], ax
mov rax, qword [0x14024fd18]
cmp rax, 3
jne 0x14013b3be
lea rax, [rsp + 0x26]
mov qword [rsp + 0x30], rax
cmp rdi, 0x17f
ja 0x14013b3e0
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rdi + 0x80], 0
inc rdi
lea rcx, [rsp + 0x38]
mov rdx, rbx
mov r8, rdi
call fcn.140147bb0
cmp qword [rsp + 0x38], 0
je 0x14013b342
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
jmp 0x14013b3b0
mov rcx, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x58], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x28]
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x14013b395
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x14013b3a9
mov rax, qword [rsp + 0x28]
movzx ecx, word [rsp + 0x26]
mov qword [rsi + 0x10], rax
mov word [rsi + 0x18], cx
xor ecx, ecx
mov qword [rsi + 8], rax
mov qword [rsi], rcx
mov rax, rsi
add rsp, 0x200
pop rbx
pop rdi
pop rsi
ret
mov rbx, rdx
call fcn.1401598c0
mov rdx, rbx
lea rax, [rsp + 0x26]
mov qword [rsp + 0x30], rax
cmp rdi, 0x17f
jbe 0x14013b2f8
lea r9, [rsp + 0x30]
mov rcx, rsi
mov r8, rdi
call fcn.140159930
jmp 0x14013b3b0
Function at 0x14013b540
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push rsi
sub rsp, 0xb0
mov rax, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x2c], 0x80
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
mov rcx, rax
call qword [sym.imp.ws2_32.dll_getsockname]
cmp eax, 0xffffffff
je 0x14013b5f0
mov eax, dword [rsp + 0x2c]
movzx ecx, word [rsp + 0x30]
cmp ecx, 2
je 0x14013b600
cmp ecx, 0x17
jne 0x14013b627
cmp eax, 0x1b
jbe 0x14013b640
movzx eax, word [rsp + 0x32]
rol ax, 8
movups xmm0, xmmword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x48]
mov word [rsi], 1
movups xmmword [rsi + 4], xmm0
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov word [rsi + 0x1c], ax
add rsp, 0xb0
pop rsi
ret
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
jmp 0x14013b62e
cmp eax, 0xf
jbe 0x14013b658
movzx eax, word [rsp + 0x32]
rol ax, 8
mov ecx, dword [rsp + 0x34]
mov word [rsi], 0
mov word [rsi + 6], ax
mov dword [rsi + 2], ecx
add rsp, 0xb0
pop rsi
ret
lea rax, str.invalid_argument
mov qword [rsi + 8], rax
mov word [rsi], 2
add rsp, 0xb0
pop rsi
ret
lea rcx, str.assertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in6___
lea r8, str.library_std_src_sys_common_net.rsassertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
mov edx, 0x43
call fcn.14015ab50
lea rcx, [0x1401f3e41]
lea r8, str.library_std_src_sys_common_net.rsassertion_failed:_len_as_usize___mem::size_of::_c::sockaddr_in___
mov edx, 0x42
call fcn.14015ab50
int3
Function at 0x14014f890
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
test r8, r8
je 0x14014f90a
mov rax, rdx
mov rdx, qword [rsp + 0x70]
mov esi, ecx
shr esi, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov rbx, rax
movzx edi, byte [rax + 1]
add rax, 2
lea r10, [r11 + rdi]
cmp byte [rbx], sil
jne 0x14014f900
cmp r11, r10
ja 0x14014f995
cmp r10, rdx
ja 0x14014f9a7
add r11, r9
xor ebx, ebx
nop dword [rax]
cmp rdi, rbx
je 0x14014f902
lea r14, [rbx + 1]
cmp byte [r11 + rbx], cl
mov rbx, r14
jne 0x14014f8e0
jmp 0x14014f977
ja 0x14014f90a
mov r11, r10
cmp rax, r8
jne 0x14014f8b2
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14014f97b
mov r8, qword [rsp + 0x78]
add rdx, r8
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r10, [r8 + 1]
movzx r9d, byte [r8]
test r9b, r9b
js 0x14014f950
mov r8, r10
sub ecx, r9d
jns 0x14014f96e
jmp 0x14014f97d
cmp r10, rdx
je 0x14014f989
movzx r10d, byte [r8 + 1]
add r8, 2
and r9d, 0x7f
shl r9d, 8
or r9d, r10d
sub ecx, r9d
js 0x14014f97d
xor al, 1
cmp r8, rdx
jne 0x14014f930
jmp 0x14014f97d
xor eax, eax
jmp 0x14014f97d
mov al, 1
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str.librarycore_srcunicodeprintable.rs
call fcn.14015aa40
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.14015afe0
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.14015afd0
int3
Function at 0x1401555b4
Capabilities:
Parse pe header

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

Function at 0x1401588d7
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
lea rcx, [0x1401b2d5d]
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
test rax, rax
je 0x140158935
mov rdi, rax
lea rdx, [0x1401b2d7e]
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140158935
mov rsi, rax
lea rdx, [0x1401b2d8c]
mov rcx, rdi
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140158935
xor edi, edi
jmp 0x1401589bb
lea rcx, [0x1401b2d18]
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
test rax, rax
je 0x140158a20
mov rsi, rax
lea rdx, str.NtCreateKeyedEvent
mov rcx, rax
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140158a20
mov rbx, rax
lea rdx, str.NtReleaseKeyedEvent
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140158a20
mov rdi, rax
lea rdx, str.NtWaitForKeyedEvent
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetProcAddress]
test rax, rax
je 0x140158a20
mov rsi, rax
lea rcx, [rbp - 0x30]
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call rbx
test eax, eax
jne 0x140158a20
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rax
mov al, byte [0x14024fbe1]
push 0x18
pop rcx
push 8
pop rdx
call fcn.140014b70
test rax, rax
je 0x140158a54
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rcx], xmm0
xor eax, eax
lock cmpxchg qword [0x14024fc30], rcx
je 0x140158a14
mov rsi, rax
mov qword [rbp - 0x30], rcx
call fcn.140100103
lea rcx, [rbp - 0x30]
call fcn.140005683
mov rcx, rsi
mov rax, rcx
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rax, str.parking_lot_requires_either_NT_Keyed_Events__WinXP__or_WaitOnAddress_WakeByAddress__Win8_
lea rcx, [rbp - 0x30]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1401b2ce8]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fparking_lot_core_0.9.10_src_thread_parkerwindowsmod.rs
call fcn.14015aa80
push 8
pop rcx
push 0x18
pop rdx
call fcn.14015a860
ud2
Function at 0x140159930
Capabilities:
Resolve dns

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov r14, r9
mov rsi, rcx
lea rcx, [rsp + 0x30]
call fcn.140143420
mov rdx, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x1401599bb
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x58], 1
mov qword [rsp + 0x28], 0
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x28]
mov rcx, rdi
xor edx, edx
call qword [sym.imp.ws2_32.dll_getaddrinfo]
test eax, eax
je 0x1401599ee
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
shl rax, 0x20
or rax, 2
mov ecx, 1
jmp 0x140159a03
lea rax, str.file_name_contained_an_unexpected_NUL_byte
mov qword [rsi + 8], rax
mov qword [rsi], 1
test rdx, rdx
je 0x140159a23
mov rcx, qword [rsp + 0x38]
mov r8d, 1
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.140014b80
mov rcx, qword [r14]
mov rax, qword [rsp + 0x28]
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 [rdi], 0
test rbx, rbx
je 0x140159a23
mov r8d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140014b80
nop
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x140001ae0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x90
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rcx, qword [0x140007660]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, [0x1400043d8]
lea rcx, str.deletion_log.txt
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rdi, rax
test rax, rax
je 0x140001b4c
lea r8, str._INFO__Clearing_pagefile...
mov rcx, rax
lea rdx, [0x1400043f4]
call fcn.1400010d0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor ebx, ebx
lea rdx, [rsp + 0x20]
xor ecx, ecx
lea r8d, [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp rax, 0x30
jne 0x140001bae
cmp dword [rsp + 0x40], 0x1000
jne 0x140001b8f
test byte [rsp + 0x44], 4
je 0x140001b8f
mov rdi, qword [rsp + 0x20]
xor eax, eax
mov rcx, qword [rsp + 0x38]
rep stosb byte [rdi], al
add rbx, qword [rsp + 0x38]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8d, 0x30
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp rax, 0x30
je 0x140001b70
mov rcx, qword [0x140007660]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea rdx, [0x1400043d8]
lea rcx, str.deletion_log.txt
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov rdi, rax
test rax, rax
je 0x140001bf6
lea r8, str._INFO__Pagefile_cleared.
mov rcx, rax
lea rdx, [0x1400043f4]
call fcn.1400010d0
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140002f80
mov rbx, qword [rsp + 0xa0]
add rsp, 0x90
pop rdi
ret
Function at 0x140002c60
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140007660], rax
test rax, rax
jne 0x140002c9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____CreateMutex_failed_with_error:__d_n
call fcn.140001120
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.140002060
test eax, eax
je 0x140002cb6
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.___File_scheduled_for_deletion_successfully.
jmp 0x140002cc4
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.____Failed_to_schedule_file_for_deletion.
call fcn.140002cf0
lea rdx, [0x140002ec0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [0x140007660]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x28
ret

Function at 0x140003840
Capabilities:
Parse pe header

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

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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x411c2b
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x411b05
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x411b14
add rsp, 0x48
pop rbp
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x411b33
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x411b43
cmp rbx, 0x1000
jae 0x411b0b
jmp 0x411bad
add rsp, 0x48
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x411b55
xor edx, edx
jmp 0x411ba4
mov rcx, qword [sym.imp.kernel32.dll_VirtualFree]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x4000
call sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
sete al
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x38]
mov edx, eax
mov rax, qword [rsp + 0x40]
test dl, dl
jne 0x411b39
jmp 0x411b28
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call sym.runtime.printlock
lea rax, [0x0047444b]
mov ebx, 0x18
nop dword [rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x38]
call sym.runtime.printuint
lea rax, [0x00474711]
mov ebx, 0x19
nop dword [rax + rax]
call sym.runtime.printstring
mov rax, qword [rsp + 0x30]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x00475e64]
mov ebx, 0x21
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp sym.runtime.sysUnusedOS
Function at 0x411c60
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x411e86
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x411cd3
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x411ce2
add rsp, 0x50
pop rbp
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x411d05
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x411d15
cmp rbx, 0x1000
jae 0x411cd9
nop
jmp 0x411d98
add rsp, 0x50
pop rbp
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop word [rax + rax]
cmp rbx, 0x1000
jae 0x411d2d
xor esi, esi
jmp 0x411d8a
mov rax, qword [sym.imp.kernel32.dll_VirtualAlloc]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 0x1000
mov qword [rsp + 0x20], 4
call sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x28], 0
sete al
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov rax, qword [rsp + 0x68]
test sil, sil
jne 0x411d0b
jmp 0x411cf6
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00531898]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x411e20
nop dword [rax + rax]
call sym.runtime.printlock
lea rax, [0x0047472a]
mov ebx, 0x19
call sym.runtime.printstring
mov rax, qword [rsp + 0x68]
nop dword [rax + rax]
call sym.runtime.printuint
lea rax, [0x00474711]
mov ebx, 0x19
call sym.runtime.printstring
mov eax, dword [rsp + 0x34]
call sym.runtime.printuint
nop
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x0047251c]
mov ebx, 0xd
call sym.runtime.throw
nop dword [rax + rax]
cmp eax, 0x5af
je 0x411dc0
call sym.runtime.printlock
lea rax, [0x0047472a]
mov ebx, 0x19
call sym.runtime.printstring
mov rax, qword [rsp + 0x38]
call sym.runtime.printuint
lea rax, [0x00474711]
mov ebx, 0x19
call sym.runtime.printstring
mov eax, dword [rsp + 0x34]
nop dword [rax]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004758c6]
mov ebx, 0x1f
nop dword [rax + rax]
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp sym.runtime.sysUsedOS