joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400c5f74
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 [0x1401410c0], bpl
je 0x1400c5ff0
cmp byte [0x14016ecac], bpl
jne 0x1400c5ff0
mov ecx, 0x5f0
call fcn.14005fad8
mov ecx, 0x5f1
mov rbx, rax
call fcn.14005fad8
mov rcx, qword [0x140158350]
lea r9d, [rbp + 0x24]
mov r8, rbx
mov rdx, rax
call fcn.1400b6df8
cmp eax, 6
jne 0x1400c614e
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.140050ed0
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.140050ffc
lea rcx, [rsp + 0x20]
mov rdx, rsi
call fcn.1400504dc
lea rdx, str.rarreg.key
lea rcx, [rsp + 0x20]
mov r8, rsi
call fcn.140065d80
cmp bl, bpl
je 0x1400c607a
lea rcx, [rsp + 0x20]
call fcn.140042190
jmp 0x1400c60a6
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 0x1400c608e
mov rcx, qword [0x140158350]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rcx, qword [0x140158350]
mov edx, 1
call qword [sym.imp.USER32.dll_FlashWindow]
lea rcx, [rsp + 0x1020]
mov dl, 1
call fcn.140035fe8
mov rcx, qword [0x140158350]
xor edx, edx
mov byte [0x1401410c0], al
call qword [sym.imp.USER32.dll_FlashWindow]
lea rcx, [0x140162be0]
call fcn.1400950ec
cmp byte [0x1401410c0], bpl
je 0x1400c612f
mov ecx, 0x368
call fcn.14005fad8
mov ecx, 0x367
mov rbx, rax
call fcn.14005fad8
mov rcx, qword [0x140158350]
mov r9d, 0x30
mov r8, rbx
mov rdx, rax
call fcn.1400b6df8
jmp 0x1400c614e
lea rcx, [rsp + 0x1020]
call fcn.140042190
mov ecx, 0x366
call fcn.14005fad8
mov rcx, rax
call fcn.1400c5814
mov rcx, qword [rsp + 0x2020]
xor rcx, rsp
call fcn.1400e9d80
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 0x1400c6178
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 [0x1401561c5], bl
je 0x1400c6369
mov esi, 0x800
lea rdx, [rsp + 0x2070]
lea rcx, [0x140164e70]
mov r8, rsi
call fcn.14007858c
lea r8d, [rbx + 1]
lea rdx, [0x14010f680]
lea rcx, [0x14010ed78]
call fcn.14009b908
cmp eax, ebx
setne dil
cmp dil, bl
je 0x1400c6211
lea r9, [0x140109540]
lea r8, [rsp + 0x70]
lea rdx, str.SaveArcFolder
lea rcx, str.InterfaceMisc
mov dword [rsp + 0x20], esi
call fcn.14009b8dc
cmp word [rsp + 0x70], bx
jne 0x1400c6222
lea rcx, [rsp + 0x70]
call fcn.14008c39c
lea rcx, [rsp + 0x2070]
call fcn.140050ce8
lea r8, [rsp + 0x1070]
lea rcx, [rsp + 0x70]
mov rdx, rax
mov r9, rsi
call fcn.140050528
mov ecx, 0x5af
call fcn.14005fad8
mov rcx, qword [0x140158350]
lea r8, [rsp + 0x1070]
mov rdx, rax
xor r9d, r9d
mov byte [rsp + 0x20], 1
call fcn.14007afac
cmp al, bl
je 0x1400c6369
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1070]
mov r8, rsi
call fcn.140050f64
cmp dil, bl
je 0x1400c62aa
lea r8, [rsp + 0x70]
lea rdx, str.SaveArcFolder
lea rcx, str.InterfaceMisc
call fcn.14009b888
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.1400eada0
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 0x1400c6369
cmp dword [rsp + 0x54], ebx
jne 0x1400c6369
mov ecx, 0x5b0
call fcn.14005fad8
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.1400c5814
lea rcx, [0x140149f20]
call fcn.14003c59c
mov rcx, qword [rsp + 0x3070]
xor rcx, rsp
call fcn.1400e9d80
lea r11, [rsp + 0x3080]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400c8f74
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 [0x140157274], ebx
jne 0x1400c90e7
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov ebp, eax
cmp eax, 1
jne 0x1400c907c
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 [0x1401561c5], bl
je 0x1400c9021
cmp dil, bl
jne 0x1400c904d
cmp rax, qword [0x140162c30]
je 0x1400c904d
cmp rax, qword [0x140162bb8]
je 0x1400c904d
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x1400c904d
lea rdx, [rsp + 0x30]
lea rcx, [0x140162be0]
mov r8b, 1
call fcn.1400945e4
cmp eax, 1
je 0x1400c90e7
lea rcx, [rsp + 0x30]
call fcn.140050ce8
lea rdx, str.rarreg.
mov r8d, 7
mov rcx, rax
call fcn.140068d60
cmp eax, ebx
jne 0x1400c907c
lea rcx, [rsp + 0x30]
call fcn.1400c5f74
jmp 0x1400c90e7
xor ecx, ecx
call fcn.1400b1614
lea rcx, [0x140174f50]
call fcn.140066150
cmp ebp, ebx
jle 0x1400c90c0
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, [0x140174f50]
call fcn.140066178
inc ebx
cmp ebx, ebp
jl 0x1400c9093
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 [0x14016ecc6], r11b
call fcn.1400b4660
mov rcx, qword [rsp + 0x1030]
xor rcx, rsp
call fcn.1400e9d80
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 0x1400c9484
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, [0x140109540]
xor r9d, r9d
mov dword [rsp + 0x20], 0x1000
call fcn.14009b920
movsxd rdi, eax
test eax, eax
je 0x1400c953c
lea rdx, [rsp + 0x30]
lea rcx, str.Rar_RK
mov r8d, 0x800
call fcn.1400b5c90
mov rbx, rax
test rax, rax
je 0x1400c9529
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.1400c5f74
lea rcx, [rsp + 0x30]
call fcn.140042190
lea rdx, str.rarreg.key
lea rcx, [0x140109540]
call fcn.14009b414
mov rcx, qword [rsp + 0x2030]
xor rcx, rsp
call fcn.1400e9d80
mov rbx, qword [rsp + 0x2050]
add rsp, 0x2040
pop rdi
ret
Function at 0x1400c9560
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], 0x51f00
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea r8, [rsp + 0x40]
lea rdx, str.VerInfo
lea rcx, [0x14010ed78]
mov edi, 0xc
xor r9d, r9d
mov dword [rsp + 0x20], edi
call fcn.14009b920
lea esi, [rdi - 0xb]
mov ebx, 0x800
lea rcx, [rsp + 0x60]
mov r8b, sil
mov rdx, rbx
call fcn.140050ffc
lea rcx, [rsp + 0x60]
mov rdx, rbx
call fcn.1400504dc
lea rdx, str.version.dat
lea rcx, [rsp + 0x60]
mov r8, rbx
call fcn.140065d80
and dword [rsp + 0x50], 0
lea rdx, [0x140110150]
lea rcx, [rsp + 0x60]
call fcn.1400423bc
mov rbx, rax
test rax, rax
je 0x1400c9633
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 0x1400c96f4
mov r9, rdi
cmp dword [rsp + 0x50], eax
je 0x1400c96bc
lea r8, [rsp + 0x30]
lea rdx, str.VerInfo
lea rcx, [0x14010ed78]
call fcn.14009b8b8
call fcn.140099ff8
test al, al
jne 0x1400c969f
lea rdx, [0x14010ee80]
lea rcx, [rsp + 0x60]
call fcn.1400423bc
mov rbx, rax
test rax, rax
je 0x1400c969f
lea rcx, [rsp + 0x30]
mov r9, rax
mov r8, rdi
mov rdx, rsi
call fcn.1400ef054
mov rcx, rbx
call fcn.1400eee40
call fcn.14009a008
neg al
mov eax, 0x168
sbb ecx, ecx
not ecx
and ecx, eax
mov dword [0x1401571f4], ecx
jmp 0x1400c97ce
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, [0x14010ed78]
mov dword [rdx + 8], eax
lea rdx, str.VerInfo
call fcn.14009b8b8
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x40], eax
jne 0x1400c974d
cmp dword [rsp + 0x50], eax
je 0x1400c974d
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.140099ff8
test al, al
jne 0x1400c974d
lea rdx, [0x14010ee80]
lea rcx, [rsp + 0x60]
call fcn.1400423bc
mov rbx, rax
test rax, rax
je 0x1400c974d
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 [0x1401571f4], edx
mov rcx, qword [rsp + 0x1060]
xor rcx, rsp
call fcn.1400e9d80
lea r11, [rsp + 0x1070]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x1400cd064
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r14
mov eax, 0x20a0
call fcn.1400fe810
sub rsp, rax
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x2090], rax
mov rsi, qword [rsp + 0x20f8]
mov rbx, qword [rsp + 0x2100]
mov rdi, rdx
xor edx, edx
mov rbp, r8
lea rcx, [rsp + 0x20]
lea r8d, [rdx + 0x70]
mov r12, r9
call fcn.1400eada0
mov eax, 0x500
xor r14d, r14d
cmp byte [rsp + 0x20f0], r14b
lea ecx, [rax + 0x40]
mov dword [rsp + 0x20], 0x70
cmove eax, ecx
mov rcx, rdi
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x24], eax
mov qword [rsp + 0x30], rbx
call fcn.140050f04
cmp rax, r14
je 0x1400cd0fe
cmp word [rax], 0x2e
jne 0x1400cd10f
cmp word [rax + 2], r14w
jne 0x1400cd10f
or dword [rsp + 0x24], 1
lea rax, [0x140109750]
mov qword [rsp + 0x68], rax
mov rcx, rdi
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r12
call fcn.140050ce8
cmp rax, rdi
jne 0x1400cd14f
lea r8, str.._s
lea rcx, [rsp + 0x90]
mov r9, rdi
mov edx, 0x1000
call fcn.1400e0c0c
lea r11, [rsp + 0x90]
mov qword [rsp + 0x38], r11
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x50], 1
mov byte [0x1401561c7], 1
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ebx, eax
cmp eax, r14d
jne 0x1400cd1a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x1400cd18c
cmp rsi, r14
je 0x1400cd185
mov qword [rsi], r14
mov al, 1
jmp 0x1400cd279
cmp qword [rsp + 0x30], r14
je 0x1400cd1a5
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x30], r14
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ebx, eax
mov byte [0x1401561c7], r14b
cmp ebx, r14d
je 0x1400cd277
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x483
je 0x1400cd277
cmp byte [rsp + 0x20f0], r14b
jne 0x1400cd185
mov r8, qword [rsp + 0x88]
lea rdi, [0x140000000]
cmp r8, r14
je 0x1400cd216
movsxd rdx, dword [0x140193280]
mov rax, qword [rsp + 0x58]
mov qword [rdi + rdx*8 + 0x193200], rax
lea eax, [rdx + 1]
mov qword [rdi + rdx*8 + 0x193180], r8
cdq
and edx, 0xf
add eax, edx
and eax, 0xf
sub eax, edx
mov dword [0x140193280], eax
jmp 0x1400cd266
mov rbx, r14
mov rax, qword [rsp + 0x58]
cmp qword [rbx + rdi + 0x193200], rax
jne 0x1400cd259
mov rcx, qword [rbx + rdi + 0x193180]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1400cd251
mov r8, qword [rbx + rdi + 0x193180]
mov qword [rsp + 0x88], r8
jmp 0x1400cd259
mov r8, qword [rsp + 0x88]
add rbx, 8
cmp rbx, 0x80
jl 0x1400cd219
cmp rsi, r14
je 0x1400cd185
mov qword [rsi], r8
jmp 0x1400cd185
xor al, al
mov rcx, qword [rsp + 0x2090]
xor rcx, rsp
call fcn.1400e9d80
mov rbx, qword [rsp + 0x20d0]
add rsp, 0x20a0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400cdd14
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.140050ce8
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 0x1400cdd88
xor al, al
jmp 0x1400cdee2
mov r9, rdi
lea r8, [rsp + 0x4100]
mov rdx, r11
mov rcx, rbx
call fcn.140050528
lea rcx, [rsp + 0x40]
call fcn.140066320
nop
mov dword [rsp + 0x20], edi
lea r9, [0x140109540]
lea r8, [rsp + 0x1100]
lea rdx, str.ViewerIgnoreModifications
lea rcx, [0x14010f380]
call fcn.14009b8dc
xor ebx, ebx
cmp word [rsp + 0x1100], bx
je 0x1400cddf3
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x1100]
call fcn.1400a4134
mov r8d, 0x800
lea rdx, [rsp + 0x3100]
lea rcx, [rsp + 0x40]
call fcn.140066358
cmp al, bl
je 0x1400cded1
mov r8d, 0x800
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x3100]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea rdx, [0x1401173a8]
lea rcx, [rsp + 0x102]
call fcn.1400ee80c
mov rdi, rax
cmp rax, rbx
je 0x1400cde7a
mov word [rax], bx
add rdi, 4
cmp word [rdi], bx
jne 0x1400cde5e
lea rdi, [0x14010be18]
mov r8d, 4
mov rdx, rsi
lea rcx, [rsp + 0x100]
call fcn.140045978
cmp al, bl
je 0x1400cde9c
jmp 0x1400cde82
lea rdi, [rsp + 0x100]
mov r8d, 4
lea rdx, [rsp + 0x4100]
mov rcx, rdi
call fcn.140045978
cmp al, bl
jne 0x1400cdebe
mov r8d, 0x800
lea rdx, [rsp + 0x3100]
lea rcx, [rsp + 0x40]
call fcn.140066358
cmp al, bl
jne 0x1400cde13
jmp 0x1400cded1
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x1400cdecd
call fcn.1400ea2a8
mov al, 1
jmp 0x1400cdee2
mov rcx, qword [rsp + 0x40]
cmp rcx, rbx
je 0x1400cdee0
call fcn.1400ea2a8
xor al, al
mov rcx, qword [rsp + 0x6100]
xor rcx, rsp
call fcn.1400e9d80
add rsp, 0x6110
pop rdi
pop rsi
pop rbx
ret

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

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rcx, [0x1401561e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400cecb8
mov ecx, 0x2bc
call fcn.14005fad8
mov ecx, 0x2bd
mov rbx, rax
call fcn.14005fad8
mov rcx, qword [0x140158350]
mov r9d, 0x40
mov r8, rbx
mov rdx, rax
call fcn.1400b6df8
jmp 0x1400cecca
lea rdx, [0x1401561e0]
xor r8d, r8d
mov rcx, rbx
call fcn.1400cdf00
add rsp, 0x20
pop rbx
ret
Function at 0x1400cf8d8
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 [0x14019b500]
test al, 1
jne 0x1400cf924
or eax, 1
mov dword [0x14019b500], eax
lea rcx, [0x14019b3fe]
call fcn.140063478
nop
lea rcx, [0x1401076b8]
call fcn.1400ee7f4
nop
mov r8b, 1
mov rdx, rdi
lea rsi, [0x1401973d0]
mov rcx, rsi
call fcn.1400cd8d0
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.1400cd064
test al, al
jne 0x1400cf97c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, rsi
call fcn.1400ccd54
cmp ebx, 0x4c7
sete al
jmp 0x1400cf9a0
test bl, bl
je 0x1400cf996
mov r8, rsi
mov edx, 0x10000
lea rcx, [0x1400cecd0]
call fcn.1400efe18
jmp 0x1400cf99e
mov rcx, rsi
call fcn.1400ccd54
mov al, 1
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret

Function at 0x1400cf9b0
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.1400cceb4
test al, al
je 0x1400cfa25
mov ecx, 0x65
call fcn.14005fad8
mov rbx, rax
mov ecx, 0x596
call fcn.14005fad8
mov rdx, rax
mov r9d, 0x30
mov r8, rbx
mov rcx, qword [0x140158350]
call fcn.1400b6df8
jmp 0x1400cfb69
cmp byte [0x1401561c5], 0
jne 0x1400cfa71
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.1400cd064
test al, al
jne 0x1400cfb69
mov ecx, 0x201
call fcn.14005fad8
mov rcx, rax
mov rdx, rbx
call fcn.1400c5814
jmp 0x1400cfb69
mov cl, 1
call fcn.1400b1510
mov r9b, 1
mov esi, 0x800
mov r8, rsi
lea rdx, [0x14016ab2e]
lea rcx, str.Rar_EX
call fcn.1400b5d70
test al, al
je 0x1400cfb69
mov r8, rsi
lea rdx, [0x140173f4a]
lea rcx, [0x140164e70]
call fcn.14007858c
mov r11d, dword [0x140164e74]
mov dword [0x140170ee8], r11d
lea rdx, [0x14010be18]
lea rcx, [0x140174f50]
call fcn.140066178
mov dword [0x14016fed8], 4
mov r9, rsi
lea r8, [rsp + 0x50]
mov rdx, rbx
lea rcx, [0x14016ab2e]
call fcn.140050528
xor r8d, r8d
xor edx, edx
lea rcx, [0x140164e70]
call fcn.14007a77c
cmp byte [0x1401561c4], 0
jne 0x1400cfb69
mov eax, dword [0x14019f640]
test al, 1
jne 0x1400cfb3d
or eax, 1
mov dword [0x14019f640], eax
lea rcx, [0x14019f53e]
call fcn.140063478
nop
lea rcx, [0x1401076d8]
call fcn.1400ee7f4
nop
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [0x14019b510]
call fcn.1400cd8d0
lea r8, [0x14019b510]
mov edx, 0x10000
lea rcx, [0x1400cecd0]
call fcn.1400efe18
mov rcx, qword [rsp + 0x1050]
xor rcx, rsp
call fcn.1400e9d80
mov rbx, qword [rsp + 0x1070]
add rsp, 0x1060
pop rsi
ret
Function at 0x1400d5078
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x30a0
call fcn.1400fe810
sub rsp, rax
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x30d0], rbx
mov qword [rsp + 0x30e8], rbp
mov rax, qword [0x140132350]
xor rax, rsp
mov qword [rsp + 0x3090], rax
mov rsi, r8
mov rdi, rdx
mov r13, rcx
mov rax, rdx
mov r9, r8
sub r9, rdx
movzx edx, word [rax]
movzx r8d, word [rax + r9]
sub edx, r8d
jne 0x1400d50e1
add rax, 2
test r8d, r8d
jne 0x1400d50cb
test edx, edx
jne 0x1400d50ec
xor eax, eax
jmp 0x1400d531a
xor bpl, bpl
lea rdx, [rsp + 0x2090]
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
movzx ecx, word [rsp + 0x2090]
call fcn.1400eea04
mov r12d, eax
mov r14d, 1
cmp word [rsp + 0x2090], 0x5c
je 0x1400d515d
cmp word [rsi], 0x5c
je 0x1400d515d
cmp word [rdi], 0x5c
je 0x1400d515d
movzx ecx, word [rsi]
call fcn.1400eea04
mov ebx, eax
movzx ecx, word [rdi]
call fcn.1400eea04
cmp word [rsi + 2], 0x3a
cmovne ebx, r12d
cmp word [rdi + 2], 0x3a
cmovne eax, r12d
movzx ebp, bpl
cmp ebx, eax
cmovne ebp, r14d
mov rcx, rdi
call fcn.14004258c
test al, al
je 0x1400d51d6
lea rcx, [rsp + 0x30]
call fcn.140041028
nop
mov r8d, r14d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.1400410ac
test al, al
je 0x1400d51c2
lea rcx, [rsp + 0x30]
call fcn.1400413c4
test al, al
je 0x1400d51c2
mov rcx, rdi
call fcn.140042190
test al, al
jne 0x1400d51b6
lea rcx, [rsp + 0x30]
call fcn.1400417f0
mov eax, 0xf
jmp 0x1400d531a
lea rcx, [rsp + 0x30]
call fcn.1400417f0
jmp 0x1400d51d6
lea rcx, [rsp + 0x30]
call fcn.1400417f0
mov eax, 0xf
jmp 0x1400d531a
test bpl, bpl
jne 0x1400d51f3
mov rdx, rdi
mov rcx, rsi
call fcn.1400420e0
test al, al
sete al
test al, al
je 0x1400d5318
lea rcx, [rsp + 0x1060]
call fcn.140041028
nop
lea rcx, [rsp + 0x30]
call fcn.140041028
nop
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x1060]
call fcn.1400410ac
test al, al
jne 0x1400d5248
mov rdx, rsi
lea rcx, [0x140149f20]
call fcn.14003c948
nop
lea rcx, [rsp + 0x30]
call fcn.1400417f0
nop
mov ebx, 0xa
jmp 0x1400d52e6
mov r8d, 0x12
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140041264
test al, al
jne 0x1400d5271
lea rcx, [rsp + 0x30]
call fcn.1400417f0
nop
mov ebx, 0xf
jmp 0x1400d52e6
xor edx, edx
lea rcx, [0x140149f20]
call fcn.14003c450
or r9, 0xffffffffffffffff
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x1060]
mov rcx, r13
call fcn.1400d4f7c
mov ebp, eax
lea rcx, [rsp + 0x1060]
call fcn.1400413c4
lea rcx, [rsp + 0x30]
call fcn.1400413c4
mov dl, r14b
lea rcx, [0x140149f20]
call fcn.14003c450
test ebp, ebp
je 0x1400d52f7
mov rcx, rdi
call fcn.140042190
mov eax, 0xe
lea ebx, [rax - 4]
cmp ebp, ebx
cmove ebp, eax
mov ebx, ebp
lea rcx, [rsp + 0x30]
call fcn.1400417f0
nop
lea rcx, [rsp + 0x1060]
call fcn.1400417f0
mov eax, ebx
jmp 0x1400d531a
mov rcx, rsi
call fcn.140042190
nop
lea rcx, [rsp + 0x30]
call fcn.1400417f0
nop
lea rcx, [rsp + 0x1060]
call fcn.1400417f0
xor eax, eax
mov rcx, qword [rsp + 0x3090]
xor rcx, rsp
call fcn.1400e9d80
lea r11, [rsp + 0x30a0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x1400d5ea4
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
lea rsi, [0x1401c3590]
mov rdi, rdx
mov rcx, rsi
call fcn.1400385a4
mov dword [rbx + 4], 0x12345678
mov dword [rbx + 8], 0x23456789
mov dword [rbx + 0xc], 0x34567890
jmp 0x1400d5f23
mov edx, dword [rbx + 4]
mov rcx, rdx
shr edx, 8
xor rcx, rax
movzx eax, cl
mov ecx, dword [rsi + rax*4]
xor ecx, edx
mov edx, dword [rbx + 0xc]
movzx eax, cl
mov dword [rbx + 4], ecx
add eax, dword [rbx + 8]
imul eax, eax, 0x8088405
inc eax
mov ecx, eax
mov dword [rbx + 8], eax
shr ecx, 0x18
xor rcx, rdx
shr edx, 8
movzx eax, cl
mov eax, dword [rsi + rax*4]
xor eax, edx
inc rdi
mov dword [rbx + 0xc], eax
mov al, byte [rdi]
test al, al
jne 0x1400d5edf
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1400d61b4
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Generate random numbers using the delphi lcg

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
sub rsp, 0x30
cmp byte [0x14016dc40], 0
mov r11, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
je 0x1400d626b
mov r10, rbx
mov rbp, rdx
imul r10, r11
test r10, r10
je 0x1400d626b
lea r12, [0x1401c3590]
movsx rax, byte [rbp]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
xor rax, rdx
shr edx, 8
mov r9d, r8d
movzx ecx, al
and r9d, 0xfffd
mov eax, dword [r12 + rcx*4]
or r9d, 2
xor eax, edx
mov dword [rsi + 4], eax
movzx eax, al
add eax, dword [rsi + 8]
imul eax, eax, 0x8088405
inc eax
mov ecx, eax
mov dword [rsi + 8], eax
shr ecx, 0x18
xor rcx, r8
shr r8d, 8
movzx eax, cl
mov eax, dword [r12 + rax*4]
xor eax, r8d
mov dword [rsi + 0xc], eax
mov eax, r9d
xor eax, 1
imul eax, r9d
shr eax, 8
xor byte [rbp], al
inc rbp
sub r10, 1
jne 0x1400d61fc
and dword [rsp + 0x20], 0
mov r9, r11
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1400d5488
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r12
ret