joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180044b50
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r15
sub rsp, 0x30
xor r15d, r15d
mov rdi, rcx
mov ebx, r15d
xor eax, eax
mov esi, 1
lock cmpxchg dword [0x1800bc5d8], esi
je 0x180044ba5
cmp rbx, 0x20
jae 0x180044b8e
xor ecx, ecx
jmp 0x180044b90
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800bc5d8], esi
jne 0x180044b84
cmp qword [0x1800bc5e0], r15
je 0x180044c91
test rdi, rdi
jne 0x180044bc3
call fcn.1800446d0
mov ebp, eax
jmp 0x180044c96
mov ecx, dword [0x1800bd02c]
mov ebx, r15d
test ecx, ecx
je 0x180044bef
mov r8, qword [0x1800bd020]
mov rax, r8
nop word [rax + rax]
cmp rdi, qword [rax]
je 0x180044bf9
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x180044be0
mov ebp, 4
jmp 0x180044c96
cmp ebx, 0xffffffff
je 0x180044bef
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x180044c8a
mov r8d, esi
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.180044440
mov ecx, ebx
call fcn.1800445f0
mov ebp, eax
cmp qword [rsp + 0x20], r15
je 0x180044c96
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x180044c74
mov rbx, qword [rsp + 0x20]
mov esi, eax
nop word [rax + rax]
mov r8d, dword [rbx]
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x180044c6a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, 1
jne 0x180044c40
mov r8, qword [rsp + 0x20]
xor edx, edx
mov rcx, qword [0x1800bc5e0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180044c96
mov ebp, 5
jmp 0x180044c96
mov ebp, 2
xchg dword [0x1800bc5d8], r15d
mov rbx, qword [rsp + 0x40]
mov eax, ebp
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r15
ret
Function at 0x180045b70
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
cmp edx, 1
jne 0x180045bac
call qword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
xor eax, eax
lea r8, [0x180045b10]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
add rsp, 0x30
pop rbx
ret
Function at 0x180054a70
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
movabs rax, 0xcbf29ce484222325
mov r9d, 0
sub r8, rdx
je 0x180054aa4
movabs r10, 0x100000001b3
nop
movzx ecx, byte [rdx + r9]
inc r9
xor rax, rcx
imul rax, r10
cmp r9, r8
jb 0x180054a90
ret
Function at 0x180054f60
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18005500c
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x180054f9a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x30
pop rdi
jmp 0x180055220
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x180054fda
mov qword [rsp + 0x48], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x18
call fcn.18005fefc
mov rcx, rbx
test rbx, rbx
jne 0x180054fc0
mov rbx, qword [rsp + 0x48]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x20]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x20], rax
call fcn.180057190
add rsp, 0x30
pop rdi
ret
mov rax, rsp
push rbp
push rsi
push r14
sub rsp, 0x50
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x180055324
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rax + 0x10], rbx
mov rbx, r14
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
mov qword [rax - 0x20], r13
mov r13, qword [r14 + 8]
mov qword [rax - 0x28], r15
movabs rax, 0xcbf29ce484222325
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x11]
imul rcx, r8
mov qword [rsp + 0x30], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x28], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.18005fefc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x28]
je 0x180055330
cmp rbx, rbp
jne 0x1800552d0
cmp qword [rsp + 0x20], r14
jne 0x1800552fd
mov qword [r15], rbx
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov rax, rbp
add rsp, 0x50
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x20], r14
jne 0x18005533f
mov qword [r15], r12
mov rax, r12
jmp 0x180055342
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x1800552fd
nop dword [rax + rax]
movzx r15d, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r15, rax
movzx eax, byte [rbx + 0x11]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x12]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x13]
imul r15, rdx
xor r15, rax
imul r15, rdx
and r15, qword [rsi + 0x30]
shl r15, 4
add r15, qword [rsp + 0x30]
mov r14, qword [r15 + 8]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.18005fefc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x1800553c8
cmp rbx, rbp
jne 0x1800553a2
jmp 0x1800552fa
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x180055350
jmp 0x1800552fd
Function at 0x180055070
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push rsi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
jbe 0x1800550a5
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsi + 8]
or rax, rbx
bsr rcx, rax
mov r8, rdi
mov qword [rsp + 0x20], r14
inc ecx
shl rbx, cl
lea rcx, [rsi + 0x18]
lea rdx, [rbx + rbx]
call fcn.180009440
mov rcx, qword [rsi + 8]
lea rax, [rbx - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rbx
mov rcx, qword [rcx]
cmp rcx, rdi
je 0x1800551e6
mov qword [rsp + 0x50], rbp
mov rax, rcx
movabs rbp, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
nop dword [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rbx
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rbx
xor r9, rdx
imul r9, rbx
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rdi
jne 0x180055160
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800551d5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x18005519d
mov r10, qword [rdx]
cmp r10, rax
je 0x180055197
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1800551d5
cmp r9, rdx
je 0x1800551b1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x1800551f7
cmp r9, rdx
jne 0x1800551a2
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rdi
jne 0x180055110
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rsi
pop rbx
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1800551d5
Function at 0x180055220
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18005500c
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x180054f9a
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x30
pop rdi
jmp 0x180055220
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x180054fda
mov qword [rsp + 0x48], rbx
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x18
call fcn.18005fefc
mov rcx, rbx
test rbx, rbx
jne 0x180054fc0
mov rbx, qword [rsp + 0x48]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x20]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x20], rax
call fcn.180057190
add rsp, 0x30
pop rdi
ret
mov rax, rsp
push rbp
push rsi
push r14
sub rsp, 0x50
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x180055324
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov qword [rax + 0x10], rbx
mov rbx, r14
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov r12, qword [rcx + 8]
movzx ecx, byte [r14 + 0x10]
mov qword [rax - 0x20], r13
mov r13, qword [r14 + 8]
mov qword [rax - 0x28], r15
movabs rax, 0xcbf29ce484222325
mov r15, qword [rsi + 0x30]
xor rcx, rax
movzx eax, byte [r14 + 0x11]
imul rcx, r8
mov qword [rsp + 0x30], rdx
xor rcx, rax
movzx eax, byte [r14 + 0x12]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r14 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r15, rcx
shl r15, 4
add r15, rdx
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x28], rax
nop dword [rax + rax]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.18005fefc
dec qword [rsi + 0x10]
cmp rdi, qword [rsp + 0x28]
je 0x180055330
cmp rbx, rbp
jne 0x1800552d0
cmp qword [rsp + 0x20], r14
jne 0x1800552fd
mov qword [r15], rbx
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov r15, qword [rsp + 0x40]
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov r13, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov rax, rbp
add rsp, 0x50
pop r14
pop rsi
pop rbp
ret
cmp qword [rsp + 0x20], r14
jne 0x18005533f
mov qword [r15], r12
mov rax, r12
jmp 0x180055342
mov rax, r13
mov qword [r15 + 8], rax
cmp rbx, rbp
je 0x1800552fd
nop dword [rax + rax]
movzx r15d, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r15, rax
movzx eax, byte [rbx + 0x11]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x12]
imul r15, rdx
xor r15, rax
movzx eax, byte [rbx + 0x13]
imul r15, rdx
xor r15, rax
imul r15, rdx
and r15, qword [rsi + 0x30]
shl r15, 4
add r15, qword [rsp + 0x30]
mov r14, qword [r15 + 8]
mov rcx, rbx
mov rdi, rbx
mov rbx, qword [rbx]
mov edx, 0x18
call fcn.18005fefc
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x1800553c8
cmp rbx, rbp
jne 0x1800553a2
jmp 0x1800552fa
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rbx, rbp
jne 0x180055350
jmp 0x1800552fd
Function at 0x180056150
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r15
sub rsp, 0x20
mov r15, qword [rdx + 0x18]
mov rdi, rdx
mov r9, rcx
mov r8, rdx
cmp r15, 0xf
jbe 0x180056178
mov r8, qword [rdx]
mov rsi, qword [rdi + 0x10]
xor ebp, ebp
movabs rdx, 0xcbf29ce484222325
mov ecx, ebp
test rsi, rsi
je 0x1800561b4
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [r8 + rcx]
inc rcx
xor rdx, rax
imul rdx, r10
cmp rcx, rsi
jb 0x1800561a0
mov rcx, qword [r9 + 0x30]
mov rax, qword [r9 + 0x18]
and rcx, rdx
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r9 + 8]
jne 0x1800561d2
mov rbx, rbp
jmp 0x180056220
mov qword [rsp + 0x40], r14
mov r14, qword [rax + rcx*8]
nop dword [rax + rax]
cmp qword [rbx + 0x28], 0xf
lea rdx, [rbx + 0x10]
jbe 0x1800561ef
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
cmp r15, 0xf
jbe 0x1800561fb
mov rcx, qword [rdi]
cmp rsi, qword [rbx + 0x20]
jne 0x18005620d
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18005621b
cmp rbx, r14
je 0x180056218
mov rbx, qword [rbx + 8]
jmp 0x1800561e0
mov rbx, rbp
mov r14, qword [rsp + 0x40]
test rbx, rbx
mov rbx, qword [rsp + 0x48]
setne bpl
mov rax, rbp
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret
Function at 0x18005d990
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov esi, edx
mov dword [rcx + 0x74], 0
mov rbx, rcx
mov edi, 0x7fffffff
movsx ecx, byte [rbx + 0x78]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x18005da55
lea r8d, [rcx - 0x30]
cmp r8d, 0xffffffff
je 0x18005da55
mov r9d, dword [rbx + 0x74]
mov ecx, 0x7fffffff
sub ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp r9d, edx
jg 0x18005da6e
lea eax, [r9 + r9*4]
dec edi
lea ecx, [r8 + rax*2]
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x74], ecx
mov rcx, qword [rbx]
cmp rcx, rax
je 0x18005da45
cmp byte [rcx], 0x5c
jne 0x18005da3e
lea rdx, [rcx + 1]
cmp rdx, rax
je 0x18005da3e
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x18005da2c
movzx eax, byte [rdx]
sub al, 0x28
cmp al, 1
jbe 0x18005da3b
test r8b, 0x10
jne 0x18005da3e
movzx eax, byte [rdx]
sub al, 0x7b
test al, 0xfd
jne 0x18005da3e
mov rcx, rdx
lea rax, [rcx + 1]
mov qword [rbx], rax
mov rcx, rbx
call fcn.180059eb0
test edi, edi
jne 0x18005d9b0
mov rbx, qword [rsp + 0x30]
cmp edi, 0x7fffffff
mov rsi, qword [rsp + 0x38]
setne al
add rsp, 0x20
pop rdi
ret
mov edx, esi
call fcn.180059ea0
int3
Function at 0x140027c84
Capabilities:
Clear file content

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
xor edx, edx
mov r14d, ecx
lea r8d, [rdx + 1]
call fcn.14001b594
xor edx, edx
mov ecx, r14d
mov r12, rax
lea r8d, [rdx + 2]
call fcn.14001b594
mov rbp, rbx
sub rbp, rax
cmp r12, 0xffffffffffffffff
je 0x140027dd4
cmp rax, 0xffffffffffffffff
je 0x140027dd4
xor edi, edi
test rbp, rbp
jle 0x140027d7f
lea edx, [rdi + 1]
mov ecx, 0x1000
call fcn.14001dea8
mov rbx, rax
test rax, rax
jne 0x140027d0c
lea edi, [rax + 0xc]
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], edi
jmp 0x140027d75
mov edx, 0x8000
mov ecx, r14d
call fcn.140018f00
mov r15d, eax
mov eax, 0x1000
mov r8d, ebp
cmp rbp, rax
mov r9, rsi
mov rdx, rbx
mov ecx, r14d
cmovge r8d, eax
call fcn.14001c270
cmp eax, 0xffffffff
je 0x140027d55
cdqe
sub rbp, rax
test rbp, rbp
jg 0x140027d1c
mov edx, r15d
mov ecx, r14d
call fcn.140018f00
jmp 0x140027d75
cmp byte [rsi + 0x38], dil
je 0x140027d6c
cmp dword [rsi + 0x34], 5
jne 0x140027d6c
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
cmp byte [rsi + 0x30], dil
je 0x140027d75
mov edi, dword [rsi + 0x2c]
mov rcx, rbx
call fcn.140019c58
jmp 0x140027de8
jns 0x140027de8
xor r8d, r8d
mov rdx, rbx
mov ecx, r14d
call fcn.14001b594
cmp rax, 0xffffffffffffffff
jne 0x140027da0
cmp byte [rsi + 0x30], dil
je 0x140027de8
mov edi, dword [rsi + 0x2c]
jmp 0x140027de8
mov ecx, r14d
call fcn.140017a2c
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x140027de8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsi + 0x38], 1
mov edi, 0xd
mov dword [rsi + 0x34], eax
mov byte [rsi + 0x30], 1
mov dword [rsi + 0x2c], 0xd
jmp 0x140027de8
xor edi, edi
cmp byte [rsi + 0x30], dil
je 0x140027de1
mov eax, dword [rsi + 0x2c]
jmp 0x140027de6
mov eax, 0x16
mov edi, eax
xor r8d, r8d
mov rdx, r12
mov ecx, r14d
call fcn.14001b594
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x140028ee0
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140028f08
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x140028f08
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret

Function at 0x140001040
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov edx, 0x47
lea rcx, [entry0]
mov al, byte [rcx + rdx]
xor al, 0x26
add al, 0xdd
xor al, 4
mov byte [rcx + rdx], al
inc rdx
cmp rdx, 0x2d9
jl 0x140001068
stc
cmp al, 0xa
ret 0xf8b0

Function at 0x100411cb0
Capabilities:
Encode data using xor

Disassembly:
and eax, 0x363a3535
xor eax, 0xd7353525
xor eax, 0x86215735
lodsd eax, dword [rsi]
je 0x100411d27
xor eax, 0x35362535
cmp esi, dword [rsi]
xor eax, 0x2e353625
invalid
invalid
Function at 0x417140
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4172eb
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.00433d60
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
nop
jne 0x4171ae
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
jmp 0x4171c1
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rcx, rbx
add rax, rbx
mov rbx, rcx
test rbx, rbx
jbe 0x4171e5
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], rax
mov rcx, rbx
jmp 0x4171f9
cmp rbx, 0x1000
jae 0x4171b8
nop
jmp 0x417269
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 0x41720d
xor edx, edx
jmp 0x417260
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.00433d60
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
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
test dl, dl
jne 0x4171ef
jmp 0x4171d5
call fcn.00464920
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x30], rax
call fcn.004384c0
lea rax, [0x00515974]
mov ebx, 0x18
nop dword [rax + rax]
call fcn.00438dc0
mov rax, qword [rsp + 0x38]
call fcn.00438ac0
lea rax, [0x00515a4c]
mov ebx, 0x19
nop dword [rax + rax]
call fcn.00438dc0
mov rax, qword [rsp + 0x30]
call fcn.00438ac0
call fcn.00438720
call fcn.00438540
lea rax, [0x00517f40]
mov ebx, 0x21
call fcn.00436c00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460d60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00417140
Function at 0x417320
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x41754a
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.00433de0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rcx, rax
cmp qword [rsp + 0x28], rax
je 0x41739b
mov rbx, qword [rsp + 0x68]
mov rax, rbx
jmp 0x4173ae
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
sub rdx, rbx
add rcx, rbx
mov rbx, rdx
test rbx, rbx
jbe 0x4173d0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov rdx, rbx
jmp 0x4173e4
cmp rbx, 0x1000
jae 0x4173a5
jmp 0x41746e
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shr rbx, 1
and rbx, 0xfffffffffffff000
mov qword [rsp + 0x38], rbx
cmp rbx, 0x1000
jae 0x4173f6
xor esi, esi
jmp 0x417460
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.00433de0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
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]
nop dword [rax + rax]
test sil, sil
jne 0x4173da
jmp 0x4173c2
call fcn.00464920
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov eax, dword [rsp]
mov dword [rsp + 0x34], eax
cmp eax, 8
jne 0x4174e9
call fcn.004384c0
lea rax, [0x00515e98]
mov ebx, 0x19
call fcn.00438dc0
mov rax, qword [rsp + 0x68]
call fcn.00438ac0
lea rax, [0x00515a4c]
mov ebx, 0x19
nop
call fcn.00438dc0
mov eax, dword [rsp + 0x34]
call fcn.00438ac0
call fcn.00438720
call fcn.00438540
lea rax, [0x00512545]
mov ebx, 0xd
call fcn.00436c00
cmp eax, 0x5af
je 0x417493
call fcn.004384c0
lea rax, [0x00515e98]
mov ebx, 0x19
call fcn.00438dc0
mov rax, qword [rsp + 0x38]
call fcn.00438ac0
lea rax, [0x00515a4c]
mov ebx, 0x19
nop dword [rax]
call fcn.00438dc0
mov eax, dword [rsp + 0x34]
call fcn.00438ac0
call fcn.00438720
call fcn.00438540
lea rax, [0x0051772f]
mov ebx, 0x1f
call fcn.00436c00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00460d60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00417320
Function at 0x41fc20
Capabilities:
Hash data using murmur3

Disassembly:
sub rsp, 0x18
mov qword [rsp + 0x10], rbp
lea rbp, [rsp + 0x10]
cmp byte [0x0063d453], 0
jne 0x41fd0b
nop
nop
nop
nop
sub rbx, qword [rax + 0x18]
mov edx, dword [rax + 0x5c]
imul rbx, rdx
mov rdx, rbx
shr rbx, 0x20
shr rdx, 0x23
and ebx, 7
mov rsi, rcx
mov rcx, rbx
mov edi, 1
shl edi, cl
nop
add rdx, qword [rax + 0x50]
lock or byte [rdx], dil
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 0x41fd01
lea rbx, [0x0060f8b0]
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 + 0x21040]
lea rdx, [rdx + rcx]
lea rdx, [rdx + 0x21040]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
test al, bl
jne 0x41fce2
lock or byte [rdx], al
mov rax, qword [r14 + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
add qword [rax + 0x1250], rsi
mov rbp, qword [rsp + 0x10]
add rsp, 0x18
nop
ret
mov ecx, 0x40
call fcn.00463460
lea rax, [0x00519b7a]
mov ebx, 0x2c
call fcn.00436c00
nop
int3

Function at 0x422440
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x422541
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 0x422480
mov rax, qword [rsp + 0x50]
mov rcx, rdx
mov rbx, qword [rsp + 0x58]
nop
cmp qword [rsp + 8], rbx
jae 0x422531
test byte [rax], al
lea rcx, [rax + 0x100c0]
mov rax, rcx
call fcn.00422fa0
nop dword [rax]
test rax, rax
je 0x422531
movups xmmword [rsp + 0x10], xmm15
movups xmmword [rsp + 0x20], xmm15
movups xmmword [rsp + 0x30], xmm15
lea rcx, [0x00422580]
mov qword [rsp + 0x10], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 8]
mov qword [rsp + 0x38], rbx
lea rbx, [rsp + 0x10]
mov qword [rsp], rbx
call fcn.00460c20
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
jne 0x42251f
xor eax, eax
jmp 0x422529
mov rax, qword [rdx]
call rax
mov rdx, qword [rsp + 0x60]
test al, al
je 0x422472
mov rax, qword [rsp + 8]
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
nop
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.00460d60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00422440