joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400bead0
Capabilities:
Get file system object information

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
sub rsp, 0x340
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x338], rax
mov r9, qword [rcx + 0x38]
mov rbp, rcx
lea r8, str._c:_
lea rcx, [r11 - 0x38]
mov edx, 0xa
add r9, 0x41
call fcn.140057264
lea r8, [rsp + 0x60]
lea rcx, [rsp + 0x320]
mov r9d, 0x2b8
xor edx, edx
mov dword [rsp + 0x20], 0x301
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test byte [rbp + 0x10], 1
je 0x1400beb7c
mov ecx, 0xd
call qword [sym.imp.USER32.dll_GetSysColor]
mov rcx, qword [rbp + 0x20]
mov edx, eax
call qword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, 0xe
mov r12d, eax
call qword [sym.imp.USER32.dll_GetSysColor]
mov rcx, qword [rbp + 0x20]
mov edx, eax
call qword [sym.imp.GDI32.dll_SetTextColor]
mov r13d, eax
jmp 0x1400beb86
mov r12d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x50]
mov r8d, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x20]
xor edi, edi
mov qword [rsp + 0x38], rdi
lea rsi, [rbp + 0x28]
lea rax, [0x1401096a0]
mov edx, dword [rsi]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
lea r9d, [rdi + 2]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.GDI32.dll_ExtTextOutW]
lea ecx, [rdi + 0x31]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rdi + 0x32]
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r9, qword [rsp + 0x60]
mov r8d, dword [rbp + 0x2c]
mov edx, dword [rsi]
mov rcx, qword [rbp + 0x20]
mov dword [rsp + 0x40], 3
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_DrawIconEx]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.USER32.dll_DestroyIcon]
lea rcx, [rsp + 0x70]
mov edx, 0x104
call fcn.1400b6d24
mov r8d, dword [rbp + 0x2c]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x70]
lea r9, [rsp + 0x70]
repne scasw ax, word [rdi]
mov eax, dword [rsi]
add r8d, 2
not rcx
lea edx, [rbx + rax + 7]
dec rcx
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.GDI32.dll_TextOutW]
test byte [rbp + 0x10], 1
je 0x1400bec6b
mov rcx, qword [rbp + 0x20]
mov edx, r12d
call qword [sym.imp.GDI32.dll_SetBkColor]
mov rcx, qword [rbp + 0x20]
mov edx, r13d
call qword [sym.imp.GDI32.dll_SetTextColor]
mov rcx, qword [rsp + 0x338]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret
Function at 0x1400c0874
Capabilities:
Delete directory
Enumerate files 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 r12
mov eax, 0x3290
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x3280], rax
mov bl, cl
mov dword [0x1401561b4], 1
test dl, dl
je 0x1400c09f7
mov r12d, 0x800
lea rcx, [rsp + 0x1280]
xor r8d, r8d
mov rdx, r12
call fcn.1400b51e8
lea rcx, [rsp + 0x1280]
mov rdx, r12
call fcn.1400504d4
lea r9, [rsp + 0x1280]
lea r8, str._sRar_
lea rcx, [rsp + 0x2280]
mov rdx, r12
call fcn.140057264
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x2280]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400c09ee
cmp dword [0x1401561b4], 1
jne 0x1400c09ee
mov ecx, dword [rsp + 0x24]
lea rdx, [rsp + 0x1280]
mov r8, r12
sub ecx, dword [rsp + 0x38]
cmp ecx, 8
lea rcx, [rsp + 0x280]
setae bpl
call fcn.140065d2c
lea rdx, [rsp + 0x5c]
lea rcx, [rsp + 0x280]
mov r8, r12
call fcn.140065dac
test byte [rsp + 0x30], 0x10
je 0x1400c09cb
lea rdx, str.Rar_DI
lea rcx, [rsp + 0x5c]
mov r8d, 6
call fcn.1400ee530
lea rcx, [rsp + 0x280]
test eax, eax
sete sil
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400c09d8
test bpl, bpl
je 0x1400c09b7
test bl, bl
je 0x1400c09bc
test sil, sil
je 0x1400c09d8
lea rcx, [rsp + 0x280]
call fcn.1400b6370
jmp 0x1400c09d8
lea rcx, [rsp + 0x280]
call fcn.1400b5f80
lea rdx, [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400c092f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
test bl, bl
jne 0x1400c0a21
cmp byte [0x1401410a0], bl
je 0x1400c0a21
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov cl, 1
call fcn.1400be7bc
mov byte [0x1401410a0], al
and dword [0x1401561b4], 0
mov rcx, qword [rsp + 0x3280]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x3290]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
ret
Function at 0x1400c5f68
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x2030
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x2020], rax
xor ebp, ebp
mov rdi, rcx
cmp byte [0x1401410a0], bpl
je 0x1400c5fe5
cmp byte [0x14016ec8c], bpl
jne 0x1400c5fe5
mov ecx, 0x5f0
call fcn.14005fad0
mov ecx, 0x5f1
mov rbx, rax
call fcn.14005fad0
mov rcx, qword [0x140158330]
lea r9d, [rbp + 0x24]
mov r8, rbx
mov rdx, rax
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x1400c6144
mov esi, 0x800
lea rdx, [rsp + 0x1020]
xor ecx, ecx
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, str.rarreg.key
lea rcx, [rsp + 0x1020]
mov r8, rsi
call fcn.140050ec8
lea rdx, [rsp + 0x1020]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
lea rcx, [rsp + 0x20]
mov r8b, 1
cmp eax, ebp
mov rdx, rsi
setne bl
call fcn.140050ff4
lea rcx, [rsp + 0x20]
mov rdx, rsi
call fcn.1400504d4
lea rdx, str.rarreg.key
lea rcx, [rsp + 0x20]
mov r8, rsi
call fcn.140065dac
cmp bl, bpl
je 0x1400c606f
lea rcx, [rsp + 0x20]
call fcn.140042188
jmp 0x1400c609b
lea rdx, [rsp + 0x20]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov r11, rbp
movzx eax, word [rsp + r11 + 0x20]
add r11, 2
mov word [rsp + r11 + 0x101e], ax
cmp ax, bp
jne 0x1400c6083
mov rcx, qword [0x140158330]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rcx, qword [0x140158330]
mov edx, 1
call qword [sym.imp.USER32.dll_FlashWindow]
lea rcx, [rsp + 0x1020]
mov dl, 1
call fcn.140036014
mov rcx, qword [0x140158330]
xor edx, edx
mov byte [0x1401410a0], al
call qword [sym.imp.USER32.dll_FlashWindow]
lea rcx, [0x140162bc0]
call fcn.140095078
cmp byte [0x1401410a0], bpl
je 0x1400c6125
mov ecx, 0x368
call fcn.14005fad0
mov ecx, 0x367
mov rbx, rax
call fcn.14005fad0
mov rcx, qword [0x140158330]
mov r9d, 0x30
mov r8, rbx
mov rdx, rax
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x1400c6144
lea rcx, [rsp + 0x1020]
call fcn.140042188
mov ecx, 0x366
call fcn.14005fad0
mov rcx, rax
call fcn.1400c5808
mov rcx, qword [rsp + 0x2020]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x2030]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x1400c6170
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x3080
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x3070], rax
xor ebx, ebx
cmp byte [0x1401561a5], bl
je 0x1400c6361
mov esi, 0x800
lea rdx, [rsp + 0x2070]
lea rcx, [0x140164e50]
mov r8, rsi
call fcn.140078534
lea r8d, [rbx + 1]
lea rdx, [0x14010f670]
lea rcx, [0x14010ed68]
call fcn.14009b870
cmp eax, ebx
setne dil
cmp dil, bl
je 0x1400c6209
lea r9, [0x1401096a0]
lea r8, [rsp + 0x70]
lea rdx, str.SaveArcFolder
lea rcx, str.InterfaceMisc
mov dword [rsp + 0x20], esi
call fcn.14009b844
cmp word [rsp + 0x70], bx
jne 0x1400c621a
lea rcx, [rsp + 0x70]
call fcn.14008c34c
lea rcx, [rsp + 0x2070]
call fcn.140050ce0
lea r8, [rsp + 0x1070]
lea rcx, [rsp + 0x70]
mov rdx, rax
mov r9, rsi
call fcn.140050520
mov ecx, 0x5af
call fcn.14005fad0
mov rcx, qword [0x140158330]
lea r8, [rsp + 0x1070]
mov rdx, rax
xor r9d, r9d
mov byte [rsp + 0x20], 1
call fcn.14007af54
cmp al, bl
je 0x1400c6361
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1070]
mov r8, rsi
call fcn.140050f5c
cmp dil, bl
je 0x1400c62a2
lea r8, [rsp + 0x70]
lea rdx, str.SaveArcFolder
lea rcx, str.InterfaceMisc
call fcn.14009b7f0
xor eax, eax
or r8, 0xffffffffffffffff
mov edx, 0x7ff
mov rcx, r8
lea rdi, [rsp + 0x2070]
repne scasw ax, word [rdi]
mov rax, rdx
lea rdi, [rsp + 0x1070]
not rcx
cmp rcx, rdx
cmovb rax, rcx
mov rcx, r8
mov word [rsp + rax*2 + 0x2070], bx
xor eax, eax
repne scasw ax, word [rdi]
lea r8d, [rax + 0x38]
not rcx
cmp rcx, rdx
cmovb rdx, rcx
lea rcx, [rsp + 0x30]
mov word [rsp + rdx*2 + 0x1070], bx
xor edx, edx
call fcn.1400ea880
lea rax, [rsp + 0x2070]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1070]
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x48], rax
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
cmp eax, ebx
je 0x1400c6361
cmp dword [rsp + 0x54], ebx
jne 0x1400c6361
mov ecx, 0x5b0
call fcn.14005fad0
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.1400c5808
lea rcx, [0x140149f00]
call fcn.14003c5cc
mov rcx, qword [rsp + 0x3070]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x3080]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400c8f6c
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
mov eax, 0x1040
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x1030], rax
xor ebx, ebx
mov dil, dl
mov rsi, rcx
cmp dword [0x140157254], ebx
jne 0x1400c90df
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov ebp, eax
cmp eax, 1
jne 0x1400c9074
lea r8, [rsp + 0x30]
mov r9d, 0x800
xor edx, edx
mov rcx, rsi
mov word [rsp + 0x30], bx
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.USER32.dll_WindowFromPoint]
cmp byte [0x1401561a5], bl
je 0x1400c9019
cmp dil, bl
jne 0x1400c9045
cmp rax, qword [0x140162c10]
je 0x1400c9045
cmp rax, qword [0x140162ba8]
je 0x1400c9045
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x1400c9045
lea rdx, [rsp + 0x30]
lea rcx, [0x140162bc0]
mov r8b, 1
call fcn.14009456c
cmp eax, 1
je 0x1400c90df
lea rcx, [rsp + 0x30]
call fcn.140050ce0
lea rdx, str.rarreg.
mov r8d, 7
mov rcx, rax
call fcn.140068cd4
cmp eax, ebx
jne 0x1400c9074
lea rcx, [rsp + 0x30]
call fcn.1400c5f68
jmp 0x1400c90df
xor ecx, ecx
call fcn.1400b156c
lea rcx, [0x140174f30]
call fcn.14006617c
cmp ebp, ebx
jle 0x1400c90b8
lea r8, [rsp + 0x30]
mov r9d, 0x800
mov edx, ebx
mov rcx, rsi
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
lea rdx, [rsp + 0x30]
lea rcx, [0x140174f30]
call fcn.1400661a4
inc ebx
cmp ebx, ebp
jl 0x1400c908b
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
mov dl, 1
xor ecx, ecx
mov r11w, ax
shr r11d, 0xf
and r11b, 1
or byte [0x14016eca6], r11b
call fcn.1400b45c0
mov rcx, qword [rsp + 0x1030]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x1040]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x1400c947c
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
mov eax, 0x2040
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x2030], rax
lea r8, [rsp + 0x1030]
lea rdx, str.rarreg.key
lea rcx, [0x1401096a0]
xor r9d, r9d
mov dword [rsp + 0x20], 0x1000
call fcn.14009b888
movsxd rdi, eax
test eax, eax
je 0x1400c9534
lea rdx, [rsp + 0x30]
lea rcx, str.Rar_RK
mov r8d, 0x800
call fcn.1400b5c78
mov rbx, rax
test rax, rax
je 0x1400c9521
lea rcx, [rsp + 0x1030]
mov r8, rdi
mov r9, rax
mov edx, 1
call fcn.1400ef054
mov rcx, rbx
call fcn.1400eee40
lea rcx, [rsp + 0x30]
call fcn.1400c5f68
lea rcx, [rsp + 0x30]
call fcn.140042188
lea rdx, str.rarreg.key
lea rcx, [0x1401096a0]
call fcn.14009b37c
mov rcx, qword [rsp + 0x2030]
xor rcx, rsp
call fcn.1400e9d00
mov rbx, qword [rsp + 0x2050]
add rsp, 0x2040
pop rdi
ret
Function at 0x1400c9558
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov eax, 0x1070
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x1060], rax
lea rcx, [rsp + 0x34]
mov dword [rsp + 0x30], 0x51e00
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea r8, [rsp + 0x40]
lea rdx, str.VerInfo
lea rcx, [0x14010ed68]
mov edi, 0xc
xor r9d, r9d
mov dword [rsp + 0x20], edi
call fcn.14009b888
lea esi, [rdi - 0xb]
mov ebx, 0x800
lea rcx, [rsp + 0x60]
mov r8b, sil
mov rdx, rbx
call fcn.140050ff4
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.1400504d4
lea rdx, str.version.dat
lea rcx, [rsp + 0x60]
mov r8, rbx
call fcn.140065dac
and dword [rsp + 0x50], 0
lea rdx, [0x140110140]
lea rcx, [rsp + 0x60]
call fcn.1400423b4
mov rbx, rax
test rax, rax
je 0x1400c962b
lea rcx, [rsp + 0x50]
mov r9, rax
mov r8, rdi
mov rdx, rsi
call fcn.1400ef54c
mov rcx, rbx
call fcn.1400eee40
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x40], eax
je 0x1400c96ec
mov r9, rdi
cmp dword [rsp + 0x50], eax
je 0x1400c96b4
lea r8, [rsp + 0x30]
lea rdx, str.VerInfo
lea rcx, [0x14010ed68]
call fcn.14009b820
call fcn.140099f70
test al, al
jne 0x1400c9697
lea rdx, [0x14010ee70]
lea rcx, [rsp + 0x60]
call fcn.1400423b4
mov rbx, rax
test rax, rax
je 0x1400c9697
lea rcx, [rsp + 0x30]
mov r9, rax
mov r8, rdi
mov rdx, rsi
call fcn.1400ef054
mov rcx, rbx
call fcn.1400eee40
call fcn.140099f80
neg al
mov eax, 0x168
sbb ecx, ecx
not ecx
and ecx, eax
mov dword [0x1401571d4], ecx
jmp 0x1400c97c6
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x50]
mov rax, qword [rcx]
mov qword [rdx], rax
mov eax, dword [rcx + 8]
lea rcx, [0x14010ed68]
mov dword [rdx + 8], eax
lea rdx, str.VerInfo
call fcn.14009b820
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x40], eax
jne 0x1400c9745
cmp dword [rsp + 0x50], eax
je 0x1400c9745
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rax, qword [rcx]
mov qword [rdx], rax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
call fcn.140099f70
test al, al
jne 0x1400c9745
lea rdx, [0x14010ee70]
lea rcx, [rsp + 0x60]
call fcn.1400423b4
mov rbx, rax
test rax, rax
je 0x1400c9745
lea rcx, [rsp + 0x40]
mov r9, rax
mov r8, rdi
mov rdx, rsi
call fcn.1400ef054
mov rcx, rbx
call fcn.1400eee40
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x38]
sub rcx, rax
mov eax, dword [rsp + 0x44]
shl rcx, 0x20
sub rcx, rax
mov eax, dword [rsp + 0x34]
add rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs rax, 0x48d159e26af37c05
imul rdx
sar rdx, 0xa
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 0x168
test edx, edx
cmovs edx, eax
mov dword [0x1401571d4], edx
mov rcx, qword [rsp + 0x1060]
xor rcx, rsp
call fcn.1400e9d00
lea r11, [rsp + 0x1070]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400cd058
Capabilities:
Create process on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
mov eax, 0x20a0
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x2090], rax
mov rbp, qword [rsp + 0x20f8]
mov rbx, qword [rsp + 0x2100]
mov r12, rdx
xor edx, edx
mov rdi, r8
lea rcx, [rsp + 0x20]
lea r8d, [rdx + 0x70]
mov rsi, r9
call fcn.1400ea880
cmp byte [rsp + 0x20f0], 0
mov eax, 0x501
lea ecx, [rax + 0x40]
mov dword [rsp + 0x20], 0x70
mov qword [rsp + 0x38], r12
cmove eax, ecx
mov rcx, r12
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x24], eax
call fcn.140050efc
lea rcx, [0x1401098d8]
test rax, rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rsi
cmove rax, rcx
mov rcx, r12
mov qword [rsp + 0x68], rax
call fcn.140050ce0
cmp rax, r12
jne 0x1400cd12b
lea r8, str.._s
lea rcx, [rsp + 0x90]
mov r9, r12
mov edx, 0x1000
call fcn.140057264
lea r11, [rsp + 0x90]
mov qword [rsp + 0x38], r11
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x50], 1
mov byte [0x1401561a7], 1
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ebx, eax
test eax, eax
jne 0x1400cd184
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x1400cd169
test rbp, rbp
je 0x1400cd162
and qword [rbp], 0
mov al, 1
jmp 0x1400cd257
cmp qword [rsp + 0x30], 0
je 0x1400cd184
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ebx, eax
mov byte [0x1401561a7], 0
test ebx, ebx
je 0x1400cd255
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x483
je 0x1400cd255
cmp byte [rsp + 0x20f0], 0
jne 0x1400cd162
mov r8, qword [rsp + 0x88]
lea rdi, [0x140000000]
test r8, r8
je 0x1400cd1f4
movsxd rdx, dword [0x140193260]
mov rax, qword [rsp + 0x58]
mov qword [rdi + rdx*8 + 0x1931e0], rax
lea eax, [rdx + 1]
mov qword [rdi + rdx*8 + 0x193160], r8
cdq
and edx, 0xf
add eax, edx
and eax, 0xf
sub eax, edx
mov dword [0x140193260], eax
jmp 0x1400cd243
xor ebx, ebx
mov rax, qword [rsp + 0x58]
cmp qword [rbx + rdi + 0x1931e0], rax
jne 0x1400cd236
mov rcx, qword [rbx + rdi + 0x193160]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1400cd22e
mov r8, qword [rbx + rdi + 0x193160]
mov qword [rsp + 0x88], r8
jmp 0x1400cd236
mov r8, qword [rsp + 0x88]
add rbx, 8
cmp rbx, 0x80
jl 0x1400cd1f6
test rbp, rbp
je 0x1400cd162
mov qword [rbp], r8
jmp 0x1400cd162
xor al, al
mov rcx, qword [rsp + 0x2090]
xor rcx, rsp
call fcn.1400e9d00
add rsp, 0x20a0
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x1400cdcf0
Capabilities:
Query environment variable

Disassembly:
push rbx
push rsi
push rdi
mov eax, 0x6110
call fcn.1400fe810
sub rsp, rax
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x6100], rax
mov rbx, rdx
mov rsi, rcx
mov rcx, r8
call fcn.140050ce0
mov r11, rax
xor eax, eax
or r8, 0xffffffffffffffff
mov rcx, r8
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdx, [rcx - 1]
mov rcx, r8
mov rdi, r11
repne scasw ax, word [rdi]
not rcx
lea rax, [rdx + rcx]
mov edi, 0x1000
cmp rax, rdi
jb 0x1400cdd64
xor al, al
jmp 0x1400cdebe
mov r9, rdi
lea r8, [rsp + 0x4100]
mov rdx, r11
mov rcx, rbx
call fcn.140050520
lea rcx, [rsp + 0x40]
call fcn.14006634c
nop
mov dword [rsp + 0x20], edi
lea r9, [0x1401096a0]
lea r8, [rsp + 0x1100]
lea rdx, str.ViewerIgnoreModifications
lea rcx, [0x14010f370]
call fcn.14009b844
xor ebx, ebx
cmp word [rsp + 0x1100], bx
je 0x1400cddcf
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1100]
call fcn.1400a40a0
mov r8d, 0x800
lea rdx, [rsp + 0x3100]
lea rcx, [rsp + 0x40]
call fcn.140066384
cmp al, bl
je 0x1400cdead
mov r8d, 0x800
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x3100]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea rdx, [0x1401173c8]
lea rcx, [rsp + 0x102]
call fcn.1400ee80c
mov rdi, rax
cmp rax, rbx
je 0x1400cde56
mov word [rax], bx
add rdi, 4
cmp word [rdi], bx
jne 0x1400cde3a
lea rdi, [0x14010be18]
mov r8d, 4
mov rdx, rsi
lea rcx, [rsp + 0x100]
call fcn.140045970
cmp al, bl
je 0x1400cde78
jmp 0x1400cde5e
lea rdi, [rsp + 0x100]
mov r8d, 4
lea rdx, [rsp + 0x4100]
mov rcx, rdi
call fcn.140045970
cmp al, bl
jne 0x1400cde9a
mov r8d, 0x800
lea rdx, [rsp + 0x3100]
lea rcx, [rsp + 0x40]
call fcn.140066384
cmp al, bl
jne 0x1400cddef
jmp 0x1400cdead
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x1400cdea9
call fcn.1400e9aa4
mov al, 1
jmp 0x1400cdebe
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x1400cdebc
call fcn.1400e9aa4
xor al, al
mov rcx, qword [rsp + 0x6100]
xor rcx, rsp
call fcn.1400e9d00
add rsp, 0x6110
pop rdi
pop rsi
pop rbx
ret

Function at 0x1400cec48
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1401561c0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400cec95
mov ecx, 0x2bc
call fcn.14005fad0
mov ecx, 0x2bd
mov rbx, rax
call fcn.14005fad0
mov rcx, qword [0x140158330]
mov r9d, 0x40
mov r8, rbx
mov rdx, rax
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x1400ceca7
lea rdx, [0x1401561c0]
xor r8d, r8d
mov rcx, rbx
call fcn.1400cdedc
add rsp, 0x20
pop rbx
ret
Function at 0x1400cf8bc
Capabilities:
Create thread

Disassembly:
push rdi
sub rsp, 0x50
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov bl, r8b
mov rdi, rdx
mov eax, dword [0x14019b4e0]
test al, 1
jne 0x1400cf908
or eax, 1
mov dword [0x14019b4e0], eax
lea rcx, [0x14019b3de]
call fcn.1400634a4
nop
lea rcx, [0x1401076c0]
call fcn.1400ee7f4
nop
mov r8b, 1
mov rdx, rdi
lea rsi, [0x1401973b0]
mov rcx, rsi
call fcn.1400cd8ac
test bl, bl
sete al
and qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x20], al
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call fcn.1400cd058
test al, al
jne 0x1400cf960
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, rsi
call fcn.1400ccd48
cmp ebx, 0x4c7
sete al
jmp 0x1400cf984
test bl, bl
je 0x1400cf97a
mov r8, rsi
mov edx, 0x10000
lea rcx, [0x1400cecb0]
call fcn.1400efe18
jmp 0x1400cf982
mov rcx, rsi
call fcn.1400ccd48
mov al, 1
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret

Function at 0x1400cf994
Capabilities:
Create thread

Disassembly:
push rsi
mov eax, 0x1060
call fcn.1400fe810
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x1070], rbx
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x1050], rax
mov rbx, rdx
mov rcx, rdx
call fcn.1400ccea8
test al, al
je 0x1400cfa0a
mov ecx, 0x65
call fcn.14005fad0
mov rbx, rax
mov ecx, 0x596
call fcn.14005fad0
mov rdx, rax
mov r9d, 0x30
mov r8, rbx
mov rcx, qword [0x140158330]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x1400cfb4e
cmp byte [0x1401561a5], 0
jne 0x1400cfa56
and qword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call fcn.1400cd058
test al, al
jne 0x1400cfb4e
mov ecx, 0x201
call fcn.14005fad0
mov rcx, rax
mov rdx, rbx
call fcn.1400c5808
jmp 0x1400cfb4e
mov cl, 1
call fcn.1400b1468
mov r9b, 1
mov esi, 0x800
mov r8, rsi
lea rdx, [0x14016ab0e]
lea rcx, str.Rar_EX
call fcn.1400b5d58
test al, al
je 0x1400cfb4e
mov r8, rsi
lea rdx, [0x140173f2a]
lea rcx, [0x140164e50]
call fcn.140078534
mov r11d, dword [0x140164e54]
mov dword [0x140170ec8], r11d
lea rdx, [0x14010be18]
lea rcx, [0x140174f30]
call fcn.1400661a4
mov dword [0x14016feb8], 4
mov r9, rsi
lea r8, [rsp + 0x50]
mov rdx, rbx
lea rcx, [0x14016ab0e]
call fcn.140050520
xor r8d, r8d
xor edx, edx
lea rcx, [0x140164e50]
call fcn.14007a724
cmp byte [0x1401561a4], 0
jne 0x1400cfb4e
mov eax, dword [0x14019f620]
test al, 1
jne 0x1400cfb22
or eax, 1
mov dword [0x14019f620], eax
lea rcx, [0x14019f51e]
call fcn.1400634a4
nop
lea rcx, [0x1401076e0]
call fcn.1400ee7f4
nop
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [0x14019b4f0]
call fcn.1400cd8ac
lea r8, [0x14019b4f0]
mov edx, 0x10000
lea rcx, [0x1400cecb0]
call fcn.1400efe18
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.1400e9d00
mov rbx, qword [rsp + 0x1070]
add rsp, 0x1060
pop rsi
ret