joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000c2c0
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x298
mov rax, qword [0x1400405b0]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017d20
lea rdx, [0x140031a8c]
lea rcx, [rsp + 0x170]
call fcn.140017c80
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
jne 0x14000c339
jmp 0x14000c46b
cmp dword [rsp + 0x20], 0
je 0x14000c452
lea rdx, [0x140031b3c]
lea rcx, [rsp + 0x5c]
call fcn.140017df0
test eax, eax
je 0x14000c439
lea rdx, [0x140031b40]
lea rcx, [rsp + 0x5c]
call fcn.140017df0
test eax, eax
je 0x14000c439
mov eax, dword [rsp + 0x30]
and eax, 0x10
test eax, eax
je 0x14000c3f3
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017d20
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x170]
call fcn.140017c80
lea rdx, [0x140031280]
lea rcx, [rsp + 0x170]
call fcn.140017c80
lea rdx, [rsp + 0x170]
mov rcx, qword [rsp + 0x2a0]
call fcn.14000c2c0
mov edx, 0x80
lea rcx, [rsp + 0x170]
call fcn.140019a68
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
jmp 0x14000c439
mov rdx, qword [rsp + 0x2a8]
lea rcx, [rsp + 0x170]
call fcn.140017d20
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x170]
call fcn.140017c80
mov edx, 0x80
lea rcx, [rsp + 0x170]
call fcn.140019a68
lea rcx, [rsp + 0x170]
call fcn.1400191cc
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [rsp + 0x20], eax
jmp 0x14000c339
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rsp + 0x2a8]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.14001a850
add rsp, 0x298
ret

Function at 0x14000c890
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x258
mov rax, qword [0x1400405b0]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov edx, 0x104
lea rcx, [rsp + 0x130]
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryA]
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x20]
call fcn.140017d20
lea rdx, str._regsvr32.exe__s__u
lea rcx, [rsp + 0x20]
call fcn.140017c80
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x20]
call fcn.140017c80
lea rdx, [0x140031618]
lea rcx, [rsp + 0x20]
call fcn.140017c80
lea rcx, [rsp + 0x20]
call fcn.14000b5b0
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.14001a850
add rsp, 0x258
ret
Function at 0x1400137f0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rdi
sub rsp, 0x5d0
mov qword [rsp + 0xd8], 0xfffffffffffffffe
mov rax, qword [0x1400405b0]
xor rax, rsp
mov qword [rsp + 0x5c0], rax
mov byte [rsp + 0x1c0], 0
lea rax, [rsp + 0x1c1]
mov rdi, rax
xor eax, eax
mov ecx, 0x3ff
rep stosb byte [rdi], al
lea r9, [rsp + 0x30]
mov r8d, 1
lea rdx, [rsp + 0x188]
lea rcx, str.Keyboard
call qword [sym.imp.SETUPAPI.dll_SetupDiClassGuidsFromNameA]
mov edx, 0xf003f
lea rcx, [rsp + 0x188]
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenClassRegKey]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x140013aa6
mov dword [rsp + 0x30], 0x400
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc8]
xor r8d, r8d
lea rdx, str.UpperFilters
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x140013a9b
lea rax, [rsp + 0x168]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x148]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0xa8], rax
lea rdx, [0x14003114a]
mov rcx, qword [rsp + 0x68]
call fcn.140001a70
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x58], rax
lea rdx, [0x14003114a]
mov rcx, qword [rsp + 0x78]
call fcn.140001a70
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x90], rax
lea rdx, [0x14003114a]
mov rcx, qword [rsp + 0x88]
call fcn.140001a70
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rax
lea rdx, [0x14003114a]
mov rcx, qword [rsp + 0x98]
call fcn.140001a70
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x60], rax
lea rdx, str.SynTP
mov rcx, qword [rsp + 0xa8]
call fcn.140001a70
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x198]
call fcn.1400152c0
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x18], 0x10
jb 0x140013a35
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
jmp 0x140013a3f
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov r8, qword [rsp + 0x50]
mov edx, dword [rsp + 0x30]
lea rcx, [rsp + 0x1c0]
call fcn.140013ac0
mov dword [rsp + 0x48], eax
xor r8d, r8d
mov dl, 1
lea rcx, [rsp + 0x198]
call fcn.14000dc70
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
mov r9d, 7
xor r8d, r8d
lea rdx, str.UpperFilters
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x5c0]
xor rcx, rsp
call fcn.14001a850
add rsp, 0x5d0
pop rdi
ret
Function at 0x140014120
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor ebx, ebx
mov rdi, r9
mov rsi, r8
mov r15, rdx
mov r14d, ebx
test r9, r9
je 0x140014149
mov r14d, dword [r9]
test rdx, rdx
je 0x140014213
test r8, r8
je 0x140014213
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140014204
mov qword [rsp + 0x30], rcx
cmp qword [rsp + 0x80], rbx
je 0x1400141a1
mov rdx, qword [rsp + 0x80]
lea rax, [rsp + 0x30]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140014204
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x78]
xor r8d, r8d
mov qword [rsp + 0x28], rax
mov rdx, r15
mov dword [rsp + 0x68], 4
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r15d, eax
cmp qword [rsp + 0x80], rbx
je 0x1400141e1
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r15d, r15d
jne 0x140014204
mov eax, dword [rsp + 0x78]
cmp eax, 4
je 0x1400141fb
cmp eax, 3
jne 0x140014200
cmp dword [rsp + 0x68], 4
jne 0x140014200
mov ebx, 1
mov eax, ebx
jmp 0x140014215
test rdi, rdi
je 0x140014213
mov dword [rsi], r14d
mov eax, 1
jmp 0x140014215
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x140014230
Capabilities:
Query environment variable
Query or enumerate registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
xor esi, esi
mov r14, r9
mov rdi, r8
mov r15, rdx
mov r12d, esi
test rdx, rdx
je 0x1400143cd
test r8, r8
je 0x1400143cd
test r9, r9
je 0x1400143cd
mov rcx, qword [rcx + 0x10]
mov qword [r11 + 8], rbx
or rbx, 0xffffffffffffffff
mov qword [r11 + 0x18], rbp
test rcx, rcx
je 0x140014389
mov rbp, qword [rsp + 0x98]
mov r12d, dword [r9]
mov qword [r11 - 0x38], rcx
test rbp, rbp
je 0x1400142bc
lea rax, [r11 - 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rbp
mov qword [r11 - 0x48], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x140014389
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x78]
xor r8d, r8d
mov rdx, r15
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov r15d, eax
test rbp, rbp
je 0x1400142ea
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [rsp + 0x78]
cmp ecx, 2
jne 0x140014356
mov eax, 2
mul r12
cmovo rax, rbx
mov rcx, rax
call fcn.140016db0
mov rbp, rax
test rax, rax
je 0x140014352
mov r8d, r12d
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov rdx, rdi
mov rcx, rbp
sub rdx, rbp
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rcx - 1], al
test al, al
jne 0x140014330
mov rcx, rdi
call fcn.14001ada4
mov rcx, rbp
mov dword [r14], eax
call fcn.140017034
mov ecx, dword [rsp + 0x78]
test r15d, r15d
jne 0x140014389
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x140014368
cmp ecx, 7
jne 0x14001436d
mov esi, 1
mov eax, esi
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x1400143c9
inc rbx
cmp byte [rcx + rbx], sil
jne 0x140014396
inc ebx
cmp ebx, r12d
ja 0x1400143c9
sub rdi, rcx
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdi + rcx - 1], al
test al, al
jne 0x1400143b0
mov dword [r14], ebx
mov eax, 1
jmp 0x14001436f
xor eax, eax
jmp 0x14001436f
xor eax, eax
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x1400145b0
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push r14
sub rsp, 0x60
mov rcx, qword [rcx + 0x10]
mov rsi, r9
mov r14d, r8d
mov rbp, rdx
test rcx, rcx
je 0x140014693
test rdx, rdx
je 0x140014693
test r9, r9
je 0x140014693
mov qword [r11 + 0x10], rbx
xor ebx, ebx
mov qword [r11 - 0x18], rcx
cmp qword [rsp + 0x98], rbx
je 0x140014654
mov rdx, qword [rsp + 0x98]
lea rax, [r11 + 8]
xor r9d, r9d
mov qword [r11 - 0x28], rax
lea rax, [r11 - 0x18]
xor r8d, r8d
mov qword [r11 - 0x30], rax
mov qword [r11 - 0x38], rbx
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x14001464f
xor eax, eax
mov rbx, qword [rsp + 0x78]
lea r11, [rsp + 0x60]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x90]
mov r9d, r14d
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov rdx, rbp
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
cmp qword [rsp + 0x98], rbx
je 0x14001468a
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
sete bl
mov eax, ebx
jmp 0x140014637
lea r11, [rsp + 0x60]
xor eax, eax
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
Function at 0x140015060
Capabilities:
Get common file path

Disassembly:
push rdi
sub rsp, 0x150
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x168], rbx
mov rax, qword [0x1400405b0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov eax, dword [0x140042478]
test al, 1
jne 0x1400150e4
or eax, 1
mov dword [0x140042478], eax
mov qword [0x140042470], 0xf
mov qword [0x140042468], rdi
mov byte [0x140042458], dil
xor r8d, r8d
lea rdx, [0x14003114a]
lea rcx, [0x140042458]
call fcn.14000e4a0
lea rcx, [0x14002f3b0]
call fcn.140017224
nop
cmp dword [0x140042454], 0
jne 0x140015145
mov r9d, 1
lea r8d, [r9 + 0x22]
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
cmp byte [rsp + 0x30], 0
jne 0x140015110
mov r8, rdi
jmp 0x14001512a
lea rax, [rsp + 0x30]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140015120
lea rdx, [rsp + 0x30]
lea rcx, [0x140042458]
call fcn.14000e4a0
mov dword [0x140042454], 1
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rdi
mov byte [rbx], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [0x140042458]
mov rcx, rbx
call fcn.14000e2b0
mov rax, rbx
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14001a850
mov rbx, qword [rsp + 0x168]
add rsp, 0x150
pop rdi
ret
Function at 0x140016500
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x270
mov rax, qword [0x1400405b0]
xor rax, rsp
mov qword [rsp + 0x260], rax
lea r9, [rsp + 0x150]
mov rdi, r8
mov ebx, edx
sub r9, rcx
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [r9 + rcx - 1], al
test al, al
jne 0x140016530
xor edx, edx
lea rcx, [rsp + 0xe0]
lea r8d, [rdx + 0x68]
call fcn.140017a40
test rdi, rdi
lea rax, [rsp + 0xc0]
cmovne rax, rdi
xor edi, edi
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xe0]
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r8d, r8d
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0xe0], 0x68
mov word [rsp + 0x120], bx
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x14001661a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2e4
jne 0x140016616
lea r8d, [rdi + 0x70]
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.140017a40
lea rax, str.runas
lea rcx, [rsp + 0x50]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x50], 0x70
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x80], ebx
mov qword [rsp + 0x68], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
jmp 0x14001661f
xor eax, eax
jmp 0x14001661f
mov eax, 1
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.14001a850
mov rbx, qword [rsp + 0x280]
add rsp, 0x270
pop rdi
ret
Function at 0x140016750
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x28
cmp qword [rdx + 0x18], 0x10
mov esi, r9d
mov rdi, r8
mov rbx, rdx
mov r14, rcx
jb 0x140016772
mov rcx, qword [rdx]
jmp 0x140016775
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400167b6
cmp qword [rbx + 0x18], 0x10
jb 0x14001678f
mov rcx, qword [rbx]
call fcn.140017034
xor esi, esi
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rsi
mov byte [rbx], sil
cmp qword [rdi + 0x18], 0x10
jb 0x1400167af
mov rcx, qword [rdi]
call fcn.140017034
xor eax, eax
jmp 0x14001685c
xor edx, edx
mov rcx, r14
mov qword [rsp + 0x20], rbp
lea r8d, [rdx + 0x70]
call fcn.140017a40
mov dword [r14 + 4], esi
xor esi, esi
lea rax, str.open
mov dword [r14], 0x70
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rax
cmp qword [rbx + 0x18], 0x10
jb 0x1400167f1
mov rax, qword [rbx]
jmp 0x1400167f4
mov rax, rbx
mov qword [r14 + 0x18], rax
cmp qword [rdi + 0x18], 0x10
jb 0x140016804
mov rax, qword [rdi]
jmp 0x140016807
mov rax, rdi
cmp dword [rsp + 0x70], 1
mov qword [r14 + 0x20], rax
mov eax, esi
sete al
mov rcx, r14
mov qword [r14 + 0x28], rsi
mov dword [r14 + 0x30], eax
call qword [sym.imp.SHELL32.dll_ShellExecuteExA]
cmp qword [rbx + 0x18], 0x10
mov ebp, eax
jb 0x140016837
mov rcx, qword [rbx]
call fcn.140017034
mov qword [rbx + 0x18], 0xf
mov qword [rbx + 0x10], rsi
mov byte [rbx], sil
cmp qword [rdi + 0x18], 0x10
jb 0x140016855
mov rcx, qword [rdi]
call fcn.140017034
mov eax, ebp
mov rbp, qword [rsp + 0x20]
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], rsi
mov byte [rdi], sil
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbx
ret

Function at 0x140018e84
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
xor edx, edx
jmp fcn.140018cec

Function at 0x14001fde0
Capabilities:
Delete file

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14001fdf6
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14001fdf8
xor eax, eax
test eax, eax
je 0x14001fe08
mov ecx, eax
call fcn.14001c5c4
or eax, 0xffffffff
jmp 0x14001fe0a
xor eax, eax
add rsp, 0x28
ret
Function at 0x1401509d0
Capabilities:
Parse pe header

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

Function at 0x140151d54
Capabilities:
Parse pe header

Disassembly:
xor r8d, r8d
xor edx, edx
jmp 0x140151e9c
Function at 0x415700
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4158a6
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [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 fcn.00431820
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
jne 0x41576b
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x415780
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
nop
test rbx, rbx
jbe 0x4157a5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x4157b9
cmp rbx, 0x1000
jae 0x415775
nop dword [rax]
jmp 0x415829
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
nop
cmp rbx, 0x1000
jae 0x4157cd
xor edx, edx
jmp 0x415820
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 fcn.00431820
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
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]
nop dword [rax]
test dl, dl
jne 0x4157af
jmp 0x415794
call fcn.004611e0
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.00435d60
lea rax, [0x004cd0ec]
mov ebx, 0x18
call fcn.00436660
mov rax, qword [rsp + 0x38]
call fcn.00436360
lea rax, [0x004cd1c5]
mov ebx, 0x19
call fcn.00436660
mov rax, qword [rsp + 0x30]
nop
call fcn.00436360
call fcn.00435fc0
call fcn.00435de0
lea rax, [0x004cf69e]
mov ebx, 0x21
nop dword [rax + rax]
call fcn.00434420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00415700
Function at 0x4158e0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x415b0a
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [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 fcn.004318a0
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x415959
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x41596c
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x415990
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
nop
jmp 0x4159a4
cmp rbx, 0x1000
jae 0x415963
jmp 0x415a25
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x4159b6
xor esi, esi
jmp 0x415a16
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
nop dword [rax]
call fcn.004318a0
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
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 0x41599a
nop
jmp 0x415982
call fcn.004611e0
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x415aa5
call fcn.00435d60
lea rax, [0x004cd5df]
mov ebx, 0x19
call fcn.00436660
mov rax, qword [rsp + 0x68]
call fcn.00436360
lea rax, [0x004cd1c5]
mov ebx, 0x19
call fcn.00436660
mov eax, dword [rsp + 0x34]
nop dword [rax]
call fcn.00436360
call fcn.00435fc0
call fcn.00435de0
lea rax, [0x004c9efc]
mov ebx, 0xd
nop dword [rax + rax]
call fcn.00434420
cmp eax, 0x5af
je 0x415a48
call fcn.00435d60
lea rax, [0x004cd5df]
mov ebx, 0x19
nop dword [rax]
call fcn.00436660
mov rax, qword [rsp + 0x38]
call fcn.00436360
lea rax, [0x004cd1c5]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00436660
mov eax, dword [rsp + 0x34]
call fcn.00436360
call fcn.00435fc0
call fcn.00435de0
lea rax, [0x004cef10]
mov ebx, 0x1f
call fcn.00434420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004158e0
Function at 0x41ddc0
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x005cfd90], 0
jne 0x41deaf
mov rdx, qword [rax + 0x50]
test byte [rdx], al
nop
nop
nop
sub rbx, qword [rax + 0x18]
mov esi, dword [rax + 0x5c]
imul rbx, rsi
mov rsi, rbx
shr rbx, 0x20
shr rsi, 0x23
and ebx, 7
mov rdi, rcx
mov rcx, rbx
mov r8d, 1
shl r8d, cl
add rdx, rsi
lock or byte [rdx], r8b
nop
nop
mov rcx, qword [rax + 0x18]
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rcx]
mov rdx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x41dea5
lea rbx, [0x005a21d0]
mov rax, qword [rbx + rax*8]
shr rdx, 0x16
and edx, 0xfffff
mov rdx, qword [rax + rdx*8]
test byte [rdx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
movzx ebx, byte [rdx + rcx + 0x11440]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x11440]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x41de87
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1248], rdi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
ret
mov ecx, 0x40
call fcn.0045fcc0
lea rax, [0x004d1284]
mov ebx, 0x2c
nop dword [rax + rax]
call fcn.00434420
nop
int3

Function at 0x4202a0
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x42039e
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 8], 0
jmp 0x4202e0
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x42038f
test byte [rax], al
lea rcx, [rax + 0x100b8]
mov rax, rcx
call fcn.00420e60
nop dword [rax]
test rax, rax
je 0x42038f
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x004203e0]
mov qword [rsp + 0x10], rcx
lea rdx, [rsp + 8]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.0045d500
xorps xmm15, xmm15
mov r14, qword [0x005cff70]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x42037d
xor eax, eax
jmp 0x420387
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x4202d2
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045d640
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.004202a0