joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180015850
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x1802609a8]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rcx
mov qword [rsp + 0x20], rcx
xor r12d, r12d
mov ebx, r12d
lea r15, [0x1801b86c2]
inc rbx
mov r14, qword [rdi + 0x10]
mov rsi, rdi
mov rbp, qword [rdi + 0x18]
cmp rbp, 0x10
jb 0x1800158a7
mov rsi, qword [rdi]
cmp rbx, r14
jae 0x180015906
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x50]
call fcn.18017cc00
lea rcx, [0x1801b86c0]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rsp + rax + 0x50], 1
inc rcx
cmp rcx, r15
jne 0x1800158d0
lea rcx, [r14 + rsi]
add rbx, rsi
cmp rbx, rcx
jae 0x180015906
nop dword [rax]
movzx eax, byte [rbx]
cmp byte [rsp + rax + 0x50], r12b
jne 0x180015a11
inc rbx
cmp rbx, rcx
jb 0x1800158f0
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], r12b
mov r8, rbx
cmp r14, rbx
cmovb r8, r14
mov rdx, rdi
cmp rbp, 0x10
jb 0x180015936
mov rdx, qword [rdi]
lea rcx, [rsp + 0x28]
call fcn.18001b120
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rcx, qword [rsp + 0x28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x180015996
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015991
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180015a19
call fcn.18015dea8
cmp rbx, 0xffffffffffffffff
jne 0x180015890
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800159d6
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x1800159d1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180015a1f
mov rcx, r8
call fcn.18015dea8
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.18015e5e0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
sub rbx, rsi
jmp 0x18001590d
call fcn.1801810ec
nop
call fcn.1801810ec
int3
Function at 0x18001cf00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov r14, r8
mov rsi, rdx
mov rbx, rcx
test r8, r8
jg 0x18001cf31
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rdi
je 0x18001cfab
mov rdi, r14
mov rcx, rbx
call fcn.18001a950
test rax, rax
jle 0x18001cf83
mov rdx, qword [rbx + 0x38]
cmp rdi, rax
mov rbp, rdi
mov rcx, rsi
cmovge rbp, rax
mov r8, rbp
mov rdx, qword [rdx]
call fcn.18017c7f0
mov rax, qword [rbx + 0x50]
sub rdi, rbp
sub dword [rax], ebp
mov rcx, qword [rbx + 0x38]
movsxd rax, ebp
add qword [rcx], rax
jmp 0x18001cf9b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
cmp eax, 0xffffffff
je 0x18001cfa3
mov byte [rsi], al
dec rdi
mov ebp, 1
add rsi, rbp
test rdi, rdi
jg 0x18001cf45
sub r14, rdi
jmp 0x18001d098
mov rax, qword [rcx + 0x38]
mov rbp, r14
mov rdx, qword [rax]
test rdx, rdx
je 0x18001cfc2
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18001cfc4
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x18001cff9
cmp rax, r14
mov rdi, r14
mov rcx, rsi
cmovb rdi, rax
mov r8, rdi
call fcn.18017c7f0
mov rax, qword [rbx + 0x50]
sub rbp, rdi
add rsi, rdi
mov r8, rbp
sub dword [rax], edi
mov rcx, qword [rbx + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rbx + 0x80], 0
je 0x18001d095
mov r9, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r9], rax
jne 0x18001d034
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x18001d070
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rsi
call fcn.180181cf0
sub rbp, rax
add rsi, rax
mov rdi, rbp
cmp rax, 0xfff
jne 0x18001d0b6
cmp rbp, rax
ja 0x18001d040
mov r8, rdi
test rdi, rdi
je 0x18001d095
mov r9, qword [rbx + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, rsi
call fcn.180181cf0
mov r8, rdi
sub r8, rax
sub r14, r8
mov rbp, qword [rsp + 0x30]
mov rax, r14
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
sub r14, rbp
jmp 0x18001d098
Function at 0x18001d170
Capabilities:
Write file on windows

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 qword [rcx + 0x68], 0
mov r14, r8
mov rbp, rdx
mov rdi, rcx
je 0x18001d20a
mov rbx, r8
test r8, r8
jle 0x18001d202
mov rcx, rdi
call fcn.18001aea0
test rax, rax
jle 0x18001d1e0
mov rcx, qword [rdi + 0x40]
cmp rbx, rax
mov rsi, rbx
mov rdx, rbp
cmovge rsi, rax
mov r8, rsi
mov rcx, qword [rcx]
call fcn.18017c7f0
mov rax, qword [rdi + 0x58]
sub rbx, rsi
sub dword [rax], esi
mov rcx, qword [rdi + 0x40]
movsxd rax, esi
add qword [rcx], rax
jmp 0x18001d1fa
mov rax, qword [rdi]
mov rcx, rdi
movzx edx, byte [rbp]
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x18001d202
dec rbx
mov esi, 1
add rbp, rsi
test rbx, rbx
jg 0x18001d1a2
sub r14, rbx
mov rax, r14
jmp 0x18001d281
mov rax, qword [rcx + 0x40]
mov rsi, r14
mov r9, qword [rax]
test r9, r9
je 0x18001d221
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x18001d223
xor ecx, ecx
movsxd rbx, ecx
test r14, r14
jle 0x18001d27b
test ecx, ecx
jle 0x18001d257
cmp r14, rbx
mov rcx, r9
cmovl rbx, r14
mov r8, rbx
call fcn.18017c7f0
mov rax, qword [rdi + 0x58]
add rbp, rbx
sub r14, rbx
sub dword [rax], ebx
mov rcx, qword [rdi + 0x40]
movsxd rax, ebx
add qword [rcx], rax
test r14, r14
jle 0x18001d27b
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x18001d27b
mov r8, r14
mov edx, 1
mov rcx, rbp
call fcn.180182258
sub r14, rax
sub rsi, r14
mov rax, rsi
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

Function at 0x180020490
Capabilities:
Encode data using xor

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
mov rdi, r8
mov rsi, r9
shl rsi, 4
mov rbp, r9
mov rbx, rdx
mov r14, rcx
mov r8, rsi
mov r10, rdi
cmp rsi, 0x10
jb 0x180020501
mov r9, rsi
mov r11, rdi
shr r9, 4
sub r11, rdx
imul rax, r9, 0xfffffffffffffff0
add r8, rax
nop dword [rax]
mov rcx, qword [r11 + rdx + 8]
xor rcx, qword [rdx + 8]
mov rax, qword [r10]
add r10, 0x10
xor qword [rdx], rax
mov qword [rdx + 8], rcx
add rdx, 0x10
sub r9, 1
jne 0x1800204e0
test r8, r8
je 0x180020521
sub r10, rdx
nop dword [rax]
movzx eax, byte [r10 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x180020510
mov rax, qword [r14]
mov r9, rbp
mov r8, rbx
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x48]
cmp rsi, 0x10
jb 0x180020571
mov rdx, rsi
mov r8, rdi
shr rdx, 4
sub r8, rbx
imul rax, rdx, 0xfffffffffffffff0
add rsi, rax
nop dword [rax]
mov rcx, qword [r8 + rbx + 8]
xor rcx, qword [rbx + 8]
mov rax, qword [rdi]
add rdi, 0x10
xor qword [rbx], rax
mov qword [rbx + 8], rcx
add rbx, 0x10
sub rdx, 1
jne 0x180020550
test rsi, rsi
je 0x180020590
sub rdi, rbx
nop dword [rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x180020580
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
Function at 0x1800205b0
Capabilities:
Encode data using xor

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
mov rax, qword [rcx]
mov rbp, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
call qword [rax + 0x28]
mov r8, rdi
mov rdx, rbx
mov rsi, rax
imul rsi, rbp
mov r10, rsi
cmp rsi, 0x10
jb 0x180020631
mov r9, rsi
mov r11, rdi
shr r9, 4
sub r11, rbx
imul rax, r9, 0xfffffffffffffff0
add r10, rax
nop word [rax + rax]
mov rcx, qword [r11 + rdx + 8]
xor rcx, qword [rdx + 8]
mov rax, qword [r8]
add r8, 0x10
xor qword [rdx], rax
mov qword [rdx + 8], rcx
add rdx, 0x10
sub r9, 1
jne 0x180020610
test r10, r10
je 0x180020651
sub r8, rdx
nop dword [rax]
movzx eax, byte [r8 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r10, 1
jne 0x180020640
mov rax, qword [r14]
mov r9, rbp
mov r8, rbx
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x48]
cmp rsi, 0x10
jb 0x1800206a1
mov rdx, rsi
mov r8, rdi
shr rdx, 4
sub r8, rbx
imul rax, rdx, 0xfffffffffffffff0
add rsi, rax
nop dword [rax]
mov rcx, qword [r8 + rbx + 8]
xor rcx, qword [rbx + 8]
mov rax, qword [rdi]
add rdi, 0x10
xor qword [rbx], rax
mov qword [rbx + 8], rcx
add rbx, 0x10
sub rdx, 1
jne 0x180020680
test rsi, rsi
je 0x1800206c0
sub rdi, rbx
nop dword [rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x1800206b0
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

Function at 0x1800206e0
Capabilities:
Encode data using xor

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
mov rdi, r8
mov rsi, r9
shl rsi, 4
mov rbp, r9
mov rbx, rdx
mov r14, rcx
mov r8, rsi
mov r10, rdi
cmp rsi, 0x10
jb 0x180020751
mov r9, rsi
mov r11, rdi
shr r9, 4
sub r11, rdx
imul rax, r9, 0xfffffffffffffff0
add r8, rax
nop dword [rax]
mov rcx, qword [r11 + rdx + 8]
xor rcx, qword [rdx + 8]
mov rax, qword [r10]
add r10, 0x10
xor qword [rdx], rax
mov qword [rdx + 8], rcx
add rdx, 0x10
sub r9, 1
jne 0x180020730
test r8, r8
je 0x180020771
sub r10, rdx
nop dword [rax]
movzx eax, byte [r10 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne 0x180020760
mov rax, qword [r14]
mov r9, rbp
mov r8, rbx
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x40]
cmp rsi, 0x10
jb 0x1800207c1
mov rdx, rsi
mov r8, rdi
shr rdx, 4
sub r8, rbx
imul rax, rdx, 0xfffffffffffffff0
add rsi, rax
nop dword [rax]
mov rcx, qword [r8 + rbx + 8]
xor rcx, qword [rbx + 8]
mov rax, qword [rdi]
add rdi, 0x10
xor qword [rbx], rax
mov qword [rbx + 8], rcx
add rbx, 0x10
sub rdx, 1
jne 0x1800207a0
test rsi, rsi
je 0x1800207e0
sub rdi, rbx
nop dword [rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x1800207d0
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
Function at 0x180020800
Capabilities:
Encode data using xor

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
mov rax, qword [rcx]
mov rbp, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
call qword [rax + 0x28]
mov r8, rdi
mov rdx, rbx
mov rsi, rax
imul rsi, rbp
mov r10, rsi
cmp rsi, 0x10
jb 0x180020881
mov r9, rsi
mov r11, rdi
shr r9, 4
sub r11, rbx
imul rax, r9, 0xfffffffffffffff0
add r10, rax
nop word [rax + rax]
mov rcx, qword [r11 + rdx + 8]
xor rcx, qword [rdx + 8]
mov rax, qword [r8]
add r8, 0x10
xor qword [rdx], rax
mov qword [rdx + 8], rcx
add rdx, 0x10
sub r9, 1
jne 0x180020860
test r10, r10
je 0x1800208a1
sub r8, rdx
nop dword [rax]
movzx eax, byte [r8 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub r10, 1
jne 0x180020890
mov rax, qword [r14]
mov r9, rbp
mov r8, rbx
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x40]
cmp rsi, 0x10
jb 0x1800208f1
mov rdx, rsi
mov r8, rdi
shr rdx, 4
sub r8, rbx
imul rax, rdx, 0xfffffffffffffff0
add rsi, rax
nop dword [rax]
mov rcx, qword [r8 + rbx + 8]
xor rcx, qword [rbx + 8]
mov rax, qword [rdi]
add rdi, 0x10
xor qword [rbx], rax
mov qword [rbx + 8], rcx
add rbx, 0x10
sub rdx, 1
jne 0x1800208d0
test rsi, rsi
je 0x180020910
sub rdi, rbx
nop dword [rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x180020900
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

Function at 0x180020d00
Capabilities:
Encode data using xor

Disassembly:
mov r9, rdx
cmp r8, 0x10
jb 0x180020d40
mov r10, r8
shr r10, 4
imul rax, r10, 0xfffffffffffffff0
add r8, rax
nop word [rax + rax]
mov rdx, qword [r9 + 8]
xor rdx, qword [rcx + 8]
mov rax, qword [r9]
add r9, 0x10
xor qword [rcx], rax
mov qword [rcx + 8], rdx
add rcx, 0x10
sub r10, 1
jne 0x180020d20
test r8, r8
je 0x180020d61
sub r9, rcx
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x180020d50
ret
Function at 0x180022750
Capabilities:
Parse pe header

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0xb0
mov rax, qword [0x1802609a8]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
test rdx, rdx
jne 0x180022783
lea ecx, [rdx + 0x57]
jmp 0x18002282b
xorps xmm0, xmm0
lea r8, [rsp + 0x30]
mov r9d, 0x30
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQueryEx]
test rax, rax
je 0x180022831
mov r9d, 0x40
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x60]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x180022831
mov eax, 0x5a4d
cmp word [rsp + 0x60], ax
jne 0x180022826
movsxd rdx, dword [rsp + 0x9c]
mov eax, edx
cmp rax, qword [rsp + 0x48]
ja 0x180022826
cmp edx, 0x40
jb 0x180022826
add rdx, rbx
mov qword [rsp + 0x20], 0
mov r9d, 0xf8
mov r8, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x180022831
cmp dword [rdi], 0x4550
jne 0x180022826
mov eax, 1
jmp 0x180022833
mov ecx, 0xc1
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.18015e5e0
add rsp, 0xb0
pop rdi
pop rsi
pop rbx
ret

Function at 0x180023cc0
Capabilities:
Allocate or change rwx memory

Disassembly:
sub rsp, 0x28
cmp dword [0x180269808], 0
jne 0x180023d67
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, eax
xor eax, eax
lock cmpxchg dword [0x180269808], ecx
jne 0x180023d67
mov qword [rsp + 0x38], rbx
mov rbx, qword [0x1802697f0]
mov qword [rsp + 0x20], rdi
xor edi, edi
mov qword [0x180269820], rdi
mov qword [0x180269818], rdi
mov qword [0x180269810], rdi
test rbx, rbx
je 0x180023d50
nop word [rax + rax]
lea r9, [rsp + 0x30]
mov edx, 0x10000
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180023d48
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x180023d20
jmp 0x180023d50
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rbx, qword [rsp + 0x38]
mov eax, edi
mov dword [0x18026980c], edi
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret
mov eax, 0x10dd
add rsp, 0x28
ret
Function at 0x180024500
Capabilities:
Suspend thread

Disassembly:
push rdi
sub rsp, 0x20
mov eax, dword [0x18026980c]
mov rdi, rcx
test eax, eax
jne 0x1800245a3
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp rdi, rax
jne 0x18002452a
xor eax, eax
add rsp, 0x20
pop rdi
ret
mov ecx, 0x10
mov qword [rsp + 0x30], rbx
call fcn.18015de64
mov rbx, rax
test rax, rax
jne 0x180024546
lea edi, [rax + 8]
jmp 0x180024569
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x180024587
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov edx, 0x10
mov rcx, rbx
call fcn.18015dea8
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov dword [0x18026980c], edi
mov qword [0x180269810], 0
add rsp, 0x20
pop rdi
ret
mov rax, qword [0x180269818]
mov qword [rbx], rax
xor eax, eax
mov qword [rbx + 8], rdi
mov qword [0x180269818], rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1800249f0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x20
mov rbp, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x180269808], eax
je 0x180024a1e
mov eax, 0x10dd
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
mov eax, dword [0x18026980c]
test eax, eax
jne 0x180024b55
test rbp, rbp
jne 0x180024a3f
lea eax, [rbp + 0x57]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
test rsi, rsi
je 0x180024a5b
cmp qword [rsi], 0
jne 0x180024a6b
mov dword [0x18026980c], 6
mov qword [0x180269810], rsi
mov eax, 6
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rbx
mov ecx, 0x30
mov qword [rsp + 0x38], rdi
call fcn.18015de64
mov rbx, rax
test rax, rax
jne 0x180024a8f
lea edi, [rax + 8]
jmp 0x180024b2a
mov rcx, qword [rsi]
xor edx, edx
call fcn.180024bf0
xor edx, edx
mov rcx, rbp
mov rdi, rax
call fcn.180024bf0
movzx ecx, byte [rdi + 0x3e]
mov rbp, qword [rdi + 0x48]
sub rbp, rcx
test cl, cl
je 0x180024b1c
mov edx, ecx
cmp rcx, 0x1e
ja 0x180024b1c
cmp qword [rdi + 0x50], rax
jne 0x180024b1c
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], 0
mov r8d, 0x40
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180024aed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x180024b2a
mov dword [rbx + 8], 1
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x20], rdi
mov qword [rbx + 0x18], rbp
mov eax, dword [rsp + 0x40]
mov dword [rbx + 0x28], eax
mov rax, qword [0x180269820]
mov qword [rbx], rax
xor eax, eax
mov qword [0x180269820], rbx
jmp 0x180024b4b
cmp dword [0x180269800], 0
mov edi, 9
jne 0x180024b30
mov dword [0x18026980c], edi
test rbx, rbx
je 0x180024b42
mov edx, 0x30
mov rcx, rbx
call fcn.18015dea8
mov qword [0x180269810], rsi
mov eax, edi
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret

Function at 0x180024f00
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x50
mov rbx, rdx
mov r8d, 0x30
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
nop
mov eax, 0x5a4d
mov rcx, qword [rsp + 0x28]
cmp word [rcx], ax
je 0x180024f2e
xor al, al
jmp 0x180024f70
movsxd rdx, dword [rcx + 0x3c]
cmp dword [rdx + rcx], 0x4550
je 0x180024f3f
xor al, al
jmp 0x180024f70
mov r8d, dword [rdx + rcx + 0xe8]
lea rax, [r8 + rcx]
cmp rbx, rax
jb 0x180024f66
mov eax, dword [rdx + rcx + 0xec]
add rax, r8
add rax, rcx
cmp rbx, rax
jae 0x180024f66
mov al, 1
jmp 0x180024f70
xor al, al
add rsp, 0x50
pop rbx
ret
add rsp, 0x50
pop rbx
ret
Function at 0x180025090
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
movzx eax, cx
mov rdi, rdx
mov rbx, rcx
test rax, rax
je 0x1800250b2
sub rbx, rax
add rbx, 0x10000
cmp rbx, rdi
jae 0x18002516d
nop dword [rax + rax]
cmp rbx, qword [0x180260918]
jb 0x1800250de
cmp rbx, qword [0x180260920]
ja 0x1800250de
add rbx, 0x8000000
jmp 0x180025164
xorps xmm0, xmm0
lea rdx, [rsp + 0x20]
mov r8d, 0x30
mov rcx, rbx
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x18002516d
cmp dword [rsp + 0x40], 0x10000
mov rcx, qword [rsp + 0x38]
jne 0x180025149
cmp rcx, 0x10000
jb 0x180025149
mov edx, 0x10000
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x18002516f
add rbx, 0x10000
jmp 0x180025164
mov rbx, qword [rsp + 0x20]
add rbx, rcx
movzx ecx, bx
test rcx, rcx
je 0x180025164
mov eax, 0x10000
sub rax, rcx
add rbx, rax
cmp rbx, rdi
jb 0x1800250c0
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret

Function at 0x180025180
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
add rdx, 0xffffffffffff0000
mov rdi, rcx
movzx eax, dx
mov rbx, rdx
sub rbx, rax
test rax, rax
cmove rbx, rdx
cmp rbx, rcx
jbe 0x18002525b
nop dword [rax]
cmp rbx, qword [0x180260918]
jb 0x1800251ce
cmp rbx, qword [0x180260920]
ja 0x1800251ce
sub rbx, 0x8000000
jmp 0x180025252
xorps xmm0, xmm0
lea rdx, [rsp + 0x20]
mov r8d, 0x30
mov rcx, rbx
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x18002525b
cmp dword [rsp + 0x40], 0x10000
jne 0x180025236
cmp qword [rsp + 0x38], 0x10000
jb 0x180025236
mov edx, 0x10000
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x18002525d
sub rbx, 0x10000
jmp 0x180025252
mov rcx, qword [rsp + 0x28]
add rcx, 0xffffffffffff0000
movzx eax, cx
mov rbx, rcx
sub rbx, rax
test rax, rax
cmove rbx, rcx
cmp rbx, rdi
ja 0x1800251b0
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
Function at 0x180025350
Capabilities:
Hook routines via microsoft detours

Disassembly:
push rbx
sub rsp, 0x20
lea rbx, [rcx - 0x7ff80000]
mov r9, rcx
cmp rcx, 0x7ff80000
ja 0x18002536e
mov ebx, 0x80000
mov qword [rsp + 0x30], rdi
lea rdi, [rcx + 0x7ff80000]
cmp r9, 0xffffffff80000000
jb 0x18002538a
mov rdi, 0xfffffffffff80000
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x1800253a1
cmp byte [rcx + 1], 0x25
jne 0x1800253a1
movsxd rax, dword [rcx + 2]
add rcx, 6
jmp 0x1800253ad
cmp al, 0xe9
jne 0x1800253e5
movsxd rax, dword [rcx + 1]
add rcx, 5
add rcx, rax
cmp rcx, r9
jae 0x1800253d0
cmp rcx, 0xffffffff80000000
jae 0x1800253c7
lea rdi, [rcx + 0x7ff80000]
jmp 0x1800253e5
mov rdi, 0xfffffffffff80000
jmp 0x1800253e5
lea rbx, [rcx - 0x7ff80000]
cmp rcx, 0x7ff80000
ja 0x1800253e5
mov ebx, 0x80000
mov rax, qword [0x1802697f8]
mov rcx, qword [0x1802697f0]
test rax, rax
jne 0x180025407
test rcx, rcx
je 0x18002541e
mov rax, rcx
mov qword [0x1802697f8], rcx
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x18002541e
cmp rdx, rbx
jb 0x18002541e
cmp rdx, rdi
jbe 0x1800254c9
mov qword [0x1802697f8], rcx
mov rax, rcx
test rcx, rcx
je 0x180025459
test rcx, rcx
je 0x180025449
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x180025449
cmp rcx, rbx
jb 0x180025449
cmp rcx, rdi
jbe 0x1800254c9
mov rax, qword [rax + 8]
mov qword [0x1802697f8], rax
test rax, rax
jne 0x180025432
movzx eax, r9w
mov r8, rdi
sub r9, rax
mov rdx, rbx
mov rcx, r9
call fcn.180025270
test rax, rax
je 0x18002550c
mov dword [rax], 0x52727464
lea rdx, [rax + 0xffa8]
xor r8d, r8d
mov qword [0x1802697f8], rax
mov qword [rax + 0x10], r8
mov r9d, 0x2a7
mov rcx, qword [0x1802697f0]
mov qword [rax + 8], rcx
lea rcx, [rax + 0xff60]
mov qword [0x1802697f0], rax
mov qword [rdx], r8
lea rdx, [rdx - 0x60]
mov r8, rcx
sub rcx, 0x60
sub r9, 1
jne 0x1800254b1
mov qword [rax + 0x10], r8
mov rdx, qword [rax + 0x10]
cmp rdx, rbx
jb 0x18002550c
cmp rdx, rdi
ja 0x18002550c
mov rcx, qword [rdx + 0x48]
movdqa xmm0, xmmword [0x1801b9cf0]
mov qword [rax + 0x10], rcx
mov rax, rdx
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm0
movups xmmword [rdx + 0x40], xmm0
movups xmmword [rdx + 0x50], xmm0
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
mov rdi, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x20
pop rbx
ret