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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rax, qword [0x1400ac070]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov dil, 1
cmp qword [rcx + 0x68], 0
je 0x14005b01c
mov rsi, rcx
cmp byte [rcx + 0x71], 0
je 0x14005b01c
mov rax, qword [rsi]
mov rax, qword [rax + 0x18]
mov rcx, rsi
mov edx, 0xffffffff
call qword [0x1400b0010]
cmp eax, 0xffffffff
je 0x14005b01a
mov rcx, qword [rsi + 0x68]
lea r9, [rsp + 0x50]
lea rdx, [rsi + 0x74]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
lea r8, [rsp + 0x28]
mov qword [rsp + 0x20], r8
lea rdi, [rsp + 0x30]
mov r8, rdi
call qword [0x1400b0010]
cmp eax, 3
je 0x14005b033
cmp eax, 1
je 0x14005afe9
test eax, eax
jne 0x14005b01a
mov byte [rsi + 0x71], 0
mov rbx, qword [rsp + 0x28]
sub rbx, rdi
je 0x14005b010
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 0x14005b01a
cmp byte [rsi + 0x71], 0
sete dil
jmp 0x14005b01c
xor edi, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140056a50
mov eax, edi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret
mov byte [rsi + 0x71], 0
mov dil, 1
jmp 0x14005b01c
Function at 0x1400305cc
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, rcx
mov rax, r8
xor ecx, ecx
mov rdi, rdx
mov r8, r9
mov rdx, rax
mov qword [rbx], rcx
mov qword [rbx + 8], rcx
mov rcx, rbx
mov dword [rbx + 0x50], 0x6a09e667
mov dword [rbx + 0x54], 0xbb67ae85
mov dword [rbx + 0x58], 0x3c6ef372
mov dword [rbx + 0x5c], 0xa54ff53a
mov dword [rbx + 0x60], 0x510e527f
mov dword [rbx + 0x64], 0x9b05688c
mov dword [rbx + 0x68], 0x1f83d9ab
mov dword [rbx + 0x6c], 0x5be0cd19
call fcn.14002e824
mov rdx, rdi
mov rcx, rbx
call fcn.14002e5b8
mov rbx, qword [rsp + 0x40]
mov rax, rdi
add rsp, 0x30
pop rdi
ret

Function at 0x140031634
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movsxd rax, dword [rcx + 0x3c]
xor ebx, ebx
mov r13, rdx
mov rsi, rcx
mov edi, dword [rax + rcx + 0x88]
add rdi, rcx
mov r14d, dword [rdi + 0x1c]
mov r15d, dword [rdi + 0x20]
add r14, rcx
mov r12d, dword [rdi + 0x24]
add r15, rcx
add r12, rcx
cmp dword [rdi + 0x18], ebx
jbe 0x1400316a7
movzx eax, word [r12 + rbx*2]
mov rdx, r13
mov ecx, dword [r15 + rbx*4]
add rcx, rsi
mov ebp, dword [r14 + rax*4]
add rbp, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x1400316c6
inc ebx
cmp ebx, dword [rdi + 0x18]
jb 0x140031680
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, rbp
jmp 0x1400316a9

Function at 0x140031878
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
jmp 0x1400318b4
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
call fcn.14000a854
test rax, rax
jne 0x1400318cb
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1400318a0
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
jmp 0x1400318bb

Function at 0x1400322cc
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov r10, rdx
mov r9, rcx
test rcx, rcx
je 0x14003234d
test rdx, rdx
je 0x14003234d
movsxd rax, dword [rcx + 0x3c]
mov r8d, dword [rax + rcx + 0x88]
add r8, rcx
mov edi, dword [r8 + 0x1c]
mov edx, dword [r8 + 0x20]
add rdi, rcx
mov esi, dword [r8 + 0x24]
add rdx, rcx
mov ebp, dword [r8 + 0x18]
add rsi, rcx
xor ecx, ecx
test ebp, ebp
je 0x14003234d
mov eax, dword [rdx]
mov rbx, r10
add rax, r9
sub rbx, rax
movzx r8d, byte [rax]
movzx r11d, byte [rax + rbx]
sub r8d, r11d
jne 0x14003233e
inc rax
test r11d, r11d
jne 0x140032328
test r8d, r8d
je 0x140032364
inc ecx
add rdx, 4
cmp ecx, ebp
jb 0x14003231d
xor eax, eax
mov rbx, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ret
movzx ecx, word [rsi + rcx*2]
mov eax, dword [rdi + rcx*4]
add rax, r9
jmp 0x14003234f
Function at 0x140032370
Capabilities:
Create directory
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x360
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x104
call fcn.14000b210
lea rcx, str.LOCALAPPDATA
call fcn.1400106d0
lea rcx, [rsp + 0x40]
mov r8, rax
dec rcx
xor edi, edi
inc rcx
cmp byte [rcx], dil
jne 0x1400323a8
xor edx, edx
mov al, byte [r8 + rdx]
mov byte [rcx + rdx], al
inc rdx
test al, al
jne 0x1400323b2
lea rcx, [rsp + 0x40]
dec rcx
inc rcx
cmp byte [rcx], dil
jne 0x1400323c8
movups xmm0, xmmword [str.MicrosoftWindowsFonts]
mov al, byte [0x1400416b0]
xor edx, edx
movups xmmword [rcx], xmm0
movsd xmm0, qword [0x1400416a8]
movsd qword [rcx + 0x10], xmm0
mov byte [rcx + 0x18], al
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
xor edx, edx
lea rcx, [rsp + 0x150]
mov r8d, 0x208
call fcn.14000b210
lea rcx, [0x140041600]
call fcn.1400106c8
lea rcx, [rsp + 0x150]
mov r8, rax
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], di
jne 0x14003242d
xor edx, edx
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
inc rdx
test ax, ax
jne 0x140032438
lea rcx, [rsp + 0x150]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], di
jne 0x140032455
movaps xmm0, xmmword [str.MicrosoftWindowsFontsAdSlavicF.ttf]
xor r9d, r9d
movaps xmm1, xmmword [0x140041630]
xor r8d, r8d
mov eax, dword [0x140041668]
mov edx, 0x40000000
movups xmmword [rcx], xmm0
mov qword [rsp + 0x30], rdi
movaps xmm0, xmmword [0x140041640]
movups xmmword [rcx + 0x10], xmm1
mov dword [rsp + 0x28], pe_nt_image_headers64
movaps xmm1, xmmword [0x140041650]
movups xmmword [rcx + 0x20], xmm0
mov dword [rsp + 0x20], 2
movsd xmm0, qword [0x140041660]
movups xmmword [rcx + 0x30], xmm1
movsd qword [rcx + 0x40], xmm0
mov dword [rcx + 0x48], eax
movzx eax, word [0x14004166c]
mov word [rcx + 0x4c], ax
lea rcx, [rsp + 0x150]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
lea r9, [rsp + 0x370]
mov qword [rsp + 0x20], rdi
mov rcx, rax
lea rdx, [0x14006f210]
mov r8d, 0x155b4
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x378]
add rsp, 0x360
pop rdi
ret
Function at 0x140032b7c
Capabilities:
Set registry value

Disassembly:
push rbx
sub rsp, 0x240
mov rbx, rcx
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x208
call fcn.14000b210
lea rcx, [0x140041600]
call fcn.1400106c8
lea rdx, [rsp + 0x30]
mov r8, rax
sub rdx, 2
lea rdx, [rdx + 2]
cmp word [rdx], 0
jne 0x140032bb2
xor ecx, ecx
movzx eax, word [r8 + rcx*2]
mov word [rdx + rcx*2], ax
inc rcx
test ax, ax
jne 0x140032bbe
lea rcx, [rsp + 0x30]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140032bd8
mov eax, dword [0x140041668]
lea rdx, [0x140041670]
movaps xmm0, xmmword [str.MicrosoftWindowsFontsAdSlavicF.ttf]
mov r9d, 1
movaps xmm1, xmmword [0x140041630]
xor r8d, r8d
movups xmmword [rcx], xmm0
mov dword [rsp + 0x28], 0x208
movaps xmm0, xmmword [0x140041640]
movups xmmword [rcx + 0x10], xmm1
movaps xmm1, xmmword [0x140041650]
movups xmmword [rcx + 0x20], xmm0
movsd xmm0, qword [0x140041660]
movups xmmword [rcx + 0x30], xmm1
movsd qword [rcx + 0x40], xmm0
mov dword [rcx + 0x48], eax
movzx eax, word [0x14004166c]
mov word [rcx + 0x4c], ax
lea rax, [rsp + 0x30]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
add rsp, 0x240
pop rbx
ret
Function at 0x140004840
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.0x140004870
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 0x140004898
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x14000489a
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x1400048f3
test ecx, ecx
jle 0x1400048d3
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 0x1400048f3
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x1400048f3
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
add byte [rax], al
cmp al, 0xf3
add byte [rax], al
rol dh, 1
add byte [rax], al
test dh, 0
add byte [rbx + rsi*8], bh
add byte [rax], al
test dh, 0
add byte [rdi + rax*8], bl
add byte [rax], al
cmp al, 0xf3
add byte [rax], al
push 0xffffffff860000c7
add byte [rax], al
xchg bh, al
add byte [rax], al
test byte [rax], 0
in al, 0xc7
add byte [rax], al
bswap eax
add byte [rax], al
cmp al, 0xf3
add byte [rax], al
xchg bh, al
add byte [rax], al
test byte [rax], 0
in al, 0xc7
add byte [rax], al
bswap eax
add byte [rax], al
cmp al, 0xf3
add byte [rax], al
jl 0x14001e9ba
add byte [rax], al
movabs byte [0xb00000f33c0000c8], al
enter 0, 0xffffffffffffffde
enter 0, 0x3c
add byte [rax], al
Function at 0x140004920
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 0x140004942
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x140004951
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 0x140004974
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140004976
xor ecx, ecx
mov qword [rsp + 0x20], rdi
movsxd rax, ecx
test ecx, ecx
je 0x1400049b0
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]
sub rbx, rdi
add r14, rdi
mov r8, rbx
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140004a57
mov r9, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r9], rax
jne 0x1400049eb
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r9], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
mov rdi, r8
cmp r8, 0xfff
jbe 0x140004a31
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]
sub rbx, rax
add r14, rax
mov rdi, rbx
cmp rax, 0xfff
jne 0x140004a70
cmp rbx, rax
ja 0x140004a00
mov r8, rdi
test rdi, rdi
je 0x140004a57
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]
mov r8, rdi
sub r8, rax
sub rbp, r8
mov rdi, qword [rsp + 0x20]
mov rax, rbp
mov rbx, qword [rsp + 0x28]
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
sub rbp, rbx
jmp 0x140004a5a
add byte [rax], al
mov esp, 0x60000103
invalid
Function at 0x140004e70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x140013010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x140004e9d
xor eax, eax
jmp 0x140004ff2
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x140004ec8
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x140004ec8
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 0x140004ff2
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x140004fe5
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x140004f0b
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 0x140004f36
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 0x140004fea
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 0x140004fa5
sub eax, 1
je 0x140004fa5
cmp eax, 2
jne 0x140004fe5
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 0x140004fea
mov rsi, qword [rsp + 0x40]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x140004fd3
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 0x140004fe5
lea rax, [rsp + 0x50]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x48], rax
mov eax, edi
jne 0x140004fea
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14000b460
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x140005540
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x140013010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140005613
cmp byte [rcx + 0x71], 0
je 0x140005613
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x14000560f
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 0x1400055d4
sub eax, 1
je 0x1400055d8
cmp eax, 2
jne 0x14000560f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14000b460
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140005606
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 0x14000560f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x1400055bc
xor al, al
jmp 0x1400055bc
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14000b460
add rsp, 0x60
pop rbx
ret
Function at 0x1400089c0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x140013010]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r14, rdx
xor ebp, ebp
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x2000
mov rcx, rax
mov r15, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [rsp + 0x20], ebp
mov rdi, rax
test rax, rax
je 0x140008ad0
lea r9, [rsp + 0x20]
mov r8d, 0x2000
mov rdx, rax
lea ecx, [rbp + 0xb]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
jns 0x140008a6b
mov r8, rdi
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x20]
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x140008ad0
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, rax
lea ecx, [rbp + 0xb]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x140008ad0
cmp dword [rdi], ebp
jbe 0x140008ad0
mov qword [rsp + 0x50], rbx
mov ebx, ebp
mov qword [rsp + 0x60], rsi
nop dword [rax + rax]
movsxd rsi, ebx
mov rdx, r14
imul rcx, rsi, 0x128
add rcx, 0x30
add rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x140008aa7
inc ebx
cmp ebx, dword [rdi]
jb 0x140008a80
jmp 0x140008ab3
imul rax, rsi, 0x128
mov rbp, qword [rax + rdi + 0x18]
mov r8, rdi
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rsp + 0x60]
mov rax, rbp
mov rbx, qword [rsp + 0x50]
jmp 0x140008ad2
xor eax, eax
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14000b460
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x140001750
Capabilities:
Read file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
mov r12, rdx
lea rcx, [rcx + 0x70]
lea rdx, [0x140011129]
call fcn.1400041a0
test rax, rax
mov rbp, rax
je 0x140001880
mov edx, dword [r12 + 4]
xor r8d, r8d
mov rcx, rax
add edx, dword [rbx]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
test eax, eax
js 0x140001860
mov esi, dword [r12 + 0xc]
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
mov r13, rax
je 0x140001896
cmp byte [r12 + 0x10], 1
je 0x140001840
test rsi, rsi
mov rdi, rax
jne 0x1400017d8
jmp 0x140001820
add rdi, rbx
sub rsi, rbx
je 0x140001820
mov ebx, 0x2000
mov r9, rbp
mov r8d, 1
cmp rsi, rbx
mov rcx, rdi
cmovbe rbx, rsi
mov rdx, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
test rax, rax
jne 0x1400017d0
lea r8, [r12 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_read_data_chunk__n
lea rcx, str.fread
call fcn.140002bf0
mov rcx, r13
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
xor r13d, r13d
mov rcx, rbp
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov rax, r13
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor r8d, r8d
mov r9, rax
mov rdx, r12
mov rcx, rbp
call fcn.140001490
test eax, eax
je 0x140001820
jmp 0x140001815
lea r8, [r12 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_seek_to_the_entrys_data__n
lea rcx, str.fseek
call fcn.140002bf0
jmp 0x14000181d
lea rdx, [r12 + 0x12]
xor r13d, r13d
lea rcx, str.Failed_to_extract__s:_failed_to_open_archive_file__n
call fcn.140002a70
jmp 0x140001828
lea r8, [r12 + 0x12]
mov r9d, esi
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_data_buffer___u_bytes___n
lea rcx, str.malloc
call fcn.140002bf0
jmp 0x14000181d
Function at 0x140001960
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
cmp dword [rcx + 0x5074], 1
mov rsi, rcx
mov rbx, rdx
jne 0x140001b60
cmp byte [rdx + 0x11], 0x6e
je 0x140001a80
lea r13, [rdx + 0x12]
lea rcx, [rcx + 0x3070]
mov rdx, r13
call fcn.140008030
test rax, rax
mov r12, rax
je 0x140001b76
lea rcx, [rsi + 0x70]
lea rdx, [0x140011129]
call fcn.1400041a0
test rax, rax
mov rbp, rax
je 0x140001af0
mov edx, dword [rbx + 4]
xor r8d, r8d
mov rcx, rax
add edx, dword [rsi]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
test eax, eax
js 0x140001b40
cmp byte [rbx + 0x10], 1
je 0x140001aa0
mov ecx, 0x2000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
mov rdi, rax
je 0x140001b8e
mov esi, dword [rbx + 0xc]
test rsi, rsi
jne 0x140001a36
jmp 0x140001b10
mov r9, r12
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
test rax, rax
je 0x140001b20
sub rsi, rbx
je 0x140001b10
mov ebx, 0x2000
mov r9, rbp
mov r8d, 1
cmp rsi, rbx
mov rcx, rdi
cmovbe rbx, rsi
mov rdx, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
test rax, rax
jne 0x140001a10
lea rdx, str.Failed_to_extract__s:_failed_to_read_data_chunk__n
mov r8, r13
lea rcx, str.fread
call fcn.140002bf0
mov esi, 0xffffffff
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x140001ab3
call fcn.1400018c0
test eax, eax
mov esi, eax
js 0x140001ad8
mov eax, esi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor r9d, r9d
mov r8, r12
mov rdx, rbx
mov rcx, rbp
call fcn.140001490
mov esi, eax
mov rcx, rbp
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov rcx, r12
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov eax, esi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rdx, [rbx + 0x12]
lea rcx, str.Failed_to_create_symbolic_link__s__n
call fcn.140002a70
jmp 0x140001a8b
lea rcx, str.Failed_to_extract__s:_failed_to_open_archive_file__n
mov rdx, r13
mov esi, 0xffffffff
call fcn.140002a70
jmp 0x140001abb
xor esi, esi
jmp 0x140001a76
lea rdx, str.Failed_to_extract__s:_failed_to_write_data_chunk__n
mov r8, r13
lea rcx, str.fwrite
call fcn.140002bf0
jmp 0x140001a71
lea rdx, str.Failed_to_extract__s:_failed_to_seek_to_the_entrys_data__n
mov r8, r13
lea rcx, str.fseek
call fcn.140002bf0
mov esi, 0xffffffff
jmp 0x140001ab3
lea rcx, str.pyi_arch_extract2fs_was_called_before_temporary_directory_was_initialized__n
call fcn.140002a70
mov esi, 0xffffffff
jmp 0x140001a8b
lea rdx, str.Failed_to_extract__s:_failed_to_open_target_file__n
mov r8, r13
lea rcx, str.fopen
call fcn.140002bf0
jmp 0x140001b6c
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_buffer__n
mov r8, r13
lea rcx, str.malloc
call fcn.140002bf0
jmp 0x140001b56