joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140257ed0
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rsi, qword [str._4a_]
mov rax, qword [rsi]
test rax, rax
je 0x1402580c0
cmp qword [rax + 0x28], 0
jne 0x1402580a8
lea rcx, [0x140613438]
cmp dword [rcx], 1
mov qword [rax + 0x28], rcx
je 0x1402580b5
call fcn.1402574e0
mov rax, qword [rsi]
test rax, rax
je 0x140257f50
cmp qword [rax + 0x30], 0
jne 0x140257f70
lea rdx, [0x140285848]
mov qword [rax + 0x30], rdx
mov rax, rdx
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12, rax
test rax, rax
je 0x140257f84
mov rax, r12
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call fcn.14025c1f0
cmp qword [rax + 0x30], 0
mov rax, qword [rsi]
je 0x140257f20
test rax, rax
jne 0x140257f70
call fcn.14025c1f0
nop dword [rax]
mov rax, qword [rax + 0x30]
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r12, rax
test rax, rax
jne 0x140257f3e
call fcn.140257020
cmp qword [0x140617050], 0
mov rbx, rax
je 0x140257f3e
test rax, rax
je 0x140257f3e
mov dword [rax + 0x44], 1
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
mov dword [rbx + 0x70], eax
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbx + 0x38], 0xffffffffffffffff
lea rcx, [rbx + 0x68]
mov qword [rbx + 0x30], rax
call fcn.14025e090
cmp eax, 1
je 0x14025812d
mov rbp, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbx + 0x68], 0xffffffffffffffff
mov dword [rbx + 0xb8], 0
mov qword [rbx + 0x28], 0
call rbp
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov r12, rax
call rbp
mov dword [rsp + 0x30], 2
mov r8, rdi
mov rdx, r12
mov dword [rsp + 0x28], 0
mov rcx, rax
lea r9, [rbx + 0x28]
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x140260166
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [rbx + 0xbc], 0
mov dword [rbx + 0xc0], eax
movzx eax, byte [rbx + 0x40]
and eax, 0xffffffcf
or eax, 0x10
mov byte [rbx + 0x40], al
mov rax, qword [rsi]
test rax, rax
je 0x140258108
cmp qword [rax + 0x30], 0
je 0x1402580f0
mov rax, qword [rax + 0x30]
mov ecx, dword [rax]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x140260166
mov r12, rbx
mov rax, r12
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rcx, qword [rax + 0x28]
cmp dword [rcx], 1
jne 0x140257f0c
mov rax, qword [rsi]
jmp 0x140257f19
call fcn.14025c1f0
cmp qword [rax + 0x28], 0
mov rax, qword [rsi]
je 0x140257ef8
test rax, rax
jne 0x1402580a8
call fcn.14025c1f0
mov rcx, qword [rax + 0x28]
cmp dword [rcx], 1
jne 0x140257f0c
jmp 0x140257f11
lea rdx, [0x140285848]
mov qword [rax + 0x30], rdx
mov rax, rdx
jmp 0x14025807e
call fcn.14025c1f0
mov r8, rax
mov rax, qword [rsi]
cmp qword [r8 + 0x30], 0
je 0x1402580f0
test rax, rax
jne 0x14025807a
call fcn.14025c1f0
jmp 0x14025807a
call fcn.1402573b0
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [str._4a_]
mov rdx, qword [rax]
lea rax, [0x140613448]
mov qword [rdx + 0x10], rax
ret
Function at 0x14025c070
Capabilities:
Print debug messages

Disassembly:
push r12
push rbx
sub rsp, 0x58
mov r12, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14025c090
add rsp, 0x58
pop rbx
pop r12
ret
lea rdx, [rsp + 0x48]
mov r9d, 0x400
mov r8d, eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], rdx
mov ecx, 0x1100
xor edx, edx
mov dword [rsp + 0x28], 0
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x14025c0d8
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x14025c084
int3
mov rcx, qword [rsp + 0x48]
mov rbx, qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call rbx
mov rcx, r12
call rbx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x14025c0c5
Function at 0x14025c1f0
Capabilities:
Check mutex on windows

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x30
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rdx, [0x140613520]
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x2c]
lea r9, [rsp + 0x30]
movzx eax, byte [rcx]
add rcx, 1
add rdx, 2
mov r8d, eax
and eax, 0xf
shr r8b, 4
add eax, 0x61
add r8d, 0x41
mov byte [rdx - 1], al
mov byte [rdx - 2], r8b
cmp rcx, r9
jne 0x14025c213
lea rax, [0x140613528]
mov ecx, 0x5f
lea rdx, str.__shmem3_winpthreads_tdm_
lea r8, [rax + 0x1a]
jmp 0x14025c25b
movzx ecx, byte [rdx]
add rax, 1
add rdx, 1
mov byte [rax - 1], cl
cmp rax, r8
jne 0x14025c258
lea rax, [0x140613560]
mov ecx, 0x5f
lea rdx, str.__shmem3_winpthreads_tdm_
lea r8, [rax + 0x19]
jmp 0x14025c28b
movzx ecx, byte [rdx]
add rax, 1
add rdx, 1
mov byte [rax - 1], cl
cmp rax, r8
jne 0x14025c288
xor ecx, ecx
mov byte [0x140613579], 0x2d
movabs rax, 0x6161616161616161
movabs rdx, 0x6161616161616161
mov qword [0x140613582], rdx
lea r8, [0x140613520]
lea rbx, [0x14061357a]
mov qword [0x140613592], rdx
mov qword [0x1406135a2], rdx
mov qword [0x1406135b2], rdx
xor edx, edx
mov qword [0x14061357a], rax
mov qword [0x14061358a], rax
mov qword [0x14061359a], rax
mov qword [0x1406135aa], rax
mov byte [0x1406135ba], 0
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edx, 0xffffffff
mov r12, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14025c466
lea rcx, [0x140613560]
call qword [sym.imp.KERNEL32.dll_FindAtomA]
test ax, ax
jne 0x14025c3b1
lea rsi, [0x140613460]
lea r8, [0x1406135ba]
mov rax, rbx
lea ecx, [rbx + 0x40]
nop dword [rax]
mov edx, ecx
sub edx, eax
bt rsi, rdx
jae 0x14025c35d
mov byte [rax], 0x41
add rax, 1
cmp r8, rax
jne 0x14025c350
lea rcx, [0x140613560]
call qword [sym.imp.KERNEL32.dll_AddAtomA]
test ax, ax
je 0x14025c453
lea rcx, [0x14025c100]
mov qword [0x140613460], rsi
call sub.msvcrt.dll__onexit
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [0x140613460]
add rsp, 0x30
pop rbx
pop rsi
pop r12
ret
mov r8d, 0x5b
lea rdx, [0x140613560]
movzx ecx, ax
call qword [sym.imp.KERNEL32.dll_GetAtomNameA]
lea r8, [0x1406135ba]
xor edx, edx
lea r10d, [rbx + 0x40]
mov r11d, eax
mov r9d, 1
mov rax, rbx
test r11d, r11d
je 0x14025c486
nop dword [rax]
cmp byte [rax], 0x41
jne 0x14025c403
mov ecx, r10d
mov rbx, r9
sub ecx, eax
shl rbx, cl
or rdx, rbx
add rax, 1
cmp r8, rax
jne 0x14025c3f0
mov rax, rdx
mov qword [0x140613460], rax
lea rsi, [0x140613460]
jmp 0x14025c429
cmp rdx, rsi
je 0x14025c38f
mov rdx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14025c420
cmp rdx, rsi
je 0x14025c38f
mov qword [rdx + 8], rsi
lea rcx, [0x14025c100]
call sub.msvcrt.dll__onexit
jmp 0x14025c38f
lea rcx, str.failed_to_add_string_to_atom_table_n
call fcn.14025c070
xor eax, eax
jmp 0x14025c3a8
lea rcx, str.failed_to_to_lock_creation_mutex_n
call fcn.14025c070
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x30
pop rbx
pop rsi
pop r12
ret
lea rcx, str.failed_to_get_string_from_atom_n
call fcn.14025c070
xor eax, eax
jmp 0x14025c40f
Function at 0x1400015b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x70
mov rbx, rcx
xor edx, edx
mov ecx, 0x5c
call fcn.1400015a0
lea edx, [rcx - 0x5b]
mov word [rsp + 0x40], ax
call fcn.1400015a0
lea ecx, [rdx + 0x2d]
mov word [rsp + 0x42], ax
lea edx, [rcx - 0x2c]
call fcn.1400015a0
lea ecx, [rdx + 0x5a]
mov word [rsp + 0x44], ax
lea edx, [rcx - 0x59]
call fcn.1400015a0
lea ecx, [rdx + 0x42]
mov word [rsp + 0x46], ax
lea edx, [rcx - 0x41]
call fcn.1400015a0
lea ecx, [rdx + 0x45]
mov word [rsp + 0x48], ax
lea edx, [rcx - 0x44]
call fcn.1400015a0
lea ecx, [rdx + 0x4c]
mov word [rsp + 0x4a], ax
lea edx, [rcx - 0x4b]
call fcn.1400015a0
lea ecx, [rdx + 0x3e]
mov word [rsp + 0x4c], ax
lea edx, [rcx - 0x3d]
call fcn.1400015a0
lea ecx, [rdx + 0x4f]
mov word [rsp + 0x4e], ax
lea edx, [rcx - 0x4e]
call fcn.1400015a0
xor ecx, ecx
mov word [rsp + 0x50], ax
lea edx, [rcx + 9]
call fcn.1400015a0
lea edx, [rcx + 0xa]
mov word [rsp + 0x52], ax
movzx ecx, word [0x1400a50cc]
call fcn.1400015a0
movzx ecx, word [0x1400a50ce]
mov edx, listen
mov word [rsp + 0x54], ax
call fcn.1400015a0
movzx ecx, word [str.Unknown_exception]
mov edx, listen
mov word [rsp + 0x56], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50d2]
mov edx, reloc.WS2_32.dll_listen
mov word [rsp + 0x58], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50d4]
mov edx, reloc.WS2_32.dll_ntohl
mov word [rsp + 0x5a], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50d6]
mov edx, reloc.WS2_32.dll_ntohs
mov word [rsp + 0x5c], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50d8]
mov edx, reloc.WS2_32.dll_recv
mov word [rsp + 0x5e], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50da]
mov edx, reloc.WS2_32.dll_recvfrom
mov word [rsp + 0x60], ax
call fcn.1400015a0
movzx ecx, word [0x1400a50dc]
mov edx, reloc.WS2_32.dll_select
mov word [rsp + 0x62], ax
call fcn.1400015a0
mov word [rsp + 0x64], ax
mov r9d, 0x133
xor eax, eax
mov word [rsp + 0x66], ax
xor r10d, r10d
nop word [rax + rax]
movsxd rcx, eax
lea rdx, [rsp + 0x40]
lea rdx, [rdx + rcx*2]
lea ecx, [r9 + rax]
inc eax
xor word [rdx], cx
cmp eax, 0x13
jb 0x140001730
mov qword [rsp + 0x30], r10
lea rcx, [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x28], r10d
mov edx, 0xc0000000
mov word [rsp + 0x66], r10w
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 8], rax
add rsp, 0x70
pop rbx
ret
Function at 0x140004a00
Capabilities:
Create process on windows
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
cmp qword [rdx + 0x18], 8
mov rbx, rdx
mov rdi, rcx
mov r9, rdx
jb 0x140004a22
mov r9, qword [rdx]
cmp qword [rcx + 0x18], 8
mov r8, rdi
jb 0x140004a2f
mov r8, qword [rcx]
mov ecx, WSACleanup
xor edx, edx
call fcn.1400015a0
lea ecx, [rdx + 0x75]
mov word [rsp + 0x30], ax
lea edx, [rcx - 0x74]
call fcn.1400015a0
lea ecx, [rdx + 0x6d]
mov word [rsp + 0x32], ax
lea edx, [rcx - 0x6c]
call fcn.1400015a0
lea ecx, [rdx + 0x5f]
mov word [rsp + 0x34], ax
lea edx, [rcx - 0x5e]
call fcn.1400015a0
lea ecx, [rdx + 0x70]
mov word [rsp + 0x36], ax
lea edx, [rcx - 0x6f]
call fcn.1400015a0
xor ecx, ecx
mov word [rsp + 0x38], ax
lea edx, [rcx + 5]
call fcn.1400015a0
lea edx, [rcx + 6]
mov word [rsp + 0x3a], ax
movzx ecx, word [0x1400a529c]
call fcn.1400015a0
movzx ecx, word [0x1400a529e]
mov edx, 7
mov word [rsp + 0x3c], ax
call fcn.1400015a0
movzx ecx, word [str.taskkill__f__im_Battle.net.exe]
mov edx, 8
mov word [rsp + 0x3e], ax
call fcn.1400015a0
movzx ecx, word [0x1400a52a2]
mov edx, 9
mov word [rsp + 0x40], ax
call fcn.1400015a0
movzx ecx, word [0x1400a52a4]
mov edx, 0xa
mov word [rsp + 0x42], ax
call fcn.1400015a0
mov word [rsp + 0x44], ax
mov r10d, 0x133
xor eax, eax
mov word [rsp + 0x46], ax
xor esi, esi
nop word [rax + rax]
movsxd rcx, eax
lea rdx, [rsp + 0x30]
lea rdx, [rdx + rcx*2]
lea ecx, [r10 + rax]
inc eax
xor word [rdx], cx
cmp eax, 0xb
jb 0x140004b10
mov dword [rsp + 0x28], esi
lea rdx, [rsp + 0x30]
xor ecx, ecx
mov qword [rsp + 0x20], rsi
mov word [rsp + 0x46], si
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140004b80
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140004b7b
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004be9
mov rcx, r8
call fcn.140074e3c
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 7
mov word [rdi], si
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x140004bca
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140004bc5
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004be9
mov rcx, r8
call fcn.140074e3c
mov qword [rbx + 0x10], rsi
mov word [rbx], si
mov rsi, qword [rsp + 0x78]
mov qword [rbx + 0x18], 7
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140004bf0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1400b4098]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
mov rdi, rcx
cmp qword [rcx + 0x18], 8
mov dword [rsp + 0x40], ebp
jb 0x140004c21
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x10000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x140004cc2
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140004c94
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140004c8f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004d6b
mov rcx, r8
call fcn.140074e3c
mov al, 1
mov word [rdi], bp
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140074920
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
cmp rsi, 0xffffffffffffffff
jne 0x140004d07
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140004d03
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140004cfe
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004d6b
mov rcx, r8
call fcn.140074e3c
xor al, al
jmp 0x140004c96
lea r9, [rsp + 0x40]
mov qword [rsp + 0x68], rbx
mov r8d, 0x41200
mov qword [rsp + 0x20], rbp
lea rdx, [0x1400b64f0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rdi + 0x18]
test bl, bl
mov rbx, qword [rsp + 0x68]
jne 0x140004d54
cmp rax, 8
jb 0x140004d03
lea rdx, [rax*2 + 2]
jmp 0x140004cda
cmp rax, 8
jb 0x140004c94
lea rdx, [rax*2 + 2]
jmp 0x140004c67
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140004d80
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1400b4098]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
mov rdi, rcx
cmp qword [rcx + 0x18], 8
mov dword [rsp + 0x40], ebp
jb 0x140004db1
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rbp
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x10000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x140004e52
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140004e24
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140004e1f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004efb
mov rcx, r8
call fcn.140074e3c
mov al, 1
mov word [rdi], bp
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbp
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140074920
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
cmp rsi, 0xffffffffffffffff
jne 0x140004e97
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x140004e93
lea rdx, [rdx*2 + 2]
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140004e8e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004efb
mov rcx, r8
call fcn.140074e3c
xor al, al
jmp 0x140004e26
lea r9, [rsp + 0x40]
mov qword [rsp + 0x68], rbx
mov r8d, 0x2400
mov qword [rsp + 0x20], rbp
lea rdx, [0x1400b40f0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rdi + 0x18]
test bl, bl
mov rbx, qword [rsp + 0x68]
jne 0x140004ee4
cmp rax, 8
jb 0x140004e93
lea rdx, [rax*2 + 2]
jmp 0x140004e6a
cmp rax, 8
jb 0x140004e24
lea rdx, [rax*2 + 2]
jmp 0x140004df7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140005f80
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
push r14
mov r14, rcx
mov rsi, r8
mov rbp, rdx
sub r14, qword [r8 + 0x30]
je 0x140006102
test byte [r8 + 0x5e], 0x40
jne 0x140005fad
xor eax, eax
mov rbp, qword [rsp + 0x30]
pop r14
pop rsi
ret
movzx edx, word [rsi + 0x14]
movzx eax, word [rsi + 6]
add rdx, 0x18
mov r8d, dword [r8 + 0xb0]
add rdx, rsi
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x140006102
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140005fe6
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140005ffd
add rdx, 0x28
cmp rdx, r9
jb 0x140005fd4
mov eax, 1
mov rbp, qword [rsp + 0x30]
pop r14
pop rsi
ret
mov qword [rsp + 0x18], rbx
mov ebx, dword [rdx + 0x14]
sub rbx, rcx
mov qword [rsp + 0x28], r15
mov r15d, dword [rsi + 0xb4]
add rbx, r8
add rbx, rbp
add r15, rbx
test rbx, rbx
je 0x1400060f8
cmp rbx, r15
jae 0x1400060f8
mov qword [rsp + 0x20], rdi
mov eax, dword [rbx + 4]
test eax, eax
je 0x1400060f3
add eax, 0xfffffff8
shr eax, 1
je 0x1400060e4
lea r11, [rbx + 8]
mov edi, eax
movzx r8d, word [r11]
movzx eax, r8w
shr ax, 0xc
and r8d, 0x80000fff
jge 0x140006072
dec r8d
or r8d, 0xfffff000
inc r8d
cmp ax, 3
je 0x14000607e
cmp ax, 0xa
jne 0x1400060d6
movzx eax, word [rsi + 0x14]
movzx ecx, word [rsi + 6]
add rax, 0x18
mov r9d, dword [rbx]
add rax, rsi
lea rdx, [rcx + rcx*4]
lea r10, [rax + rdx*8]
cmp rax, r10
jae 0x1400060cb
nop dword [rax]
mov edx, dword [rax + 0xc]
cmp r9, rdx
jb 0x1400060b2
mov ecx, dword [rax + 8]
add ecx, edx
cmp r9, rcx
jb 0x1400060bd
add rax, 0x28
cmp rax, r10
jb 0x1400060a0
jmp 0x1400060cb
mov ecx, dword [rax + 0x14]
sub rcx, rdx
add rcx, r9
add rcx, rbp
jne 0x1400060ce
mov rcx, rbp
movzx eax, r8w
add qword [rax + rcx], r14
add r11, 2
sub rdi, 1
jne 0x140006050
mov eax, dword [rbx + 4]
add rbx, rax
cmp rbx, r15
jb 0x140006034
mov rdi, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
mov r15, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov eax, 1
pop r14
pop rsi
ret
Function at 0x140006110
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rdi
push r13
sub rsp, 0x40
movzx eax, word [r8 + 0x14]
lea r10, [r8 + 0x18]
mov r11d, dword [r8 + 0x90]
add r10, rax
movzx eax, word [r8 + 6]
mov rbp, r8
mov r13, rdx
mov edi, ecx
lea r9, [rax + rax*4]
lea r8, [r10 + r9*8]
cmp r10, r8
jae 0x140006171
nop dword [rax]
mov ecx, dword [r10 + 0xc]
cmp r11, rcx
jb 0x140006168
mov eax, dword [r10 + 8]
add eax, ecx
cmp r11, rax
jb 0x140006205
add r10, 0x28
cmp r10, r8
jb 0x140006150
xor eax, eax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
test r11d, r11d
je 0x1400061de
cmp dword [rbp + 0x94], 0
je 0x1400061de
lea rbx, [rax + 0x10]
movzx edx, word [rbp + 0x14]
movzx eax, word [rbp + 6]
add rdx, 0x18
mov r8d, dword [rbx - 4]
add rdx, rbp
mov qword [rsp + 0x70], rbx
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x1400061de
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x1400061d5
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x140006217
add rdx, 0x28
cmp rdx, r9
jb 0x1400061c3
mov eax, 1
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r13
pop rdi
pop rbp
ret
mov eax, dword [r10 + 0x14]
sub rax, rcx
add rax, r11
add rax, r13
jmp 0x140006173
mov r15d, dword [rdx + 0x14]
sub r15, rcx
add r15, r8
add r15, r13
je 0x1400061de
mov rdx, r15
mov ecx, edi
call fcn.140005470
mov r12, rax
test rax, rax
je 0x140006352
movzx edx, word [rbp + 0x14]
movzx eax, word [rbp + 6]
add rdx, 0x18
mov r8d, dword [rbx]
add rdx, rbp
lea rcx, [rax + rax*4]
lea r9, [rdx + rcx*8]
cmp rdx, r9
jae 0x14000627b
nop dword [rax + rax]
mov ecx, dword [rdx + 0xc]
cmp r8, rcx
jb 0x140006272
mov eax, dword [rdx + 8]
add eax, ecx
cmp r8, rax
jb 0x1400062a0
add rdx, 0x28
cmp rdx, r9
jb 0x140006260
xor r14d, r14d
mov rdi, qword [r14]
test rdi, rdi
je 0x140006337
jns 0x1400062af
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
movzx edx, di
jmp 0x140006300
mov r14d, dword [rdx + 0x14]
sub r14, rcx
add r14, r8
add r14, r13
jmp 0x14000627e
movzx eax, word [rbp + 0x14]
movzx ecx, word [rbp + 6]
add rax, 0x18
add rax, rbp
lea rdx, [rcx + rcx*4]
lea r8, [rax + rdx*8]
cmp rax, r8
jae 0x1400062eb
nop dword [rax + rax]
mov edx, dword [rax + 0xc]
cmp rdi, rdx
jb 0x1400062e2
mov ecx, dword [rax + 8]
add ecx, edx
cmp rdi, rcx
jb 0x140006344
add rax, 0x28
cmp rax, r8
jb 0x1400062d0
xor esi, esi
xor edx, edx
mov rcx, r15
lea r8d, [rdx + 1]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
lea rdx, [rsi + 2]
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov rcx, rbx
sub rdi, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rax, [rdi + r12]
mov qword [r14], rax
add r14, 8
mov rdi, qword [r14]
test rdi, rdi
jne 0x14000628a
mov rbx, qword [rsp + 0x70]
mov edi, dword [rsp + 0x60]
add rbx, 0x14
jmp 0x14000619e
mov esi, dword [rax + 0x14]
sub rsi, rdx
add rsi, rdi
add rsi, r13
jmp 0x1400062ed
jmp 0x1400061e3
Function at 0x1400063d0
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x270
mov rax, qword [0x1400b4098]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov rdi, rcx
xor esi, esi
xor edx, edx
lea ecx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140006470
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140006470
nop word [rax + rax]
lea r8, [rsp + 0x4c]
mov rax, rdi
sub r8, rdi
nop dword [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140006454
add rax, 2
test ecx, ecx
jne 0x140006440
test edx, edx
je 0x14000646c
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140006430
jmp 0x140006470
mov esi, dword [rsp + 0x28]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.140074920
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret