joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18000736c
Capabilities:
Write file on windows

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 r14
sub rsp, 0x20
mov rbx, r8
mov r14, rdx
mov rdi, rcx
cmp qword [rcx + 0x68], 0
je 0x18000739c
call fcn.180007b54
jmp 0x180007414
mov rsi, rbx
mov rax, qword [rcx + 0x40]
mov r9, qword [rax]
test r9, r9
je 0x1800073b3
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1800073b5
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x18000740e
test ecx, ecx
jle 0x1800073ef
cmp rbx, rbp
cmovl rbp, rbx
mov r8, rbp
mov rcx, r9
call fcn.18000ae60
nop
sub rbx, rbp
mov rax, qword [rdi + 0x58]
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
add r14, rbp
test rbx, rbx
jle 0x18000740e
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x18000740e
mov r8, rbx
mov edx, 1
mov rcx, r14
call fcn.18000f520
sub rbx, rax
sub rsi, rbx
mov rax, rsi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x180007430
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rdi, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x18000745d
xor eax, eax
jmp 0x18000754e
cmp qword [rcx + 0x68], 0
je 0x18000746e
call fcn.180007c04
jmp 0x18000754e
mov rbp, rdi
mov rax, qword [rcx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x180007485
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x180007487
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x1800074bd
mov rbx, rdi
cmp rax, rdi
cmovb rbx, rax
mov r8, rbx
mov rcx, r14
call fcn.18000ae60
nop
add r14, rbx
mov rbp, rdi
sub rbp, rbx
mov rax, qword [rsi + 0x50]
sub dword [rax], ebx
mov rcx, qword [rsi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
mov rbx, rbp
cmp qword [rsi + 0x80], 0
je 0x180007548
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x1800074f7
mov rdx, qword [rsi + 0x90]
mov rcx, qword [rsi + 0x88]
mov qword [r8], rcx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
mov r15d, 0xfff
jmp 0x180007524
mov r9, qword [rsi + 0x80]
mov r8, r15
mov edx, 1
mov rcx, r14
call fcn.18000f824
add r14, rax
sub rbp, rax
mov rbx, rbp
cmp rax, r15
jne 0x180007567
cmp rbp, r15
ja 0x1800074ff
test rbx, rbx
je 0x180007548
mov r9, qword [rsi + 0x80]
mov r8, rbp
mov edx, 1
mov rcx, r14
call fcn.18000f824
sub rbx, rax
sub rdi, rbx
mov rax, rdi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
sub rdi, rbp
jmp 0x18000754b
Function at 0x1800078fc
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
or edi, 0xffffffff
mov esi, edx
mov rbx, rcx
cmp edx, edi
jne 0x180007924
xor eax, eax
jmp 0x180007a46
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x18000795e
mov rdx, qword [rbx + 0x58]
movsxd r8, dword [rdx]
lea rax, [rcx + r8]
cmp rcx, rax
jae 0x18000795e
lea eax, [r8 - 1]
mov dword [rdx], eax
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rcx]
lea rax, [rdx + 1]
mov qword [rcx], rax
mov eax, esi
mov byte [rdx], sil
jmp 0x180007a46
cmp qword [rbx + 0x80], 0
je 0x180007a44
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x180007999
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 0x1800079bc
movsx ecx, sil
mov rdx, qword [rbx + 0x80]
call fcn.18000e988
cmp eax, edi
cmovne edi, esi
jmp 0x180007a44
lea r8, [rbp + 0x30]
mov byte [rbp - 0x30], sil
mov rax, qword [rcx]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x38], r8
lea r9, [rbp - 0x2f]
lea r8, [rbp - 8]
mov qword [rsp + 0x30], r8
lea r8, [rbp - 0x28]
mov qword [rsp + 0x28], r8
lea r8, [rbp + 0x38]
mov qword [rsp + 0x20], r8
lea r8, [rbp - 0x30]
call qword [rax + 0x38]
test eax, eax
je 0x180007a0a
sub eax, 1
je 0x180007a0a
cmp eax, 2
jne 0x180007a44
movsx ecx, byte [rbp - 0x30]
jmp 0x1800079a6
mov r14, qword [rbp + 0x30]
lea rax, [rbp - 0x28]
sub r14, rax
je 0x180007a34
mov r9, qword [rbx + 0x80]
lea rcx, [rbp - 0x28]
mov r8, r14
mov edx, 1
call fcn.18000f520
cmp r14, rax
jne 0x180007a44
lea rax, [rbp - 0x30]
mov byte [rbx + 0x71], 1
cmp qword [rbp + 0x38], rax
mov eax, esi
jne 0x180007a46
mov eax, edi
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret

Function at 0x180007f9c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x50
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x180007ff8
cmp byte [rcx + 0x71], 0
je 0x180007ff8
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x18000803f
mov rcx, qword [rbx + 0x68]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x20], r8
lea rdx, [rbx + 0x74]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
je 0x180008005
sub eax, 1
je 0x180008009
cmp eax, 2
jne 0x18000803f
mov byte [rbx + 0x71], 0
mov al, 1
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x60]
lea rax, [rsp + 0x30]
sub rdi, rax
je 0x180008036
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x30]
mov r8, rdi
mov edx, 1
call fcn.18000f520
cmp rdi, rax
jne 0x18000803f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x180007ffa
xor al, al
jmp 0x180007ffa
Function at 0x180016e24
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x180016cc4
call fcn.18000e780
mov dword [rax], 0x16
call fcn.18000e45c
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x180016cac
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x180016cac
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x180016cf6
lock or dword [rax + 0x14], 0x10
jmp 0x180016cac
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x180016d13
mov rcx, qword [rbp + 0x10]
call fcn.180017018
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1800150b4
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.1800186e4
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x180016d6a
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x180016cac
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x180016dd6
mov rcx, qword [rbp + 0x10]
call fcn.1800150b4
cmp eax, 0xffffffff
je 0x180016dbd
mov rcx, qword [rbp + 0x10]
call fcn.1800150b4
cmp eax, 0xfffffffe
je 0x180016dbd
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1800150b4
movsxd rdi, eax
lea rsi, [0x180036dd0]
mov rcx, rbx
sar rdi, 6
call fcn.1800150b4
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x180016dc4
lea rax, [0x1800353c0]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x180016dd6
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x180016e0c
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x180016e08
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x180016e08
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x180016caf
jmp 0x180016c7c
Function at 0x1400042f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140004368
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140004368
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x140004355
nop
cmp rbx, rcx
jae 0x140004368
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x140004340
cmp rbx, rcx
jae 0x140004368
cmp word [rbx], 0
je 0x140004368
lfence
mov rax, rbx
jmp 0x14000436a
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x1400044b0
Capabilities:
Hash data using sha1

Disassembly:
push rbx
sub rsp, 0x20
lea rax, vtable.CSHA1.0
mov dword [rcx + 8], 0x67452301
mov qword [rcx], rax
mov rbx, rcx
xor eax, eax
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
mov dword [rcx + 0x18], 0xc3d2e1f0
mov qword [rcx + 0x1c], rax
test dl, 1
je 0x1400044fb
mov edx, 0xc0
call fcn.140071e50
mov rax, rbx
add rsp, 0x20
pop rbx
ret
Function at 0x140009d20
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
mov rax, qword [0x140199468]
test rax, rax
jne 0x140009dab
lea rcx, str.sciter.dll
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
je 0x140009d90
lea rdx, str.SciterAPI
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009d87
call qword [case.0x14006aed5.0]
mov qword [0x140199468], rax
mov rax, qword [rax + 0x4d8]
call qword [case.0x14006aed5.0]
test rax, rax
je 0x140009d90
mov qword [0x140199470], rax
jmp 0x140009d90
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x140199468]
mov rbx, qword [rsp + 0x20]
test rax, rax
jne 0x140009dab
lea ecx, [rax - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
add rsp, 0x28
ret

Function at 0x1400142a0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je case.default.0x1400142d0
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
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 + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x1400142f8
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x1400142fa
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x14001435b
test ecx, ecx
jle 0x140014333
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
sub rbx, rbp
add r14, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x14001435b
cmp qword [rdi + 0x80], 0
je 0x14001435b
lfence
mov r9, qword [rdi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x30]
sub rsi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
invalid
push rdx
invalid
fstp dword [rdi - 0x6e]
jae 0x1402b49a5
mov ebp, 0xcc977d9e
add dword [rbx + 0x39], edx
adc byte [rdx + rax*8], ah
push rbx
add dword [rdi*8 - 0x76ba9285], ecx
bswap esi
xchg dword [rax + rcx*8 - 1], esp
dec dword [rbx - 0x1a5844e8]
and esp, ebx
invalid
wait
pop rbp
invalid
cmp eax, 0xa84af290
jae 0x1402b49af
pop rdi
or dword [rcx + 0x62], edi
loopne 0x1402b49d6
jmp 0x1402b4996
stosb byte [rdi], al
call [rdi]
sal dword [rax + rdx*2 - 0x6383fb6b], cl
cmpsd dword [rsi], dword [rdi]
sbb ah, bh
pop rsp
fnstsw word [r9 + 0x617af0ff]
pop rax
and dword [rdi + 0x7639141c], ecx
outsd dx, dword [rsi]
pop rax
mov bl, byte [rdx + 0x3eafcee9]
adc ecx, dword [rax]
fsub st(6), st(0)
jo 0x1402b4a6b
jrcxz 0x1402b49ea
invalid
invalid
Function at 0x140014380
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x1400143b1
xor eax, eax
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
cmp qword [rcx + 0x68], 0
je case.default.0x1400143cb
lfence
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
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 + 0x38], rdi
mov rdi, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x1400143ee
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x1400143f0
xor ecx, ecx
mov qword [rsp + 0x30], rbx
movsxd rax, ecx
test ecx, ecx
je 0x140014427
cmp rax, rbp
mov rbx, rbp
mov rcx, r14
cmovb rbx, rax
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rbx
sub rdi, rbx
sub dword [rax], ebx
mov rcx, qword [rsi + 0x38]
movsxd rax, ebx
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x1400144c4
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140014462
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
mov rbx, rdi
cmp rdi, 0xfff
jbe 0x1400144a1
nop
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]
sub rdi, rax
add r14, rax
mov rbx, rdi
cmp rax, 0xfff
jne 0x1400144c4
cmp rdi, rax
ja 0x140014470
test rbx, rbx
je 0x1400144c4
mov r9, qword [rsi + 0x80]
mov r8, rdi
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rbx
sub rdi, rax
sub rbp, rdi
mov rax, rbp
lfence
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
or al, byte [rsi + 0x45]
add eax, 0x10f7af0
mov byte [rdx + 7], dl
xor al, 0x43
and al, 0x92
cmp dl, 0x3c
invalid
Function at 0x1400149f0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140191010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x140014a1d
xor eax, eax
jmp 0x140014b75
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x140014a48
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x140014a48
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], dil
mov eax, edi
jmp 0x140014b75
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x140014b68
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x140014a8b
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
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 0x140014ab6
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 0x140014b6d
lea rax, [rsp + 0x48]
mov byte [rsp + 0x40], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x41]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x40]
lea rax, [rsp + 0x50]
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 0x140014b25
sub eax, 1
je 0x140014b25
cmp eax, 2
jne 0x140014b68
movsx ecx, byte [rsp + 0x40]
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 0x140014b6d
mov rsi, qword [rsp + 0x48]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140014b56
lfence
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 0x140014b68
lea rax, [rsp + 0x40]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x50], rax
mov eax, edi
jne 0x140014b6d
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140071e30
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x1400160c0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140191010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x14001619d
cmp byte [rcx + 0x71], 0
je 0x14001619d
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
mov rax, qword [rax + 0x18]
call qword [case.0x14006aed5.0]
cmp eax, 0xffffffff
je 0x140016199
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 0x14001615b
sub eax, 1
je 0x14001615f
cmp eax, 2
jne 0x140016199
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140071e30
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140016190
lfence
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 0x140016199
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140016143
xor al, al
jmp 0x140016143
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140071e30
add rsp, 0x60
pop rbx
ret

Function at 0x140025ec0
Capabilities:
Create process on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0xe0
xorps xmm0, xmm0
mov dword [rax - 0x78], 0x68
mov rbx, rcx
xor esi, esi
xor ecx, ecx
mov rdi, r9
mov dword [rax - 0x14], ecx
mov rdx, r8
mov qword [rsp + 0x60], rcx
xor r9d, r9d
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x48], rcx
lea rcx, [rax - 0x78]
mov qword [rsp + 0x40], rcx
xor ecx, ecx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
movups xmmword [rax - 0x74], xmm0
movups xmmword [rax - 0x64], xmm0
movups xmmword [rax - 0x54], xmm0
movups xmmword [rax - 0x44], xmm0
movups xmmword [rax - 0x34], xmm0
movups xmmword [rax - 0x24], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x140025f71
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
lea rax, [0x1401921e8]
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi], xmm0
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
jmp 0x140025f9d
mov dword [rdi], esi
lea rax, [0x1401921c0]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx], rax
mov rax, qword [rsp + 0x58]
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0x10], eax
mov eax, dword [rsp + 0x64]
mov dword [rbx + 0x14], eax
lea r11, [rsp + 0xe0]
mov rax, rbx
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400267f0
Capabilities:
Hash data using djb2

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rdx
mov r8d, 0x1505
mov rdx, qword [rdx + 0x10]
mov r9, qword [rdx + 0x10]
movzx eax, word [r9]
test ax, ax
je 0x140026827
imul r8, r8, 0x21
movzx eax, ax
lea r9, [r9 + 2]
add r8, rax
movzx eax, word [r9]
test ax, ax
jne 0x140026810
and r8, qword [rcx + 0x38]
shl r8, 4
add r8, qword [rcx + 0x20]
mov rax, qword [r8]
cmp qword [r8 + 8], rdx
jne 0x14002687a
cmp rax, rdx
jne 0x14002685f
mov rax, qword [rcx + 0x10]
add rcx, 0x10
mov qword [r8], rax
mov qword [r8 + 8], rax
call fcn.140027860
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret
mov rax, qword [rdx + 8]
add rcx, 0x10
mov qword [r8 + 8], rax
call fcn.140027860
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret
cmp rax, rdx
jne 0x140026885
mov rax, qword [rdx]
mov qword [r8], rax
add rcx, 0x10
call fcn.140027860
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret

Function at 0x1400268a0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
lea rdi, [rcx + 8]
mov ebx, 0x1505
mov rcx, qword [rdx]
movzx eax, word [rcx]
test ax, ax
je 0x1400268e6
nop dword [rax]
nop word [rax + rax]
imul rbx, rbx, 0x21
movzx eax, ax
lea rcx, [rcx + 2]
add rbx, rax
movzx eax, word [rcx]
test ax, ax
jne 0x1400268d0
mov r8, rdx
mov r9, rbx
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140027e10
xor esi, esi
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140026972
mov rcx, qword [rdi + 0x30]
mov r8, qword [rdi + 0x18]
and rcx, rbx
shl rcx, 4
add r8, rcx
mov rax, qword [r8]
cmp qword [r8 + 8], rdx
jne 0x140026957
cmp rax, rdx
jne 0x14002693f
mov rax, qword [rdi + 8]
mov qword [r8], rax
mov qword [r8 + 8], rax
lea rcx, [rdi + 8]
call fcn.140027860
mov ecx, 1
jmp 0x140026975
mov rax, qword [rdx + 8]
mov qword [r8 + 8], rax
lea rcx, [rdi + 8]
call fcn.140027860
mov ecx, 1
jmp 0x140026975
cmp rax, rdx
jne 0x140026962
mov rax, qword [rdx]
mov qword [r8], rax
lea rcx, [rdi + 8]
call fcn.140027860
mov ecx, 1
jmp 0x140026975
mov rcx, rsi
mov rbx, qword [rsp + 0x40]
test rcx, rcx
mov eax, 0x490
cmovne eax, esi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret

Function at 0x140026990
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov r8, qword [rdx]
mov rdi, rcx
mov r9d, 0x1505
movzx eax, word [r8]
test ax, ax
je 0x1400269c7
nop
imul r9, r9, 0x21
movzx eax, ax
lea r8, [r8 + 2]
add r9, rax
movzx eax, word [r8]
test ax, ax
jne 0x1400269b0
mov r8, rdx
add rcx, 8
lea rdx, [rsp + 0x20]
call fcn.140027e10
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x1400269e5
mov rcx, qword [rdi + 0x10]
mov rbx, qword [rsp + 0x40]
lea rax, [rcx + 0x18]
xor edx, edx
cmp qword [rdi + 0x10], rcx
cmove rax, rdx
add rsp, 0x30
pop rdi
ret