joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405f40
Capabilities:
Accept command line arguments
Encrypt data using rc4 prga

Disassembly:
push rsi
push rbx
sub rsp, 0x98
call qword [sym.imp.kernel32.dll_GetCommandLineW]
mov rbx, rax
movzx eax, word [rax]
test ax, ax
je 0x405fc4
cmp ax, 9
je 0x405fb0
cmp ax, 0x20
je 0x405fb0
xor r9d, r9d
xor edx, edx
nop dword [rax + rax]
cmp ax, 0x5c
je 0x406018
cmp ax, 0x22
je 0x406000
xor edx, edx
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
je 0x405fc4
cmp ax, 9
sete r8b
cmp ax, 0x20
sete cl
or r8b, cl
je 0x405f70
test r9b, 1
jne 0x405f70
nop dword [rax]
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, 9
je 0x405fb0
cmp ax, 0x20
je 0x405fb0
lea rcx, [rsp + 0x20]
call qword [sym.imp.kernel32.dll_GetStartupInfoW]
test byte [rsp + 0x5c], 1
je 0x406020
movzx esi, word [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
mov r9d, esi
mov r8, rbx
xor edx, edx
mov rcx, rax
call sym.wWinMain
add rsp, 0x98
pop rbx
pop rsi
ret
and edx, 1
jne 0x405f84
xor r9d, 1
jmp 0x405f86
add edx, 1
jmp 0x405f86
mov eax, 1
mov esi, 1
mov word [rsp + 0x60], ax
jmp 0x405fdb
Function at 0x1800029f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
movsxd rax, dword [rcx + 0x3c]
mov ebp, dword [0x180020a84]
lea r11d, [rbp - 1]
imul r11d, ebp
cmp dword [rcx + rax + 0x8c], 0
mov r8d, dword [0x180020a88]
je 0x180002a72
mov eax, dword [rcx + rax + 0x88]
cmp r8d, 0xa
jl 0x180002a32
mov ebp, r11d
and ebp, 1
je 0x180002a32
jmp 0x180002a30
cmp dword [rcx + rax + 0x14], 0
je 0x180002a72
mov r9d, dword [rcx + rax + 0x18]
test r9d, r9d
je 0x180002a72
mov r10d, dword [rcx + rax + 0x1c]
cmp dword [0x180020a8c], 0xa
jl 0x180002a92
mov esi, dword [0x180020a90]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
je 0x180002a92
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x180002a70
xor ecx, ecx
cmp r8d, 0xa
jl 0x180002aff
mov eax, r11d
and eax, 1
je 0x180002aff
nop word cs:[rax + rax]
jmp 0x180002a90
add r10, rcx
mov r15d, dword [rcx + rax + 0x20]
mov r14d, dword [rcx + rax + 0x24]
add r15, rcx
add r14, rcx
xor edi, edi
nop word [rax + rax]
mov esi, dword [r15]
add rsi, rcx
xor eax, eax
nop dword [rax + rax]
movzx ebx, byte [rdx + rax]
movzx ebp, byte [rsi + rax]
test bl, bl
je 0x180002ad5
add rax, 1
cmp bl, bpl
je 0x180002ac0
cmp bl, bpl
je 0x180002af4
add edi, 1
add r15, 4
add r14, 2
cmp edi, r9d
jne 0x180002ab0
xor ecx, ecx
cmp r8d, 0xa
jge 0x180002b05
jmp 0x180002b12
movzx eax, word [r14]
mov eax, dword [r10 + rax*4]
add rcx, rax
cmp r8d, 0xa
jl 0x180002b12
and r11d, 1
je 0x180002b12
nop dword [rax + rax]
jmp 0x180002b10
mov rax, rcx
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret

Function at 0x180002b20
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov rax, qword gs:[0x60]
mov r10, qword [rax + 0x18]
add r10, 0x10
mov eax, dword [0x180020a94]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a98], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a7c], 0xa
setl r9b
or r9b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r14b
or r14b, al
lea rax, [rcx - 1]
mov r15, r10
test r8b, r8b
je 0x180002c50
mov r15, qword [r15]
cmp r15, r10
je 0x180002c72
mov rdi, rax
test r9b, r9b
je 0x180002c60
nop word cs:[rax + rax]
nop
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x180002bd0
test r14b, r14b
je 0x180002c70
sub rdi, rcx
je 0x180002c38
mov r12, qword [r15 + 0x60]
xor edx, edx
nop
movzx esi, word [r12 + rdx*2]
lea ebx, [rsi - 0x41]
lea ebp, [rsi + 0x20]
cmp bx, 0x1a
cmovae ebp, esi
movsx ebx, byte [rcx + rdx]
lea r13d, [rbx - 0x41]
lea r11d, [rbx + 0x20]
cmp r13b, 0x1a
cmovae r11d, ebx
sub ebp, r11d
test esi, esi
je 0x180002c30
test ebp, ebp
jne 0x180002c30
add rdx, 1
cmp rdi, rdx
jne 0x180002bf0
jmp 0x180002c38
test ebp, ebp
jne 0x180002ba4
mov rax, qword [r15 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180002c50
jmp 0x180002c60
jmp 0x180002c70
xor eax, eax
jmp 0x180002c3c
Function at 0x140001000
Capabilities:
Print debug messages

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x100
mov rax, qword [0x1400040a0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rcx, 0xfffffffffffffffc
call qword [sym.imp.USER32.dll_SetProcessDpiAwarenessContext]
test eax, eax
jne 0x14000104c
lea rcx, str.WARNING:_could_not_set_DPI_awareness
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [rsp + 0xa0], 0
lea rax, [rsp + 0xa4]
mov rdi, rax
xor eax, eax
mov ecx, 0x4c
rep stosb byte [rdi], al
mov dword [rsp + 0xa0], 0x50
mov rax, qword [section..data]
mov qword [rsp + 0xe0], rax
lea rax, [0x140001270]
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0xa4], 3
lea rcx, [rsp + 0xa0]
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov dword [rsp + 0x60], 0x100f0000
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x12c
mov dword [rsp + 0x30], 0x190
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
mov r9d, dword [rsp + 0x60]
lea r8, [0x140004070]
mov rdx, qword [section..data]
mov ecx, 0x40000
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rsp + 0x68], 0
lea rax, [rsp + 0x70]
mov rdi, rax
xor eax, eax
mov ecx, 0x28
rep stosb byte [rdi], al
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_GetMessageW]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0
jle 0x140001167
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x68]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x140001169
jmp 0x14000116b
jmp 0x140001131
xor eax, eax
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140002790
add rsp, 0x100
pop rdi
ret

Function at 0x180001000
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x108
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xf0], rax
cmp edx, 1
jne 0x1800010ed
xor r9d, r9d
lea r8, str.Debug
lea rdx, str.DLL_Loaded
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
movups xmm1, xmmword [str.cmd.exe]
mov dword [rsp + 0x70], 0x68
xor eax, eax
xorps xmm0, xmm0
mov dword [rsp + 0xd4], eax
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0xe0]
lea rax, [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
movups xmmword [rsp + 0x74], xmm0
movups xmmword [rsp + 0x84], xmm0
movups xmmword [rsp + 0x94], xmm0
movups xmmword [rsp + 0xa4], xmm0
movups xmmword [rsp + 0xb4], xmm0
movups xmmword [rsp + 0xc4], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xe0], xmm1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x1800010ed
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.180001120
add rsp, 0x108
ret
Function at 0x1800021d0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [0x180020a94], 0xa
jl 0x180002202
mov eax, dword [0x180020a98]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002202
nop word cs:[rax + rax]
jmp 0x180002200
mov rax, qword gs:[0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov eax, dword [0x180020a78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a74], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r9b
or r9b, al
lea r10, [rcx - 1]
xor eax, eax
mov r14, r11
mov r14, qword [r14]
cmp r14, r11
je 0x1800022d8
mov rsi, r10
test r8b, r8b
je 0x1800022f0
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x180002270
test r9b, r9b
je 0x180002300
sub rsi, rcx
je 0x1800022d4
mov r15, qword [r14 + 0x60]
xor ebx, ebx
nop
movzx r13d, word [r15 + rbx*2]
lea edi, [r13 - 0x41]
lea ebp, [r13 + 0x20]
cmp di, 0x1a
cmovae ebp, r13d
movsx edi, byte [rcx + rbx]
lea r12d, [rdi - 0x41]
lea edx, [rdi + 0x20]
cmp r12b, 0x1a
cmovae edx, edi
sub ebp, edx
test r13d, r13d
je 0x1800022d0
test ebp, ebp
jne 0x1800022d0
add rbx, 1
cmp rsi, rbx
jne 0x180002290
jmp 0x1800022d4
test ebp, ebp
jne 0x18000225c
mov rax, qword [r14 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x1800022f0
jmp 0x180002300
Function at 0x1800029e0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
cmp dword [0x180020a94], 0xa
jl 0x180002a12
mov eax, dword [0x180020a98]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
je 0x180002a12
nop word cs:[rax + rax]
nop
jmp 0x180002a10
mov rax, qword gs:[0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a7c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r9b
or r9b, al
lea r10, [rcx - 1]
xor eax, eax
mov r14, r11
mov r14, qword [r14]
cmp r14, r11
je 0x180002b0c
mov rsi, r10
test r8b, r8b
je 0x180002b20
nop word cs:[rax + rax]
nop
cmp byte [rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x180002a90
test r9b, r9b
je 0x180002b30
sub rsi, rcx
je 0x180002b08
mov r15, qword [r14 + 0x60]
xor ebx, ebx
nop
movzx edx, word [r15 + rbx*2]
movsx edi, byte [rcx + rbx]
lea r12d, [rdx - 0x41]
lea ebp, [rdx + 0x20]
cmp r12w, 0x1a
cmovae ebp, edx
cmp edi, 0x41
jl 0x180002adc
lea r12d, [rdi + 0x20]
cmp dil, 0x5b
cmovge r12d, edi
mov edi, r12d
sub ebp, edi
test dx, dx
je 0x180002b00
test ebp, ebp
jne 0x180002b00
add rbx, 1
cmp rsi, rbx
jne 0x180002ab0
jmp 0x180002b08
test ebp, ebp
jne 0x180002a6c
mov rax, qword [r14 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
jmp 0x180002b20
jmp 0x180002b30
Function at 0x180002540
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov rax, qword gs:[0x60]
mov r10, qword [rax + 0x18]
add r10, 0x10
mov eax, dword [0x180020a94]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a98], 0xa
setl r8b
or r8b, al
mov eax, dword [0x180020a80]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020a7c], 0xa
setl r9b
or r9b, al
mov eax, dword [0x180020a9c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x180020aa0], 0xa
setl r14b
or r14b, al
lea rax, [rcx - 1]
mov r15, r10
test r8b, r8b
je 0x180002670
mov r15, qword [r15]
cmp r15, r10
je 0x180002692
mov rdi, rax
test r9b, r9b
je 0x180002680
nop word cs:[rax + rax]
nop
cmp byte [rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x1800025f0
test r14b, r14b
je 0x180002690
sub rdi, rcx
je 0x180002658
mov r12, qword [r15 + 0x60]
xor edx, edx
nop
movzx esi, word [r12 + rdx*2]
lea ebx, [rsi - 0x41]
lea ebp, [rsi + 0x20]
cmp bx, 0x1a
cmovae ebp, esi
movsx ebx, byte [rcx + rdx]
lea r13d, [rbx - 0x41]
lea r11d, [rbx + 0x20]
cmp r13b, 0x1a
cmovae r11d, ebx
sub ebp, r11d
test esi, esi
je 0x180002650
test ebp, ebp
jne 0x180002650
add rdx, 1
cmp rdi, rdx
jne 0x180002610
jmp 0x180002658
test ebp, ebp
jne 0x1800025c4
mov rax, qword [r15 + 0x30]
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x180002670
jmp 0x180002680
jmp 0x180002690
xor eax, eax
jmp 0x18000265c
Function at 0x14000b9ac
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_IsDebuggerPresent]
mov ecx, 1
mov dword [0x140016950], eax
call fcn.14000b730
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetUnhandledExceptionFilter]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_UnhandledExceptionFilter]
cmp dword [0x140016950], 0
jne case.default.0x14000ba02
mov ecx, 1
call fcn.14000b730
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0xc0000409
add rsp, 0x20
pop rbx
jmp qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateProcess]
mov edx, ebx
jo 0x140023292
cli
mov al, 0x4a
jp 0x1400232e7
cmp bh, byte [0x1583ae00a]
invalid
fbld tbyte [rdx]
and dword gs:[rsi + 0x5399db13], edi
or dword [rbp - 0x61], edi
fdiv st(7), st(0)
mov edx, 0x7fe7b6fc
in eax, 0x97
invalid
Function at 0x140001470
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
pxor xmm0, xmm0
lea r14, [rsp + 0x40]
mov r13, rcx
mov r12, rdx
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x100], r8
lea rdx, section..rdata
mov r8d, 0x58
mov rcx, r14
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
call fcn.140009200
test eax, eax
mov ebx, eax
jne 0x1400016b3
mov ecx, 0x2000
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x1400016f0
mov ecx, 0x2000
call sub.msvcrt.dll_malloc
test rax, rax
mov rbp, rax
je 0x1400016d1
mov r15d, dword [r12 + 8]
mov ebx, 0x2000
mov r9, r13
mov edx, 1
cmp r15, rbx
mov rcx, rdi
cmovbe rbx, r15
mov r8, rbx
call sub.msvcrt.dll_fread
cmp rax, rbx
jne 0x14000159f
mov rcx, r13
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x14000159f
mov dword [rsp + 0x48], ebx
mov esi, eax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], rbx
xor edx, edx
mov rcx, r14
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x58], 0x2000
call fcn.1400092d0
cmp eax, 0xffffffff
mov ebx, eax
jge 0x140001580
cmp eax, 0xfffffffc
jl 0x1400015d8
mov r10d, eax
jmp 0x14000158b
cmp eax, 2
jne 0x1400015d8
mov r10d, 0xfffffffd
lea rdx, [r12 + 0x12]
mov r8d, r10d
lea rcx, str.Failed_to_extract__s:_decompression_resulted_in_return_code__d__n
call fcn.140002000
mov ebx, 0xffffffff
mov rcx, r14
call fcn.14000b080
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, rbp
call sub.msvcrt.dll_free
mov eax, ebx
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x58]
mov r8d, 0x2000
sub r8, rax
mov r9, rax
cmp qword [rsp + 0x100], 0
je 0x140001670
mov r9, qword [rsp + 0x100]
mov edx, 1
mov rcx, rbp
mov qword [rsp + 0x30], r8
call sub.msvcrt.dll_fwrite
mov r8, qword [rsp + 0x30]
cmp rax, r8
jne 0x1400016a8
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x1400016a8
mov r9d, dword [rsp + 0x58]
test r9d, r9d
je 0x140001554
mov eax, esi
mov esi, ebx
mov rbx, qword [rsp + 0x28]
sub r15, rbx
cmp esi, 1
je 0x14000170f
test r15, r15
jne 0x140001514
cmp esi, 1
mov r10d, esi
mov ebx, eax
je 0x1400015a4
jmp 0x14000158b
cmp qword [rsp + 0x108], 0
je 0x140001631
mov rcx, qword [rsp + 0x108]
mov rdx, rbp
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x3c], eax
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
add qword [rsp + 0x108], r8
jmp 0x140001631
mov r10d, 0xffffffff
jmp 0x14000158b
lea rdx, [r12 + 0x12]
mov r8d, eax
mov ebx, 0xffffffff
lea rcx, str.Failed_to_extract__s:_inflateInit___failed_with_return_code__d__n
call fcn.140002000
jmp 0x1400015bc
lea r8, [r12 + 0x12]
xor ebp, ebp
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_output_buffer__n
lea rcx, str.malloc
call fcn.1400020d0
jmp 0x1400015a4
lea r8, [r12 + 0x12]
xor ebp, ebp
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_input_buffer__n
lea rcx, str.malloc
call fcn.1400020d0
jmp 0x1400015a4
mov ebx, eax
jmp 0x1400015a4
Function at 0x140001760
Capabilities:
Read file on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r12, rdx
mov rbx, rcx
lea rdx, [0x14001712c]
call fcn.1400034d0
test rax, rax
mov rbp, rax
je 0x140001890
mov edx, dword [r12 + 4]
xor r8d, r8d
mov rcx, rax
add edx, dword [rbx + 0x1000]
call fcn.14000da50
test eax, eax
js 0x140001870
mov esi, dword [r12 + 0xc]
mov rcx, rsi
call sub.msvcrt.dll_malloc
test rax, rax
mov r13, rax
je 0x1400018a6
cmp byte [r12 + 0x10], 1
je 0x140001850
test rsi, rsi
mov rdi, rax
jne 0x1400017e8
jmp 0x140001830
add rdi, rbx
sub rsi, rbx
je 0x140001830
mov ebx, 0x2000
mov r9, rbp
mov r8d, 1
cmp rsi, rbx
mov rcx, rdi
cmovbe rbx, rsi
mov rdx, rbx
call sub.msvcrt.dll_fread
test rax, rax
jne 0x1400017e0
lea r8, [r12 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_read_data_chunk__n
lea rcx, str.fread
call fcn.1400020d0
mov rcx, r13
call sub.msvcrt.dll_free
xor r13d, r13d
mov rcx, rbp
call sub.msvcrt.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.140001470
test eax, eax
je 0x140001830
jmp 0x140001825
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.1400020d0
jmp 0x14000182d
lea rdx, [r12 + 0x12]
xor r13d, r13d
lea rcx, str.Failed_to_extract__s:_failed_to_open_archive_file__n
call fcn.140002000
jmp 0x140001838
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.1400020d0
jmp 0x14000182d
Function at 0x1400018d0
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 byte [rdx + 0x11], 0x6e
mov rbx, rcx
mov r13, rdx
mov rdi, r8
je 0x1400019f0
lea rdx, [0x140017254]
mov rcx, r8
call fcn.1400034d0
test rax, rax
mov r12, rax
je 0x140001ae1
lea rdx, [0x14001712c]
mov rcx, rbx
call fcn.1400034d0
test rax, rax
mov rbp, rax
je 0x140001a78
mov edx, dword [r13 + 4]
xor r8d, r8d
mov rcx, rax
add edx, dword [rbx + 0x1000]
call fcn.14000da50
test eax, eax
js 0x140001ac0
cmp byte [r13 + 0x10], 1
je 0x140001a28
mov ecx, 0x2000
call sub.msvcrt.dll_malloc
test rax, rax
mov rdi, rax
je 0x140001b02
mov esi, dword [r13 + 0xc]
test rsi, rsi
jne 0x14000199e
jmp 0x140001a90
mov r9, r12
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x140001aa0
sub rsi, rbx
je 0x140001a90
mov ebx, 0x2000
mov r9, rbp
mov r8d, 1
cmp rsi, rbx
mov rcx, rdi
cmovbe rbx, rsi
mov rdx, rbx
call sub.msvcrt.dll_fread
test rax, rax
jne 0x140001978
lea r8, [r13 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_read_data_chunk__n
lea rcx, str.fread
call fcn.1400020d0
mov ebx, 0xffffffff
mov rcx, rdi
call sub.msvcrt.dll_free
jmp 0x140001a3b
call fcn.140001760
test rax, rax
mov rsi, rax
je 0x140001a5a
mov rdx, rdi
mov rcx, rax
call fcn.140003570
mov rcx, rsi
mov ebx, eax
call sub.msvcrt.dll_free
test ebx, ebx
js 0x140001a60
mov eax, ebx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
xor r9d, r9d
mov r8, r12
mov rdx, r13
mov rcx, rbp
call fcn.140001470
mov ebx, eax
mov rcx, rbp
call sub.msvcrt.dll_fclose
mov rcx, r12
call sub.msvcrt.dll_fclose
mov eax, ebx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ebx, 0xffffffff
nop
lea rdx, [r13 + 0x12]
lea rcx, str.Failed_to_create_symbolic_link__s__n
call fcn.140002000
jmp 0x140001a16
lea rdx, [r13 + 0x12]
mov ebx, 0xffffffff
lea rcx, str.Failed_to_extract__s:_failed_to_open_archive_file__n
call fcn.140002000
jmp 0x140001a43
xor ebx, ebx
jmp 0x1400019df
lea r8, [r13 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_write_data_chunk__n
lea rcx, str.fwrite
call fcn.1400020d0
jmp 0x1400019da
lea r8, [r13 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_seek_to_the_entrys_data__n
lea rcx, str.fseek
call fcn.1400020d0
mov ebx, 0xffffffff
jmp 0x140001a3b
lea r8, [r13 + 0x12]
mov ebx, 0xffffffff
lea rdx, str.Failed_to_extract__s:_failed_to_open_target_file__n
lea rcx, str.fopen
call fcn.1400020d0
jmp 0x140001a16
lea r8, [r13 + 0x12]
lea rdx, str.Failed_to_extract__s:_failed_to_allocate_temporary_buffer__n
lea rcx, str.malloc
call fcn.1400020d0
jmp 0x140001ad7
Function at 0x140006820
Capabilities:
Create directory

Disassembly:
push r15
mov eax, 0x3038
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.14000d1e0
sub rsp, rax
mov rbx, r8
mov r14, rcx
mov rcx, rdx
mov rdi, rdx
call sub.msvcrt.dll_strlen
mov rcx, rbx
mov rsi, rax
call sub.msvcrt.dll_strlen
lea rax, [rsi + rax + 1]
cmp rax, 0xfff
ja 0x140006920
lea rsi, [rsp + 0x30]
mov r9, rdi
mov edx, 0x1000
mov dword [rsp + 0x20], 0x5c
lea r8, str._s_c
mov rcx, rsi
mov ebp, 0x1000
call fcn.140006800
mov edx, 0x5c
mov rcx, rbx
lea r12, [0x140018b95]
movsxd rdi, eax
call sub.msvcrt.dll_strchr
lea r13, [rsp + 0x1030]
sub rbp, rdi
add rdi, rsi
test rax, rax
mov r15, rax
jne 0x1400068d6
jmp 0x140006930
lea rcx, [r15 + 1]
mov edx, 0x5c
call sub.msvcrt.dll_strchr
test rax, rax
mov r15, rax
je 0x140006930
mov r9d, r15d
mov r8, r12
mov rdx, rbp
mov qword [rsp + 0x20], rbx
sub r9d, ebx
mov rcx, rdi
call fcn.140006800
mov rcx, rsi
call fcn.140003490
test eax, eax
jne 0x1400068c0
mov r8d, 0x1000
mov rdx, r13
mov rcx, rsi
call fcn.140007990
mov rdx, qword [r14 + 0x3038]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400068c0
mov eax, 0xffffffff
jmp 0x140006932
xor eax, eax
add rsp, 0x3038
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x140006950
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rdi
mov eax, 0x1020
push rsi
push rbx
call fcn.14000d1e0
sub rsp, rax
mov rsi, rdx
lea rdx, [0x140018b9a]
call fcn.1400034d0
test rax, rax
mov rbx, rax
je 0x140006a3e
lea rdx, [0x140018b9d]
mov rcx, rsi
call fcn.1400034d0
test rax, rax
mov rsi, rax
je 0x140006a36
lea rdi, [rsp + 0x20]
jmp 0x1400069df
mov r8d, 0x1000
mov r9, rbx
mov edx, 1
mov rcx, rdi
call sub.msvcrt.dll_fread
test rax, rax
mov r8, rax
je 0x140006a20
mov r9, rsi
mov edx, 1
mov rcx, rdi
call sub.msvcrt.dll_fwrite
test rax, rax
je 0x140006a10
mov rcx, rsi
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x140006a10
mov rcx, rbx
call sub.msvcrt.dll_feof
test eax, eax
je 0x1400069a0
xor edi, edi
mov rcx, rbx
call sub.msvcrt.dll_fclose
mov rcx, rsi
call sub.msvcrt.dll_fclose
mov eax, edi
add rsp, 0x1020
pop rbx
pop rsi
pop rdi
ret
mov rcx, rsi
call sub.msvcrt.dll_clearerr
mov edi, 0xffffffff
jmp 0x1400069ed
mov rcx, rbx
call sub.msvcrt.dll_ferror
test eax, eax
je 0x1400069eb
mov rcx, rbx
call sub.msvcrt.dll_clearerr
jmp 0x140006a18
mov rcx, rbx
call sub.msvcrt.dll_fclose
mov edi, 0xffffffff
jmp 0x1400069fd