joyce8/EMBER2024-capa huggingface dataset:
Function at 0x462620
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x402ba3
push rbp
mov rbp, rsp
sub rsp, 0x18
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, rdx
call fcn.004085e0
add rsp, 0x18
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp 0x402b80
cmp byte [0x005ed34b], 0
je 0x462635
mov rcx, qword [rax + 8]
mov rax, qword [rax]
jmp 0x45f880
jmp 0x402b80

Function at 0x462640
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov eax, dword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005ed6c0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d124b
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005ed34b], 0
je 0x462675
movq xmm0, rbx
pinsrd xmm0, dword [rax], 2
aesenc xmm0, xmmword [0x005ed980]
aesenc xmm0, xmmword [0x005ed990]
aesenc xmm0, xmmword [0x005ed9a0]
movq rax, xmm0
ret
jmp 0x408800

Function at 0x462680
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
nop
mov rax, qword [rax]
movabs rcx, 0xe7037ed1a0b428db
xor rcx, rax
xor rax, rbx
xor rax, qword [0x005ed6c0]
movabs rdx, 0xa0761d6478bd642f
xor rdx, rax
mov rax, rcx
mul rdx
xor rax, rdx
mov rcx, rax
movabs rax, 0x1d8e4e27c47d1247
mul rcx
xor rax, rdx
nop
nop
ret
cmp byte [0x005ed34b], 0
je 0x4626b6
movq xmm0, rbx
pinsrq xmm0, qword [rax], 1
aesenc xmm0, xmmword [0x005ed980]
aesenc xmm0, xmmword [0x005ed990]
aesenc xmm0, xmmword [0x005ed9a0]
movq rax, xmm0
ret
jmp 0x408860

Function at 0x4643c0
Capabilities:
Allocate thread local storage

Disassembly:
push rbp
mov rbp, rsp
mov rax, rsp
and rsp, 0xfffffffffffffff0
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rax, qword [sym.imp.kernel32.dll_TlsAlloc]
call rax
mov rsp, qword [rsp + 0x20]
mov rcx, rax
cmp rcx, 0x40
jb 0x4643f4
mov rcx, 0x28
jmp 0x4643ff
shl rcx, 3
add rcx, 0x1480
mov qword [0x005ed580], rcx
pop rbp
ret
Function at 0x46e320
Capabilities:
Hash data using fnv

Disassembly:
test byte [rax], al
mov rcx, rbx
and ebx, 0x7f
shl rbx, 5
lea rdx, [rax + rbx]
xor eax, eax
jmp 0x46e337
inc rax
cmp rax, 4
jge 0x46e34f
lea rbx, [rdx + rax*8]
mov rbx, qword [rbx]
cmp rbx, rcx
jne 0x46e334
mov eax, 1
ret
xor eax, eax
movabs rbx, 0xcbf29ce484222325
jmp 0x46e360
inc rax
cmp rax, 4
jge 0x46e36e
mov rsi, qword [rdx + rax*8]
xor edi, edi
jmp 0x46e397
and ebx, 3
lea rdx, [rdx + rbx*8]
xchg qword [rdx], rcx
xor eax, eax
ret
movzx r8d, sil
xor rbx, r8
inc rdi
shr rsi, 8
movabs r8, 0x100000001b3
imul rbx, r8
cmp rdi, 8
jl 0x46e37b
jmp 0x46e35d

Function at 0x473bc0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x473c8a
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0
call fcn.00402aa0
xorps xmm15, xmm15
mov r14, qword [0x005ed580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
jne 0x473c6f
mov rcx, qword [rsp + 0x60]
lea rdx, [rcx + 1]
mov qword [rsp + 0x40], rdx
lea rax, [0x004c33e0]
xor ebx, ebx
mov rcx, rdx
call fcn.00449320
mov rbx, qword [rsp + 0x60]
mov rcx, rax
xor edi, edi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.004750e0
inc rbx
cmp rcx, rbx
jae 0x473c5e
mov edi, 1
lea rsi, [0x004c33e0]
call fcn.00449400
mov word [rax + rbx*2 - 2], 0
xor edi, edi
xor esi, esi
add rsp, 0x48
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00509248]
lea rsi, [0x00508cc0]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460840
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00473bc0
Function at 0x4977a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4978ee
push rbp
mov rbp, rsp
sub rsp, 0x68
movups xmmword [rsp + 0x40], xmm15
mov qword [rsp + 0x30], 0
mov rax, qword [0x00592cd0]
call fcn.0046e5a0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rax
movups xmmword [rsp + 0x50], xmm15
mov qword [rsp + 0x60], 0
lea rcx, [0x00497900]
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2b
call fcn.00402aa0
xorps xmm15, xmm15
mov r14, qword [0x005ed580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x4978b2
mov rdx, qword [rsp + 0x28]
nop dword [rax + rax]
cmp rdx, rcx
jb 0x4978e8
mov qword [rsp + 0x20], rcx
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov rbx, rcx
lea rdx, [rsp + 0x50]
call rsi
mov rax, qword [rsp + 0x20]
lea rcx, [rax + 1]
mov rbx, qword [rsp + 0x28]
cmp rbx, rcx
jb 0x4978dd
mov rsi, qword [rsp + 0x50]
sub rbx, rax
dec rbx
mov rdi, rbx
neg rdi
sar rdi, 0x3f
and rcx, rdi
mov rdi, qword [rsp + 0x38]
lea rax, [rdi + rcx]
lea rdx, [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
add rsp, 0x68
pop rbp
ret
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
lea rdx, [rsp + 0x50]
call rcx
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
add rsp, 0x68
pop rbp
ret
mov rax, rcx
mov rcx, rbx
call fcn.00462b80
call fcn.00462b00
nop
call fcn.00460840
jmp fcn.004977a0
Function at 0x4b21e0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x4b2429
push rbp
mov rbp, rsp
sub rsp, 0xa8
nop word [rax + rax]
test rax, rax
je 0x4b2414
mov qword [rsp + 0xb8], rax
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x4b2222
xor ebx, ebx
xor ecx, ecx
nop
jmp 0x4b223c
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
mov rax, rdx
call fcn.004a4f60
mov rcx, rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x48], rbx
cmp qword [rax + 0x28], 0
je 0x4b2351
mov rcx, qword [rax + 0x18]
mov rax, rcx
nop dword [rax + rax]
call fcn.0046bfe0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x58], rbx
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rcx + 0x20]
mov r9, qword [rcx + 0x28]
mov rcx, qword [rsp + 0x48]
lea rdi, [0x00507f50]
mov esi, 1
lea rax, [rsp + 0x68]
mov rbx, qword [rsp + 0x88]
call fcn.0044d180
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x3a
call fcn.00402aa0
xorps xmm15, xmm15
mov r14, qword [0x005ed580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0
jl 0x4b231b
xor eax, eax
lea rbx, [0x004e2218]
mov ecx, 1
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x60]
lea r8, [0x004e2227]
mov r9d, 2
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0x58]
call fcn.0044d240
jmp 0x4b2348
xor eax, eax
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
lea rdi, [0x00507ea8]
mov esi, 1
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x58]
call fcn.0044d180
add rsp, 0xa8
pop rbp
ret
mov rax, qword [rax + 0x18]
call fcn.0046bfe0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x50], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 8], rdx
mov byte [rsp + 0x10], 0x3a
call fcn.00402aa0
xorps xmm15, xmm15
mov r14, qword [0x005ed580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0
nop
jl 0x4b23de
xor eax, eax
lea rbx, [0x004e2218]
mov ecx, 1
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x48]
lea r8, [0x004e2227]
mov r9d, 2
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x50]
call fcn.0044d240
jmp 0x4b240b
xor eax, eax
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
lea rdi, [0x00507ea8]
mov esi, 1
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x50]
call fcn.0044d180
add rsp, 0xa8
pop rbp
ret
lea rax, [0x004e24d7]
mov ebx, 5
add rsp, 0xa8
pop rbp
ret
mov qword [rsp + 8], rax
call fcn.00460840
mov rax, qword [rsp + 8]
jmp fcn.004b21e0
Function at 0x14087b3fb
Capabilities:
Encode data using xor

Disassembly:
lea rsp, [rsp + 0x10]
jmp fcn.14087c1a6
jg 0x14085501e
lea rsp, [rsp + 0x38]
jle fcn.1408745f7
mov r10d, 0xd91f0ba0
push r10
push r10
movzx dx, byte [rbx + riz]
bt r10, r10
mov byte [rsp + 0xb], socket
inc r10d
mov r10b, byte [rbx + riz + 2]
adc rbx, 2
ror word [rsp], 0x69
add dl, r10b
mov word [rbx], dx
jmp 0x140838db6
Function at 0x1800012b8
Capabilities:
Check for peb beingdebugged flag
Terminate process

Disassembly:
sub rsp, 0x28
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 1
jne 0x1800012d4
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xor eax, eax
add rsp, 0x28
ret

Function at 0x180001e48
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
sub rsp, 0x240
mov rbx, rcx
lea r8, [rax + 8]
xor ecx, ecx
mov edx, 0x23
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x208
call fcn.18000b8a0
mov rcx, qword [rsp + 0x250]
lea rdx, [rsp + 0x30]
call qword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movups xmmword [rbx], xmm0
and qword [rbx + 0x10], 0
and qword [rbx + 0x18], 0
call fcn.18000ef78
mov r8, rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180004fa4
mov rax, rbx
add rsp, 0x240
pop rbx
ret

Function at 0x180002020
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x260
mov rsi, rcx
xor ebx, ebx
xor edx, edx
lea ecx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
jne 0x180002072
jmp 0x18000209d
mov rdx, rsi
lea rcx, [rsp + 0x4c]
call fcn.18000f188
test eax, eax
je 0x18000208e
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x180002061
jmp 0x180002092
mov ebx, dword [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x180004678
Capabilities:
Check for peb beingdebugged flag
Check mutex and terminate process on windows
Check mutex on windows
Contain obfuscated stackstrings
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 1
je 0x180004767
call fcn.18000462c
lea r8, [0x180021ca8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
xor ebx, ebx
test rax, rax
je 0x1800046c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x18000475c
mov dword [rbp - 0x28], 0x6f0043
mov dword [rbp - 0x24], 0x73006e
mov dword [rbp - 0x20], 0x6c006f
mov dword [rbp - 0x1c], 0x500065
mov dword [rbp - 0x18], 0x6f0072
mov dword [rbp - 0x14], 0x790078
mov dword [rbp - 0x10], 0x65002e
mov dword [rbp - 0xc], 0x650078
mov word [rbp - 8], bx
mov dword [rbp - 0x40], 0x650053
mov dword [rbp - 0x3c], 0x720061
mov dword [rbp - 0x38], 0x680063
mov dword [rbp - 0x34], 0x65002e
mov dword [rbp - 0x30], 0x650078
mov word [rbp - 0x2c], bx
mov rax, qword gs:[0x60]
cmp byte [rax + 2], 1
je 0x180004767
lea rcx, [rbp - 0x28]
call fcn.180002020
test eax, eax
jne 0x180004770
lea rcx, [rbp - 0x40]
call fcn.180002020
test eax, eax
jne 0x180004770
call fcn.18000462c
call fcn.180002d44
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rbp
ret
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
or ecx, 0xffffffff
call fcn.18000f7b8
int3

Function at 0x180007b74
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r9d, ecx
test rdx, rdx
jne 0x180007b85
xor eax, eax
jmp 0x180007bf1
lea rbx, [0x180021d20]
not r9d
cmp r8d, 8
jb 0x180007bc9
mov r10d, r8d
shr r10, 3
mov r11d, 8
movzx ecx, byte [rdx]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc rdx
xor r9d, dword [rbx + rax*4]
sub r11, 1
jne 0x180007ba2
add r8d, 0xfffffff8
sub r10, 1
jne 0x180007b9c
test r8d, r8d
je 0x180007beb
movzx ecx, byte [rdx]
mov eax, r9d
xor rcx, rax
shr r9d, 8
movzx eax, cl
inc rdx
xor r9d, dword [rbx + rax*4]
add r8d, 0xffffffff
jne 0x180007bce
not r9d
mov eax, r9d
mov rbx, qword [rsp + 8]
ret

Function at 0x180008248
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0x30
imul r8d, edx
mov rdi, r9
cmp byte [r9], 0
mov rsi, rdx
mov r10, rcx
je 0x18000828f
and qword [rax - 0x18], 0
lea r9, [rax + 0x10]
mov rdx, rcx
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180008289
mov byte [rdi + 0x10], 1
mov eax, dword [rsp + 0x48]
jmp 0x1800082bb
mov edx, dword [r9 + 0x2c]
mov ecx, dword [r9 + 0x28]
sub ecx, edx
lea eax, [rdx + r8]
cmp eax, dword [r9 + 0x28]
cmovbe ecx, r8d
add rdx, qword [r9 + 0x20]
mov ebx, ecx
mov r8d, ecx
mov rcx, r10
call fcn.18000bc60
add dword [rdi + 0x2c], ebx
mov eax, ebx
mov rbx, qword [rsp + 0x40]
xor edx, edx
div rsi
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x180009868
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x440
xor ebp, ebp
mov rsi, rdx
mov rdi, rcx
test rcx, rcx
je 0x1800098a2
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1800098a2
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
movzx eax, word [rsi]
test ax, ax
je 0x180009949
mov rbx, rsi
mov rcx, rsi
cmp ax, 0x2f
je 0x1800098c0
cmp ax, 0x5c
jne 0x1800098c3
mov rbx, rcx
add rcx, 2
movzx eax, word [rcx]
test ax, ax
jne 0x1800098b4
cmp rbx, rsi
je 0x180009908
sub rbx, rsi
lea rcx, [rsp + 0x230]
sar rbx, 1
mov rdx, rsi
add rbx, rbx
mov r8, rbx
call fcn.18000bc60
lea rdx, [rsp + 0x230]
mov word [rsp + rbx + 0x230], bp
mov rcx, rdi
call fcn.180009868
mov word [rsp + 0x20], bp
test rdi, rdi
je 0x18000991f
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.18000f9fc
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.18000f0a4
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x180009949
xor edx, edx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea r11, [rsp + 0x440]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x180009d90
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov rdi, r9
mov ecx, 0x458
call fcn.18000a644
mov rbx, rax
mov qword [rsp + 0x30], rax
and qword [rax], 0
or dword [rax + 8], 0xffffffff
or dword [rax + 0x23c], 0xffffffff
and qword [rax + 0x240], 0
and qword [rax + 0x248], 0
test rdi, rdi
je 0x180009dfc
mov rcx, rdi
call fcn.18000f0e0
lea rcx, [rax + 1]
call fcn.18000a680
mov qword [rbx + 0x240], rax
mov rdx, rdi
mov rcx, rax
call fcn.18000fb50
nop
cmp qword [rbx], 0
jne 0x180009eb1
cmp dword [rbx + 8], 0xffffffff
jne 0x180009eb1
lea rdi, [rbx + 0x250]
mov rdx, rdi
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rdi
call fcn.18000ef78
movzx ecx, word [rbx + rax*2 + 0x24e]
cmp cx, 0x5c
je 0x180009e50
cmp cx, 0x2f
je 0x180009e50
lea rdx, [0x180021a50]
mov rcx, rdi
call fcn.18000f0a4
mov ecx, 0x30
call fcn.18000a644
mov word [rax], 0x100
mov byte [rax + 0x18], 0
lea rcx, [0x180027a00]
mov qword [rax + 0x20], rcx
mov dword [rax + 0x28], 0xb9616
and dword [rax + 0x2c], 0
and dword [rax + 0x14], 0
mov rcx, rax
call fcn.180008598
mov qword [rbx], rax
test rax, rax
jne 0x180009e94
mov eax, 0x200
jmp 0x180009eb6
and dword [0x1800e23c8], 0
mov ecx, 0x10
call fcn.18000a644
mov dword [rax], 1
mov qword [rax + 8], rbx
jmp 0x180009efd
mov eax, 0x1000000
mov dword [0x1800e23c8], eax
mov rcx, qword [rbx + 0x240]
test rcx, rcx
je 0x180009ecd
call fcn.18000a544
and qword [rbx + 0x240], 0
mov rcx, qword [rbx + 0x248]
test rcx, rcx
je 0x180009ee6
call fcn.18000a544
and qword [rbx + 0x248], 0
mov edx, 0x458
mov rcx, rbx
call fcn.18000a544
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x18000f7b8
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov ebx, ecx
test r8d, r8d
jne 0x18000f68f
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x18000f68f
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x18000f68f
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x18000f68f
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x18000f68f
cmp dword [rcx + 0x84], 0xe
jbe 0x18000f68f
cmp dword [rcx + 0xf8], 0
je 0x18000f68f
mov ecx, ebx
call fcn.18000f730
lea rax, [rbp + 0x18]
mov byte [rbp + 0x28], 0
mov qword [rbp - 0x20], rax
lea r9, [rbp - 0x2c]
lea rax, [rbp + 0x20]
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x20]
lea rax, [rbp + 0x28]
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x28]
mov eax, 2
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x2c], eax
mov dword [rbp - 0x28], eax
call fcn.18000f520
cmp dword [rbp + 0x20], 0
je 0x18000f6dc
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov ecx, ebx
call fcn.18000f6e4
int3
xor r8d, r8d
xor edx, edx
jmp 0x18000f628
Function at 0x180002340
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x48
mov rax, qword [0x18002f020]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov r8, rcx
mov qword [rsp + 0x30], rcx
mov rax, rcx
movabs r9, 0x100000001b3
shr rax, 8
movzx edx, al
movzx eax, cl
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
imul rax, r9
xor rdx, rax
mov rax, r8
imul rdx, r9
shr rax, 0x10
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x18
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x20
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x28
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x30
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [0x180033000]
imul rdx, r9
xor rdx, rax
imul rdx, r9
and rcx, rdx
mov rdx, qword [0x180032fd8]
shl rcx, 4
add rcx, qword [0x180032fe8]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x180002431
mov rcx, qword [rcx]
cmp r8, qword [rax + 0x10]
je 0x180002433
nop dword [rax + rax]
cmp rax, rcx
je 0x180002431
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x180002420
jmp 0x180002433
xor eax, eax
test rax, rax
mov rcx, rdx
cmovne rcx, rax
cmp rcx, rdx
je 0x180002458
movzx eax, byte [rcx + 0x18]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18000b1c0
add rsp, 0x48
ret
mov edx, 1
mov qword [rsp + 0x40], rbx
mov rcx, r8
call fcn.180001890
test eax, eax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
setne bl
call fcn.1800064b0
mov rcx, qword [rax]
movzx eax, bl
mov byte [rcx + 0x18], bl
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.18000b1c0
add rsp, 0x48
ret
Function at 0x1800024a0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x680
mov rax, qword [0x18002f020]
xor rax, rsp
mov qword [rsp + 0x670], rax
xor edi, edi
lea r8, [rsp + 0x460]
mov r9d, 0x104
xor edx, edx
mov ebx, edi
call qword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExW]
test eax, eax
je 0x180002695
mov qword [rsp + 0x30], rdi
lea r8d, [rdi + 1]
mov dword [rsp + 0x28], 0x80
lea rcx, [rsp + 0x460]
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x180002695
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rdi
mov r8d, 0x400
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180002625
nop dword [rax + rax]
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x180002625
mov r8d, edi
cmp edx, 8
jb 0x1800025d3
mov r9d, edx
xorps xmm2, xmm2
and r9d, 0xfffffff8
xorps xmm1, xmm1
mov eax, r8d
movd xmm0, dword [rsp + rax + 0x60]
lea eax, [r8 + 4]
punpcklbw xmm0, xmm0
add r8d, 8
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm2, xmm0
movd xmm0, dword [rsp + rax + 0x60]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
paddd xmm1, xmm0
cmp r8d, r9d
jb 0x180002571
paddd xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add ebx, eax
cmp r8d, edx
jae 0x1800025ff
mov eax, r8d
sub edx, r8d
lea rax, [rsp + rax + 0x60]
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [rax]
lea rax, [rax + 1]
add ebx, ecx
sub rdx, 1
jne 0x1800025f0
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rdi
mov r8d, 0x400
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180002550
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, ebx
lea r8, str._08X
mov edx, 9
lea rcx, [rsp + 0x48]
call fcn.180001280
lea r9, [rsp + 0x48]
mov rdx, 0xffffffffffffffff
lea r10, str.0010494B
nop word [rax + rax]
movzx r8d, word [r9 + rdx*2 + 2]
movzx eax, word [r10 + rdx*2 + 2]
sub r8d, eax
jne 0x18000268a
add rdx, 2
cmp rdx, 9
je 0x18000268a
movzx r8d, word [r9 + rdx*2]
movzx ecx, word [r10 + rdx*2]
sub r8d, ecx
je 0x180002660
test r8d, r8d
sete dil
mov eax, edi
jmp 0x180002697
xor eax, eax
mov rcx, qword [rsp + 0x670]
xor rcx, rsp
call fcn.18000b1c0
lea r11, [rsp + 0x680]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x180005d60
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x18002f020]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rdi, rcx
cmp edx, 1
jne 0x180005dea
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
xor esi, esi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x38]
lea edx, [rsi + 8]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x180005dea
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea edx, [rsi + 0x19]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x180005e09
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x180005e09
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18000b1c0
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
mov edx, dword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rcx, qword [rsp + 0x38]
mov rbx, rax
test rax, rax
je 0x180005de4
mov r9d, dword [rsp + 0x30]
lea rax, [rsp + 0x30]
mov r8, rbx
mov qword [rsp + 0x20], rax
mov edx, 0x19
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x180005e65
mov rcx, qword [rbx]
call qword [sym.imp.ADVAPI32.dll_GetSidSubAuthorityCount]
movzx ecx, byte [rax]
dec cl
movzx edx, cl
mov rcx, qword [rbx]
call qword [sym.imp.ADVAPI32.dll_GetSidSubAuthority]
test dword [rax], 0xffffefff
je 0x180005dea
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call fcn.1800024a0
test eax, eax
jne 0x180005dea
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 1
call fcn.180001890
mov dword [0x180030f40], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call fcn.180001890
mov dword [0x180030f3c], eax
call fcn.1800020c0
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call fcn.180001890
test eax, eax
je 0x180005ee2
mov eax, 1
test ebx, ebx
jne 0x180005ee4
mov eax, esi
cmp dword [0x180030f40], esi
mov dword [0x180030f38], eax
mov qword [0x180030f58], rdi
jne 0x180005dea
call fcn.180001be0
test eax, eax
jne 0x180005dea
mov qword [rsp + 0x28], rsi
lea r8, [0x180005a60]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x180005dea
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x180005dec