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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x5c60], 0
lea rbx, [rcx + 0x5c68]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x180019c87
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x180019c3a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.18001c2b0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.1800055c0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5c60]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5c70]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x180077b08]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x180019c8f
mov rcx, rbx
call fcn.1800055c0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x18001a110
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x180077b10]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x18001a173
mov qword [rsp], rbx
lea rbx, [0x18005f4f0]
nop dword [rax]
cmp r9b, 0x23
jne 0x18001a153
cmp byte [r8], r9b
jne 0x18001a153
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x18001a140
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5bd8]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x18001a1a7
mov r10, qword [r10 + 0x5be0]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x18001a1ae
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x18001a194
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x18001a6e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx ebx, byte [rcx]
lea r11, [rcx + 1]
lea rsi, [0x18005f4f0]
mov edi, 0xffffffff
mov r8d, edi
mov rcx, r11
movzx r9d, bl
test bl, bl
je 0x18001a742
cmp r9b, 0x23
jne 0x18001a723
cmp byte [rcx], r9b
jne 0x18001a723
cmp byte [rcx + 1], r9b
cmove r8d, edi
movzx edx, r8b
movzx eax, r9b
movzx r9d, byte [rcx]
xor rdx, rax
shr r8d, 8
inc rcx
xor r8d, dword [rsi + rdx*4]
test r9b, r9b
jne 0x18001a710
not r8d
mov ecx, r8d
call fcn.18000ba80
mov rcx, rax
test rax, rax
je 0x18001a785
or dword [rax + 0x14], 0x100
xor edx, edx
call fcn.18000bc90
call fcn.18001a660
mov r11, rax
test r11, r11
je 0x18001a775
mov byte [r11 + 0xe], 1
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov eax, edi
test bl, bl
je 0x18001a7bb
nop dword [rax + rax]
cmp bl, 0x23
jne 0x18001a7a1
cmp byte [r11], bl
jne 0x18001a7a1
cmp byte [r11 + 1], bl
cmove eax, edi
movzx edx, al
movzx ecx, bl
movzx ebx, byte [r11]
xor rdx, rcx
shr eax, 8
inc r11
xor eax, dword [rsi + rdx*4]
test bl, bl
jne 0x18001a790
mov r10, qword [0x180077b10]
mov r9, qword [r10 + 0x5bf0]
test r9, r9
je 0x18001a775
lea r11, [r9 + 4]
test r11, r11
je 0x18001a775
not eax
nop dword [rax]
cmp dword [r11], eax
jne 0x18001a7f0
cmp byte [r11 + 0xe], 0
je 0x18001a76b
movsxd r8, dword [r11 - 4]
movsxd rdx, dword [r10 + 0x5be8]
add r8, r11
add rdx, 4
xor r11d, r11d
add rdx, r9
cmp r8, rdx
cmovne r11, r8
test r11, r11
jne 0x18001a7e0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18002fb90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov r9, qword [rcx + 0x180]
mov r10, rcx
movsxd rax, edx
imul rbx, rax, 0x70
add rbx, qword [rcx + 0x18]
mov dword [rcx + 0x74], edx
test dword [rbx], 0x10000
movss xmm1, dword [rbx + 0x34]
je 0x18002fbcc
addss xmm1, dword [rcx + 0x8c]
lea rsi, [r9 + 0x100]
movss dword [rsi], xmm1
movss xmm0, dword [rcx + 0xc0]
addss xmm0, dword [rcx + 0x7c]
movss dword [r9 + 0x118], xmm1
subss xmm1, dword [r9 + 0x20]
movss dword [r9 + 0x104], xmm0
subss xmm1, dword [r9 + 0x144]
movss dword [r9 + 0x148], xmm1
mov eax, dword [rcx + 0x88]
mov dword [r9 + 0x138], eax
movsx eax, byte [rbx + 0x6a]
mov dword [r9 + 0x158], eax
movss dword [r9 + 0x21c], xmm0
mov eax, dword [rbx + 0x34]
mov dword [r9 + 0x218], eax
mov eax, dword [rbx + 0x38]
mov dword [r9 + 0x220], eax
mov eax, dword [rbx + 0x3c]
mov dword [r9 + 0x1bc], eax
movzx eax, byte [rbx + 0x68]
mov byte [r9 + 0xbb], al
cmp byte [rbx + 0x68], 0
je 0x18002fc73
mov rax, qword [0x180077b10]
xor ecx, ecx
mov dword [rax + 0x476c], ecx
mov dword [rax + 0x4774], ecx
test dword [r10 + 4], 0x100000
je 0x18002fc88
mov r8d, 2
jmp 0x18002fd08
movups xmm0, xmmword [rbx + 0x20]
mov rax, qword [r9 + 0x298]
movss xmm4, dword [rbx + 0x20]
movss xmm3, dword [rbx + 0x24]
movss xmm2, dword [rbx + 0x28]
movss xmm1, dword [rbx + 0x2c]
movups xmmword [r9 + 0x238], xmm0
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r9 + 0x298]
movups xmm0, xmmword [rsp + 0x20]
movsxd rdx, dword [rax + 0x58]
mov rcx, qword [rax + 0x60]
add rdx, rdx
movups xmmword [rcx + rdx*8 - 0x10], xmm0
movzx r8d, word [rbx + 0x5c]
mov rdx, qword [r9 + 0x298]
mov rcx, qword [r10 + 0x198]
call fcn.180027aa0
mov rdi, qword [0x180077b10]
cmp byte [rdi + 0x5c58], 0
je 0x18002fd4d
cmp byte [rbx + 0x68], 0
jne 0x18002fd4d
xor r8d, r8d
lea rdx, [0x180063bdc]
mov rcx, rsi
call fcn.180019cf0
mov dword [rdi + 0x5c88], 0x7f7fffff
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x180032800
Capabilities:
Hash data with crc32

Disassembly:
mov rax, qword [0x180077b10]
mov rdx, qword [rax + 0x4b10]
cmp ecx, 0xffffffff
jne 0x18003281a
cmp dword [rdx + 0x74], ecx
cmovne ecx, dword [rdx + 0x74]
cmp ecx, dword [rdx + 0x6c]
mov eax, 0xffffffff
cmove ecx, eax
test byte [rdx + 4], 7
je 0x180032897
mov r10d, dword [rdx]
lea r8, [0x180063be1]
movzx eax, word [rdx + 0x78]
lea r11, [0x18005f4f0]
not r10d
mov word [rdx + 0x210], cx
mov ecx, r10d
mov byte [rdx + 0x227], 1
mov word [rdx + 0x7a], ax
mov r9b, 0x23
nop dword [rax + rax]
cmp r9b, 0x23
jne 0x180032873
cmp byte [r8], r9b
jne 0x180032873
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180032860
not ecx
jmp fcn.180014af0
ret
Function at 0x180046da0
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 0x180046dc8
add rsp, 0x20
pop r15
pop rdi
pop rbx
jmp qword [sym.imp.MSVCP140_APP.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 0x180046dee
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x180046df0
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x180046e49
test ecx, ecx
jle 0x180046e29
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140_APP.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 0x180046e49
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x180046e49
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
Function at 0x180046e70
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 0x180046e92
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je 0x180046ea8
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp qword [sym.imp.MSVCP140_APP.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 0x180046ec4
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x180046ec6
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x180046f02
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140_APP.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 0x180046f9e
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x180046f3d
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 0x180046f7e
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 0x180046f9e
cmp rbx, rax
ja 0x180046f50
test rbx, rbx
je 0x180046f9e
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
Function at 0x1800473d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x180074020]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x1800473fd
xor eax, eax
jmp 0x180047569
mov rax, qword [rcx + 0x40]
mov rdx, qword [rax]
test rdx, rdx
je 0x180047437
mov rax, qword [rcx + 0x58]
movsxd r8, dword [rax]
lea rcx, [rdx + r8]
cmp rdx, rcx
jae 0x180047437
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 0x180047569
cmp qword [rbx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x18004755c
mov r8, qword [rbx + 0x18]
lea rax, [rbx + 0x70]
cmp qword [r8], rax
jne 0x18004747a
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 0x1800474a5
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 0x180047561
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_APP.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 0x180047514
sub eax, 1
je 0x180047514
cmp eax, 2
jne 0x18004755c
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 0x180047561
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x180047542
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 0x18004755c
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov ecx, 0xffffffff
cmovne ecx, edi
mov eax, ecx
jmp 0x180047561
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1800596f0
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x180048aa0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x180074020]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x180048b73
cmp byte [rcx + 0x71], 0
je 0x180048b73
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x180048b6f
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_APP.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 0x180048b34
sub eax, 1
je 0x180048b38
cmp eax, 2
jne 0x180048b6f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1800596f0
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x180048b66
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 0x180048b6f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x180048b1c
xor al, al
jmp 0x180048b1c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1800596f0
add rsp, 0x60
pop rbx
ret

Function at 0x18005a430
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
lea r8, [rsp + 0x60]
mov ebx, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetLocaleInfoEx]
mov r8d, ebx
mov ecx, 0x1300
neg eax
sbb r9d, r9d
and qword [rsp + 0x30], 0
and r9d, dword [rsp + 0x60]
xor edx, edx
and dword [rsp + 0x28], 0
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x18005a4b4
mov r8, qword [rdi]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x18005d8f0]
cmp byte [rcx + rax], 0
je 0x18005a4b4
dec r8
sub rdx, 1
jne 0x18005a49a
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret
Function at 0x14000c440
Capabilities:
Write file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rsi, rcx
cmp qword [rcx + 0x80], 0
je 0x14000c46d
mov rax, qword [rsi + 0x18]
lea rcx, [rsi + 0x70]
cmp qword [rax], rcx
je 0x14000c474
cmp qword [rsi + 0x68], 0
jne 0x14000c49e
jmp 0x14000c523
xor eax, eax
jmp 0x14000c53d
mov ecx, dword [rsi + 0x90]
mov rdx, qword [rsi + 0x88]
mov qword [rax], rdx
mov rax, qword [rsi + 0x38]
mov qword [rax], rdx
sub ecx, edx
mov rax, qword [rsi + 0x50]
mov dword [rax], ecx
cmp qword [rsi + 0x68], 0
je 0x14000c523
cmp byte [rsi + 0x71], 0
je 0x14000c523
mov rax, qword [rsi]
mov rcx, rsi
mov edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000c51b
mov rcx, qword [rsi + 0x68]
lea r9, [rsp + 0x50]
lea rdx, [rsi + 0x74]
mov rax, qword [rcx]
lea r8, [rsp + 0x28]
mov qword [rsp + 0x20], r8
lea rdi, [rsp + 0x30]
mov r8, rdi
call qword [rax + 0x40]
cmp eax, 3
je 0x14000c51f
cmp eax, 1
je 0x14000c4ee
test eax, eax
jne 0x14000c51b
mov byte [rsi + 0x71], 0
mov rbx, qword [rsp + 0x28]
sub rbx, rdi
je 0x14000c515
mov r9, qword [rsi + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rbx, rax
jne 0x14000c51b
cmp byte [rsi + 0x71], 0
je 0x14000c523
xor edi, edi
jmp 0x14000c526
mov byte [rsi + 0x71], 0
mov rdi, rsi
mov rcx, qword [rsi + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ecx, eax
xor eax, eax
test ecx, ecx
cmove rax, rdi
mov byte [rsi + 0x7c], 0
mov byte [rsi + 0x71], 0
lea rcx, [rsi + 8]
mov qword [rsi + 0x18], rcx
lea rcx, [rsi + 0x10]
mov qword [rsi + 0x20], rcx
lea rcx, [rsi + 0x28]
mov qword [rsi + 0x38], rcx
lea rcx, [rsi + 0x30]
mov qword [rsi + 0x40], rcx
lea rcx, [rsi + 0x48]
mov qword [rsi + 0x50], rcx
lea rcx, [rsi + 0x4c]
mov qword [rsi + 0x58], rcx
mov qword [rsi + 0x48], 0
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x28], xmm0
mov qword [rsi + 0x80], 0
mov rcx, qword [0x1400459cc]
mov qword [rsi + 0x74], rcx
mov qword [rsi + 0x68], 0
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
Function at 0x14000c6a0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
cmp edx, 0xffffffff
je 0x14000c7a3
mov esi, edx
mov rdi, rcx
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000c6ea
mov rdx, qword [rdi + 0x58]
mov r8d, dword [rdx]
test r8d, r8d
jle 0x14000c6ea
dec r8d
mov dword [rdx], r8d
lea rdx, [rcx + 1]
mov qword [rax], rdx
mov byte [rcx], sil
jmp 0x14000c814
cmp qword [rdi + 0x80], 0
je 0x14000c7a7
mov rax, qword [rdi + 0x18]
lea rcx, [rdi + 0x70]
cmp qword [rax], rcx
je 0x14000c7ae
mov rcx, qword [rdi + 0x68]
test rcx, rcx
je 0x14000c7da
mov byte [rsp + 0x4f], sil
lea rax, [rsp + 0x80]
lea r9, [rsp + 0x50]
lea rdx, [rdi + 0x74]
mov r10, qword [rcx]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
lea r14, [rsp + 0x60]
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x4f]
mov r8, rbx
call qword [r10 + 0x38]
mov ebp, 0xffffffff
cmp eax, 2
jae 0x14000c7f3
mov r15, qword [rsp + 0x50]
sub r15, r14
je 0x14000c793
mov r9, qword [rdi + 0x80]
mov edx, 1
mov rcx, r14
mov r8, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp r15, rax
jne 0x14000c812
mov byte [rdi + 0x71], 1
cmp qword [rsp + 0x58], rbx
mov eax, 0xffffffff
jmp 0x14000c80d
xor esi, esi
jmp 0x14000c814
mov esi, 0xffffffff
jmp 0x14000c814
mov ecx, dword [rdi + 0x90]
mov rdx, qword [rdi + 0x88]
mov qword [rax], rdx
mov rax, qword [rdi + 0x38]
mov qword [rax], rdx
sub ecx, edx
mov rax, qword [rdi + 0x50]
mov dword [rax], ecx
mov rcx, qword [rdi + 0x68]
test rcx, rcx
jne 0x14000c716
mov rdx, qword [rdi + 0x80]
movsx ecx, sil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
cmp eax, 0xffffffff
cmove esi, eax
jmp 0x14000c814
cmp eax, 3
jne 0x14000c812
mov rdx, qword [rdi + 0x80]
movsx ecx, byte [rsp + 0x4f]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
cmp eax, 0xffffffff
cmove esi, eax
mov ebp, esi
mov esi, ebp
mov eax, esi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14000ccc0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
test r8, r8
jle 0x14000ccfb
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx + 0x68], 0
je 0x14000cd02
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
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]
xor esi, esi
jmp 0x14000cdf9
mov rax, qword [rbx + 0x38]
mov rdx, qword [rax]
test rdx, rdx
je 0x14000cd55
mov rax, qword [rbx + 0x50]
movsxd r15, dword [rax]
test r15, r15
je 0x14000cd55
cmp r15, rsi
cmovae r15, rsi
mov rcx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rdi, r15
mov r14, rsi
sub r14, r15
mov rax, qword [rbx + 0x50]
sub dword [rax], r15d
mov rax, qword [rbx + 0x38]
movsxd rcx, r15d
add qword [rax], rcx
cmp qword [rbx + 0x80], 0
jne 0x14000cd66
jmp 0x14000cdf6
mov r14, rsi
cmp qword [rbx + 0x80], 0
je 0x14000cdf6
mov rax, qword [rbx + 0x18]
lea rcx, [rbx + 0x70]
cmp qword [rax], rcx
jne 0x14000cd92
mov ecx, dword [rbx + 0x90]
mov rdx, qword [rbx + 0x88]
mov qword [rax], rdx
mov rax, qword [rbx + 0x38]
mov qword [rax], rdx
sub ecx, edx
mov rax, qword [rbx + 0x50]
mov dword [rax], ecx
mov r15, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
nop dword [rax]
cmp r14, 0x1000
jb 0x14000cdd1
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call r15
add rdi, rax
sub r14, rax
cmp rax, 0xfff
je 0x14000cda0
jmp 0x14000cdf6
test r14, r14
je 0x14000cdf3
mov r9, qword [rbx + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub r14, rax
jmp 0x14000cdf6
xor r14d, r14d
sub rsi, r14
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret

Function at 0x14000ce10
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx + 0x68], 0
je 0x14000ce46
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
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 [rbx + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000ce93
test rsi, rsi
jle 0x14000ce93
mov rax, qword [rbx + 0x58]
mov r15d, dword [rax]
test r15d, r15d
jle 0x14000ce93
cmp r15, rsi
cmovae r15, rsi
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rdi, r15
mov r14, rsi
sub r14, r15
mov rax, qword [rbx + 0x58]
sub dword [rax], r15d
mov rax, qword [rbx + 0x40]
add qword [rax], r15
test r14, r14
jg 0x14000ce9b
jmp 0x14000cebb
mov r14, rsi
test r14, r14
jle 0x14000cebb
mov r9, qword [rbx + 0x80]
test r9, r9
je 0x14000cebb
mov edx, 1
mov rcx, rdi
mov r8, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub r14, rax
sub rsi, r14
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
Function at 0x14000ced0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rax, qword [rcx + 0x38]
lea r13, [rcx + 0x70]
cmp qword [rax], r13
mov rax, qword [rcx + 0x68]
sete bpl
cmp r9d, 1
sete r15b
test rax, rax
sete r12b
cmp qword [rcx + 0x80], 0
je 0x14000cffa
mov ebx, r9d
mov r14, r8
mov rdi, rcx
test rax, rax
je 0x14000cfb6
cmp byte [rdi + 0x71], 0
je 0x14000cfb6
mov rax, qword [rdi]
mov rcx, rdi
mov edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000cffa
mov rcx, qword [rdi + 0x68]
lea r9, [rsp + 0x60]
lea rdx, [rdi + 0x74]
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov qword [rsp + 0x20], r8
lea r8, [rsp + 0x40]
call qword [rax + 0x40]
cmp eax, 3
je 0x14000cfb2
cmp eax, 1
lea rcx, [rsp + 0x40]
je 0x14000cf7f
test eax, eax
jne 0x14000cffa
mov byte [rdi + 0x71], 0
mov rax, qword [rsp + 0x38]
sub rax, rcx
je 0x14000cfaa
mov r9, qword [rdi + 0x80]
mov edx, 1
mov r8, rax
mov qword [rsp + 0x30], rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp qword [rsp + 0x30], rax
jne 0x14000cffa
cmp byte [rdi + 0x71], 0
jne 0x14000cffa
jmp 0x14000cfb6
mov byte [rdi + 0x71], 0
and r15b, r12b
and r15b, bpl
movzx eax, r15b
sub r14, rax
cmp ebx, 1
jne 0x14000cfcd
test r14, r14
je 0x14000cfe4
mov rcx, qword [rdi + 0x80]
mov rdx, r14
mov r8d, ebx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
jne 0x14000cffa
mov rcx, qword [rdi + 0x80]
lea rdx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetpos]
test eax, eax
je 0x14000d01c
mov qword [rsi], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsi + 8], xmm0
mov rax, rsi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdi + 0x18]
cmp qword [rax], r13
jne 0x14000d044
mov ecx, dword [rdi + 0x90]
mov rdx, qword [rdi + 0x88]
mov qword [rax], rdx
mov rax, qword [rdi + 0x38]
mov qword [rax], rdx
sub ecx, edx
mov rax, qword [rdi + 0x50]
mov dword [rax], ecx
mov rax, qword [rdi + 0x74]
mov rcx, qword [rsp + 0x40]
mov qword [rsi], rcx
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], rax
jmp 0x14000d008