joyce8/EMBER2024-capa huggingface dataset:
Function at 0x9e8fe0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x9e8fed
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x9e8ffd
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x9e8fe5
lea eax, [rcx + 1]
jmp 0x9e900b
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x9e901e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x9e9004
sub eax, 3
jb 0x9e903e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x9e908d
sar eax, 1
movsxd rbp, eax
jb 0x9e9074
jmp 0x9e904c
add ebx, ebx
jne 0x9e904a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x9e9074
inc ecx
add ebx, ebx
jne 0x9e905a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x9e9074
call r11
adc ecx, ecx
add ebx, ebx
jne 0x9e906d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x9e905c
add ecx, 2
jmp 0x9e9079
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.009e8fa2
jmp 0x9e8fed
pop rsi
mov rdi, rsi
push rsi
mov rdi, rsi
mov rsi, 0x281c00
mov dl, 0x62
push rbx
push rdi
lea rcx, [rdi + rsi - 3]
pop rsi
push rsi
pop rbx
jmp 0x9e90d9
cmp rsi, rcx
jae 0x9e90e1
push rsi
pop rsi
lodsb al, byte [rsi]
cmp al, 0x80
jb 0x9e90c0
cmp al, 0x8f
ja 0x9e90c0
cmp byte [rsi - 2], 0xf
je 0x9e90c6
sub al, 0xe8
cmp al, 1
ja 0x9e90aa
cmp rsi, rcx
jae 0x9e90e1
push rsi
lodsd eax, dword [rsi]
sub al, dl
jne 0x9e90b0
pop rdi
bswap eax
sub eax, edi
add eax, ebx
stosd dword [rdi], eax
cmp rsi, rcx
jae 0x9e90e1
lodsb al, byte [rsi]
jmp 0x9e90c0
pop rbx
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x5df000]
mov eax, dword [rdi]
or eax, eax
je 0x9e913e
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x5e9000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x9e90ee
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x9e9138
mov qword [rbx], rax
add rbx, 8
jmp 0x9e910e
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x9e9182
cmp al, 0xef
ja 0x9e916a
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x9e914a
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x9e9159
mov eax, dword [rdi]
add rdi, 4
jmp 0x9e9159
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x1af]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x9e91d6
sub rsp, 0xffffffffffffff80
jmp 0x46ebc0
Function at 0x140003bc0
Capabilities:
Enumerate processes

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x290
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x280], rsi
mov qword [rbp + 0x288], rdi
mov rax, qword [0x14008d040]
xor rax, rbp
mov qword [rbp + 0x240], rax
mov rdi, rdx
mov dword [rbp], 0x238
xor edx, edx
lea ecx, [rdx + 0xf]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rbp]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
xor r14d, r14d
movabs r15, 0xffffffffffffff0
nop word [rax + rax]
lea rcx, [rbp + 0x2c]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140003c40
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140003cba
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140003c6b
mov rcx, r15
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14006f0d0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140003cba
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], eax
lea r8, [rbp + 0x2c]
mov r9d, 0xffffffff
mov byte [rbx], r14b
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r14
jmp 0x140003cbd
mov rbx, r14
cmp qword [rdi + 0x18], 0xf
mov rdx, rdi
jbe 0x140003cca
mov rdx, qword [rdi]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x140003ce2
inc rbx
test eax, eax
jne 0x140003cd0
test ecx, ecx
mov rcx, rsi
je 0x140003d42
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140003c30
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x140003d3e
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140003d39
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003dc3
mov rcx, r8
call fcn.14006e27c
xor eax, eax
jmp 0x140003d83
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
mov ebx, dword [rbp + 8]
cmp rdx, 0xf
jbe 0x140003d81
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140003d7c
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003dc3
mov rcx, r8
call fcn.14006e27c
mov eax, ebx
mov byte [rdi], r14b
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
mov rcx, qword [rbp + 0x240]
xor rcx, rbp
call fcn.14006df10
mov rbx, qword [rbp + 0x270]
mov rsi, qword [rbp + 0x280]
mov rdi, qword [rbp + 0x288]
lea rsp, [rbp + 0x250]
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140003dd0
Capabilities:
Enumerate process modules

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x490
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x480], rsi
mov qword [rbp + 0x488], rdi
mov rax, qword [0x14008d040]
xor rax, rbp
mov qword [rbp + 0x440], rax
mov rdi, rdx
mov dword [rbp], 0x438
mov edx, dword [0x140183128]
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rbp]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_Module32FirstW]
xor r14d, r14d
movabs r15, 0xffffffffffffff0
lea rcx, [rbp + 0x30]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], r14w
jne 0x140003e50
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140003eca
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140003e7b
mov rcx, r15
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14006f0d0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140003eca
lea eax, [rdx + rdx]
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], eax
lea r8, [rbp + 0x30]
mov r9d, 0xffffffff
mov byte [rbx], r14b
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, r14
jmp 0x140003ecd
mov rbx, r14
cmp qword [rdi + 0x18], 0xf
mov rdx, rdi
jbe 0x140003eda
mov rdx, qword [rdi]
sub rdx, rbx
nop dword [rax]
movzx ecx, byte [rbx]
movzx eax, byte [rbx + rdx]
sub ecx, eax
jne 0x140003ef2
inc rbx
test eax, eax
jne 0x140003ee0
test ecx, ecx
mov rcx, rsi
je 0x140003f52
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_Module32NextW]
test eax, eax
jne 0x140003e40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x140003f4e
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140003f49
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003fd5
mov rcx, r8
call fcn.14006e27c
xor eax, eax
jmp 0x140003f95
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rdi + 0x18]
mov rbx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140003f92
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140003f8d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140003fd5
mov rcx, r8
call fcn.14006e27c
mov rax, rbx
mov byte [rdi], r14b
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r14
mov rcx, qword [rbp + 0x440]
xor rcx, rbp
call fcn.14006df10
mov rbx, qword [rbp + 0x470]
mov rsi, qword [rbp + 0x480]
mov rdi, qword [rbp + 0x488]
lea rsp, [rbp + 0x450]
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x140006b40
Capabilities:
Write file on windows

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r15, rdx
mov rdi, rcx
je case.default.0x140006b61
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov rsi, rbx
mov qword [rsp + 0x58], r14
mov r9, qword [rax]
test r9, r9
je 0x140006b8e
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x140006b90
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x140006be9
test ecx, ecx
jle 0x140006bc9
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r15, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x140006be9
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x140006be9
mov r8, rbx
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov r14, qword [rsp + 0x58]
sub rsi, rbx
mov rbp, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
cmpsd dword [rsi], dword [rdi]
invalid
Function at 0x140006c10
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140006c32
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x140006c41
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140006c64
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140006c66
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140006ca2
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140006d3e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140006cdd
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x140006d1e
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x140006d3e
cmp rbx, rax
ja 0x140006cf0
test rbx, rbx
je 0x140006d3e
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
mov esp, 0x10f985fd
adc dword [0xfa3e2eae], edi
or eax, 0x173c2957
xchg edi, eax
and byte [rbx + 8], dl
mov esi, 0xe4efaa27
cmp dword [rcx + 0x646d650b], ebp
or esp, dword [rbp + 0x6d]
cmp ch, byte fs:[rcx]
js 0x140100ef7
cmp al, 0
xor ah, dl
sbb esi, esp
or dword [rbx], esp
add dword [rbp + 0x1a05542a], eax
or al, 0xd4
invalid
invalid
Function at 0x1400071a0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x14008d040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x1400071cd
xor eax, eax
jmp 0x140007339
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x140007207
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x140007207
lea ecx, [r8 - 1]
mov dword [rax], ecx
mov eax, edi
mov rdx, qword [rbx + 0x40]
mov r8, qword [rdx]
lea rcx, [r8 + 1]
mov qword [rdx], rcx
mov byte [r8], dil
jmp 0x140007339
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x14000732c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x14000724a
mov rcx, qword [rbx + 0x88]
mov rdx, qword [rbx + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x140007275
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140007331
lea rax, [rsp + 0x40]
mov byte [rsp + 0x50], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x51]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x1400072e4
sub eax, 1
je 0x1400072e4
cmp eax, 2
jne 0x14000732c
movsx ecx, byte [rsp + 0x50]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x140007331
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140007312
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x14000732c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x140007331
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14006df10
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400074f0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14008d040]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x1400075c3
cmp byte [rcx + 0x71], 0
je 0x1400075c3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x1400075bf
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140007584
sub eax, 1
je 0x140007588
cmp eax, 2
jne 0x1400075bf
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14006df10
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x1400075b6
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x1400075bf
cmp byte [rbx + 0x71], 0
sete al
jmp 0x14000756c
xor al, al
jmp 0x14000756c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14006df10
add rsp, 0x60
pop rbx
ret
Function at 0x14000c6c0
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x38
mov rax, qword [rcx + 8]
mov rdx, qword [0x140188ac8]
add rdx, 0x5cc
mov r9, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, r9
sar rcx, 3
mov dword [rsp + 0x20], ecx
lea rcx, str.Color_type
call fcn.14005ac20
mov rax, qword [0x140188ac8]
cmp dword [rax + 0x5cc], 1
jne 0x14000c75c
lea rcx, str.Second_color
call fcn.140056a00
mov rax, qword [0x140184938]
movss xmm1, dword [0x140081628]
mov rcx, qword [rax + 0x3ec8]
movss xmm0, dword [rcx + 0x28]
subss xmm0, dword [0x140081580]
call fcn.1400350a0
mov rdx, qword [0x140188ac8]
lea rcx, str.healthbar123i22
add rdx, 0x7b8
mov r8d, 0xb0306e0
add rsp, 0x38
jmp fcn.140063480
add rsp, 0x38
ret

Function at 0x14000c7a0
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x30
mov rdx, qword [0x140188ac8]
mov rbx, rcx
add rdx, 0x5e
lea rcx, str.Custom_color
call fcn.1400584a0
mov rax, qword [0x140184938]
movss xmm1, dword [0x140081628]
mov rdx, qword [rax + 0x3ec8]
movss xmm0, dword [rdx + 0x28]
subss xmm0, dword [0x140081580]
call fcn.1400350a0
mov rdx, qword [0x140188ac8]
lea rcx, str.healthbari
add rdx, 0x60
mov r8d, 0xb0306e0
call fcn.140063480
mov rdx, qword [0x140188ac8]
cmp byte [rdx + 0xef], 0
je 0x14000c861
mov rax, qword [0x140184938]
movss xmm1, dword [0x140081628]
mov rcx, qword [rax + 0x3ec8]
movss xmm0, dword [rcx + 0x28]
subss xmm0, dword [0x140081594]
call fcn.1400350a0
mov rdx, qword [0x140188ac8]
lea rcx, str.heabarb
add rdx, 0x70
mov r8d, 0xb0306e0
call fcn.140063480
mov rdx, qword [0x140188ac8]
mov rax, qword [rbx + 8]
add rdx, 0x5c8
mov r9, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, r9
sar rcx, 3
mov dword [rsp + 0x20], ecx
lea rcx, str.Color_type
call fcn.14005ac20
mov rax, qword [0x140188ac8]
cmp dword [rax + 0x5c8], 1
jne 0x14000c8f3
lea rcx, str.Second_color
call fcn.140056a00
mov rax, qword [0x140184938]
movss xmm1, dword [0x140081628]
mov rcx, qword [rax + 0x3ec8]
movss xmm0, dword [rcx + 0x28]
subss xmm0, dword [0x140081580]
call fcn.1400350a0
mov rdx, qword [0x140188ac8]
lea rcx, str.healthbari22
add rdx, 0x7a8
mov r8d, 0xb0306e0
add rsp, 0x30
pop rbx
jmp fcn.140063480
add rsp, 0x30
pop rbx
ret

Function at 0x14000c930
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x38
mov rax, qword [rcx + 8]
mov rdx, qword [0x140188ac8]
add rdx, 0x364
mov r9, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, r9
sar rcx, 3
mov dword [rsp + 0x20], ecx
lea rcx, str.Prefer..
call fcn.14005ac20
mov rdx, qword [0x140188ac8]
lea rcx, str.Baim_while_lethal
add rdx, 0x331
call fcn.1400584a0
mov rdx, qword [0x140188ac8]
lea rcx, str.Baim_unsafe
add rdx, 0x332
add rsp, 0x38
jmp fcn.1400584a0
Function at 0x140018c80
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x14008d040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rdx
mov rdi, rcx
mov ecx, 8
call fcn.14006df30
mov qword [rax], rbx
mov qword [rsp + 0x30], rax
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x140018d30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x140018cf9
mov rax, rdi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.14006df10
mov rbx, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov dword [rbx], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x14001d750
Capabilities:
Parse pe header

Disassembly:
dec edx
cmp edx, 0x35
ja case.default.0x14001d76f
movsxd rax, edx
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1d8bc]
add rcx, rdx
jmp rcx
mov eax, 1
ret
mov eax, 2
ret
mov eax, 4
ret
mov eax, 5
ret
mov eax, 6
ret
mov eax, 0x41
ret
mov eax, 0x42
ret
mov eax, 0x43
ret
mov eax, 0x44
ret
mov eax, 0x45
ret
mov eax, 0x46
ret
mov eax, 0x47
ret
mov eax, 0x48
ret
mov eax, 0x49
ret
mov eax, 0x4a
ret
mov eax, 0x4b
ret
mov eax, 0x4c
ret
mov eax, 0x4d
ret
mov eax, 0x4e
ret
mov eax, 0x4f
ret
mov eax, 0x50
ret
mov eax, 0x51
ret
mov eax, 0x52
ret
mov eax, 0x53
ret
mov eax, 0x54
ret
mov eax, 0x55
ret
mov eax, 0x56
ret
mov eax, 0x57
ret
mov eax, 0x58
ret
mov eax, 0x59
ret
mov eax, 0x5a
ret
mov eax, 0x31
ret
mov eax, 0x32
ret
mov eax, 0x33
ret
mov eax, 0x34
ret
mov eax, 0x35
ret
mov eax, 0x36
ret
mov eax, 0x37
ret
mov eax, 0x38
ret
mov eax, 0x39
ret
mov eax, 0x30
ret
mov eax, 0x70
ret
mov eax, 0x71
ret
mov eax, 0x72
ret
mov eax, 0x73
ret
mov eax, 0x74
ret
mov eax, 0x75
ret
mov eax, 0x76
ret
mov eax, 0x77
ret
mov eax, 0x78
ret
mov eax, 0x79
ret
mov eax, 0x7a
ret
mov eax, 0x7b
ret
mov eax, 0x12
ret
mov eax, dword [rsp + 0x10]
ret
Function at 0x140023390
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400233c5
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 + 0x50], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x20], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.1400228e0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140023506
mov qword [rsp + 0x58], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
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, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x140023480
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400234f5
mov rdx, qword [r11 + 8]
mov r8d, dword [rax + 0x10]
cmp r8d, dword [rdx + 0x10]
jne 0x1400234bd
mov r10, qword [rdx]
cmp r10, rax
je 0x1400234b7
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 0x1400234f5
cmp r9, rdx
je 0x1400234d1
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
je 0x140023517
cmp r9, rdx
jne 0x1400234c2
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, rbx
jne 0x140023430
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x28
pop rdi
pop rsi
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 0x1400234f5