joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18002567c
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x280
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rbx, rcx
lea r9, str.attachCachePath
lea r8, str.SoftwareWOW6432Nodeprojonepodlp_rptcache_
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x38]
call fcn.1800057dc
nop
xor edi, edi
cmp qword [rsp + 0x50], rdi
jbe 0x18002573c
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov r8d, 0x104
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
jne 0x18002570a
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
cmp eax, edi
je 0x180025720
mov rcx, rbx
call fcn.180004e44
nop
cmp qword [rsp + 0x58], 8
jb 0x180025732
mov rcx, qword [rsp + 0x40]
call fcn.180058b34
mov eax, 1
jmp 0x18002581b
mov word [rsp + 0x60], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x62]
call fcn.180059db0
mov r8d, 0x104
lea rdx, [rsp + 0x60]
mov ecx, 0x23
call fcn.180005f40
cmp eax, edi
jne 0x180025785
cmp qword [rsp + 0x58], 8
jb 0x18002577e
mov rcx, qword [rsp + 0x40]
call fcn.180058b34
xor eax, eax
jmp 0x18002581b
lea rdx, str.PodlpRptCache
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
jne 0x1800257b3
lea rdx, [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
cmp eax, edi
je 0x1800257cc
lea rcx, [rsp + 0x60]
call fcn.180004e44
mov r8d, 0x104
lea rdx, [rsp + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x60]
lea r8, str.attachCachePath
lea rdx, str.SoftwareWOW6432Nodeprojonepodlp_rptcache_
mov rcx, 0xffffffff80000002
call fcn.1800056d8
nop
cmp qword [rsp + 0x58], 8
jb 0x180025816
mov rcx, qword [rsp + 0x40]
call fcn.180058b34
mov eax, 1
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180059760
mov rbx, qword [rsp + 0x298]
add rsp, 0x280
pop rdi
ret
Function at 0x1800264dc
Capabilities:
Check if file exists
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x180
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov esi, r9d
mov rbx, r8
mov r12, rdx
mov rbp, rcx
xor edi, edi
cmp r8, rdi
je 0x18002654d
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, edi
je 0x18002654a
mov rcx, rbx
call fcn.180001f80
cmp rax, 0xc800000
jbe 0x18002654d
cmp esi, edi
je 0x180026545
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rbx, rdi
jmp 0x18002654d
mov rbx, rdi
mov rdx, r12
lea rcx, [rsp + 0xa0]
call fcn.180016960
nop
mov r9d, esi
mov r8, rbx
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call fcn.18002583c
cmp eax, edi
jne 0x18002657d
jmp 0x1800266eb
mov word [rsp + 0xf0], di
xor edx, edx
lea r8d, [rdx + 0x7e]
lea rcx, [rsp + 0xf2]
call fcn.180059db0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov r11d, dword [0x1800a7aa0]
mov ebx, r11d
inc r11d
mov dword [0x1800a7aa0], r11d
call fcn.180002f84
movzx ecx, word [rsp + 0x6c]
movzx edx, word [rsp + 0x6a]
movzx r8d, word [rsp + 0x68]
movzx r10d, word [rsp + 0x66]
movzx r11d, word [rsp + 0x62]
movzx r9d, word [rsp + 0x60]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
lea r8, str._04d__02d__02d__02d:_02d:_02d__d__08x
mov edx, 0x40
lea rcx, [rsp + 0xf0]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xa0]
call fcn.180018474
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1800014d0
cmp qword [rax + 0x20], 8
jb 0x180026647
mov r9, qword [rax + 8]
jmp 0x18002664b
lea r9, [rax + 8]
mov dword [rsp + 0x20], edi
lea r8, [rsp + 0xf0]
lea rdx, str.SoftwareWOW6432Nodeprojonepodlp_rptcachependings_
mov rcx, 0xffffffff80000002
call fcn.1800056d8
mov ebx, eax
cmp qword [rsp + 0x90], 8
jb 0x180026681
mov rcx, qword [rsp + 0x78]
call fcn.180058b34
mov qword [rsp + 0x90], 7
mov qword [rsp + 0x88], rdi
mov word [rsp + 0x78], di
cmp qword [rsp + 0xe8], 0x10
jb 0x1800266b2
mov rcx, qword [rsp + 0xd0]
call fcn.180058b34
cmp ebx, edi
je 0x1800266c4
lea rcx, str.GlobalD36B0A68_AE78_4fa2_BD9C_05FD95224F52
call fcn.18002545c
jmp 0x1800266e9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, [rsp + 0xf0]
lea rdx, str.SoftwareWOW6432Nodeprojonepodlp_rptcachependings_
lea rcx, str.CachedReport_write_register_failed:__s._s__d
call fcn.180027878
nop
mov edi, ebx
lea rcx, [rsp + 0xa0]
call fcn.180016b0c
mov eax, edi
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.180059760
add rsp, 0x180
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x180027a10
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
and dword [rsp + 0x58], 0
lea rax, [rsp + 0x58]
mov rdi, r8
mov r9, rdx
mov r8, rcx
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
je 0x180027a5c
mov edx, dword [rsp + 0x58]
lea rcx, str.thread__d_created:__s
mov r8, rdi
call fcn.180027548
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x180027a6c
Capabilities:
Send data
Send data on socket

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
sub rsp, 0xc0
mov qword [rsp + 0x88], 0xfffffffffffffffe
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0xb8], rax
movsxd rbp, r9d
mov rsi, r8
mov rdi, rdx
mov ebx, ecx
test rdx, rdx
jne 0x180027ab8
lea ecx, [rdx + 0x57]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x180027cee
mov r13d, 2
cmp ecx, 1
je 0x180027ad9
cmp ecx, r13d
je 0x180027ad9
lea ecx, [r13 + 0x55]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x180027cee
cmp qword [0x1800a4500], 0xffffffffffffffff
jne 0x180027b6e
xor r8d, r8d
mov edx, r13d
mov ecx, r13d
call sub.WS2_32.dll_socket
mov qword [0x1800a4500], rax
cmp rax, 0xffffffffffffffff
je 0x180027b51
xor eax, eax
mov dword [rsp + 0x30], eax
lea rdx, str.127.0.0.2
lea rcx, str.127.0.0.3
cmp ebx, 1
cmove rcx, rdx
test rcx, rcx
je 0x180027b30
lea rdx, [rsp + 0x30]
call fcn.180003354
mov eax, dword [rsp + 0x30]
mov dword [0x1800a825c], eax
mov word [0x1800a8258], r13w
mov ecx, 0x32e9
call sub.WS2_32.dll_htons
mov word [0x1800a825a], ax
jmp 0x180027b5d
lea rcx, str.PpSendExternalMessage:_create_socket_failed
call fcn.180033f3c
cmp qword [0x1800a4500], 0xffffffffffffffff
jne 0x180027b6e
xor eax, eax
jmp 0x180027cee
and dword [rsp + 0x68], 0xfffffe00
and qword [rsp + 0x70], 0
and qword [rsp + 0x78], 0
and qword [rsp + 0x80], 0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.180016870
mov rbx, rax
lea rdx, str.message
lea rcx, [rsp + 0x60]
call fcn.180017e84
mov rcx, rax
mov rdx, rbx
call fcn.180016ba4
lea r11, [rsp + 0x38]
mov qword [rsp + 0x30], r11
lea rdx, [0x1800827d9]
test rsi, rsi
cmovne rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.180016870
mov rbx, rax
lea rdx, str.content
lea rcx, [rsp + 0x60]
call fcn.180017e84
mov rcx, rax
mov rdx, rbx
call fcn.180016ba4
lea r11, [rsp + 0x38]
mov qword [rsp + 0x30], r11
mov byte [rsp + 0x40], 1
btr dword [rsp + 0x40], 8
and qword [rsp + 0x48], 0
and qword [rsp + 0x50], 0
and qword [rsp + 0x58], 0
mov qword [rsp + 0x38], rbp
lea rdx, str.broadcast
lea rcx, [rsp + 0x60]
call fcn.180017e84
mov rcx, rax
lea rdx, [rsp + 0x38]
call fcn.180016ba4
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
call fcn.180018474
lea rdx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 0x10
cmovae rdx, qword [rsp + 0x98]
mov r8d, dword [rsp + 0xa8]
inc r8d
mov dword [rsp + 0x28], sendto
lea rax, [0x1800a8258]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov rcx, qword [0x1800a4500]
call sub.WS2_32.dll_sendto
xor ebx, ebx
test eax, eax
setg bl
cmp qword [rsp + 0xb0], 0x10
jb 0x180027cc5
mov rcx, qword [rsp + 0x98]
call fcn.180058b34
mov qword [rsp + 0xb0], sendto
and qword [rsp + 0xa8], 0
mov byte [rsp + 0x98], 0
lea rcx, [rsp + 0x60]
call fcn.180016b0c
mov eax, ebx
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.180059760
add rsp, 0xc0
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18002ae20
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x250
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rbx, rcx
xor edi, edi
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x206
mov dword [rsp + 0x20], edi
mov word [rsp + 0x30], di
call fcn.180059db0
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rdx, str.Logs_accelerator
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov qword [rbx + 0x18], rdi
or rcx, 0xffffffffffffffff
mov qword [rbx + 0x20], 7
mov word [rbx + 8], di
xor eax, eax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0x30]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, rbx
call fcn.1800076f0
mov rax, rbx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.180059760
mov rbx, qword [rsp + 0x268]
add rsp, 0x250
pop rdi
ret

Function at 0x18002aed8
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x250
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rbx, rcx
xor edi, edi
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x206
mov dword [rsp + 0x20], edi
mov word [rsp + 0x30], di
call fcn.180059db0
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea rdx, str.Logsignored
lea rcx, [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov qword [rbx + 0x18], rdi
or rcx, 0xffffffffffffffff
mov qword [rbx + 0x20], 7
mov word [rbx + 8], di
xor eax, eax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0x30]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, rbx
call fcn.1800076f0
mov rax, rbx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.180059760
mov rbx, qword [rsp + 0x268]
add rsp, 0x250
pop rdi
ret
Function at 0x18002b060
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
sub rsp, 0x280
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rdi, r8
mov esi, edx
mov rbx, rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov word [rsp + 0x60], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x62]
call fcn.180059db0
mov edx, 0x104
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp esi, 1
jne 0x18002b0da
lea rdx, str.projonepodlp
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x18002b0f1
cmp esi, 2
jne 0x18002b13e
lea rdx, str.projonepotcm
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
cmp rdi, rbp
je 0x18002b104
mov rdx, rdi
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov qword [rbx + 0x20], 7
mov qword [rbx + 0x18], rbp
mov word [rbx + 8], bp
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.1800076f0
mov rax, rbx
jmp 0x18002b1e4
cmp esi, ebp
jne 0x18002b1bf
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rsp + 0x30]
call fcn.18002b060
nop
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
cmp eax, ebp
je 0x18002b197
mov r8, rdi
mov edx, 2
mov rcx, rbx
call fcn.18002b060
nop
cmp qword [rsp + 0x50], 8
jb 0x18002b192
mov rcx, qword [rsp + 0x38]
call fcn.180058b34
mov rax, rbx
jmp 0x18002b1e4
mov r8, rdi
mov edx, 1
mov rcx, rbx
call fcn.18002b060
nop
cmp qword [rsp + 0x50], 8
jb 0x18002b1ba
mov rcx, qword [rsp + 0x38]
call fcn.180058b34
mov rax, rbx
jmp 0x18002b1e4
mov qword [rbx + 0x20], 7
mov qword [rbx + 0x18], rbp
mov word [rbx + 8], bp
xor r8d, r8d
lea rdx, [0x180081ab8]
mov rcx, rbx
call fcn.1800076f0
mov rax, rbx
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180059760
mov rbx, qword [rsp + 0x2a8]
add rsp, 0x280
pop rdi
pop rsi
pop rbp
ret

Function at 0x18002db90
Capabilities:
Query or enumerate registry value

Disassembly:
sub rsp, 0x38
cmp qword [rcx + 0x20], 0x10
jb 0x18002dba1
mov r8, qword [rcx + 8]
jmp 0x18002dba5
lea r8, [rcx + 8]
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x48]
lea rdx, str.SoftwareWOW6432Nodeprojonepodlpkeyrule_secClass_
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 4
call qword [sym.imp.SHLWAPI.dll_SHGetValueA]
xor ecx, ecx
cmp eax, ecx
jne 0x18002dbeb
cmp dword [rsp + 0x48], 4
jne 0x18002dbeb
mov ecx, dword [rsp + 0x50]
mov eax, ecx
add rsp, 0x38
ret
Function at 0x18002f10c
Capabilities:
Move file

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x18002f159
lea r8d, [rax - 4]
xor edx, edx
mov rcx, rbx
call fcn.180002a1c
mov r8d, edi
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x18002f204
call fcn.180002f84
lea rdx, str._s._08x
lea rcx, [rsp + 0x20]
mov r9d, eax
mov r8, rbx
call fcn.180005498
cmp qword [rsp + 0x40], 8
lea rdx, [rsp + 0x28]
cmovae rdx, qword [rsp + 0x28]
mov r8d, edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x18002f1f0
mov r8d, edi
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
lea rcx, [rsp + 0x28]
test eax, eax
je 0x18002f1d8
cmp qword [rsp + 0x40], 8
cmovae rcx, qword [rsp + 0x28]
call fcn.18000291c
cmp qword [rsp + 0x40], 8
jb 0x18002f1d1
mov rcx, qword [rsp + 0x28]
call fcn.180058b34
mov eax, 1
jmp 0x18002f204
cmp qword [rsp + 0x40], 8
mov r8d, edi
mov rdx, rbx
cmovae rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp qword [rsp + 0x40], 8
jb 0x18002f202
mov rcx, qword [rsp + 0x28]
call fcn.180058b34
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.180059760
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x18002f264
Capabilities:
Delete file
Move file

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x290
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rdi, rcx
xor esi, esi
cmp rcx, rsi
jne 0x18002f2a3
xor eax, eax
jmp 0x18002f3e7
cmp edx, esi
jne 0x18002f2b9
xor edx, edx
call fcn.18002fe4c
cmp eax, esi
jne 0x18002f2b9
xor eax, eax
jmp 0x18002f3e7
mov word [rsp + 0x70], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x72]
call fcn.180059db0
call fcn.180002f84
mov dword [rsp + 0x20], eax
mov r9, rdi
lea r8, str._s._08x
mov edx, 0x104
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov rcx, rdi
call fcn.18002f21c
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.18002f034
cmp eax, esi
jne 0x18002f3da
lea rcx, [rsp + 0x30]
call fcn.18002e264
nop
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x18002f35b
lea rcx, [rsp + 0x30]
call fcn.180031e74
mov rcx, qword [rsp + 0x30]
call fcn.180058b34
jmp 0x18002f3da
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.18003745c
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.180031e74
mov rcx, qword [rsp + 0x30]
call fcn.180058b34
cmp ebx, esi
je 0x18002f3da
mov ebx, esi
mov r8d, 1
mov rdx, rdi
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp eax, esi
jne 0x18002f3b6
mov r8d, 1
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.18002f10c
jmp 0x18002f3bb
mov eax, 1
cmp eax, esi
jne 0x18002f3d3
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 5
jl 0x18002f389
jmp 0x18002f3da
mov eax, 1
jmp 0x18002f3e7
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.180059760
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x18002f46c
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rdi, rcx
mov ecx, 8
call fcn.180058f28
xor ebx, ebx
cmp rax, rbx
je 0x18002f4a6
lea rcx, [rsp + 0x20]
mov qword [rax], rcx
jmp 0x18002f4a9
mov rax, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, ebx
je 0x18002f5da
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.18003c17c
cmp eax, ebx
jne 0x18002f5da
mov rax, qword [rsp + 0x38]
mov rdi, rax
mov rbp, qword [rsp + 0x40]
cmp rax, rbp
jbe 0x18002f504
call fcn.180058f08
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x20]
add rdi, 8
cmp rax, rbp
jbe 0x18002f517
call fcn.180058f08
cmp rsi, rbx
je 0x18002f523
cmp rsi, qword [rsp + 0x20]
je 0x18002f528
call fcn.180058f08
lea r12, [rdi - 8]
cmp r12, rbp
je 0x18002f5d8
cmp rsi, rbx
jne 0x18002f544
call fcn.180058f08
mov r11, rbx
jmp 0x18002f547
mov r11, qword [rsi]
cmp r12, qword [r11 + 0x20]
jb 0x18002f552
call fcn.180058f08
cmp qword [rdi + 0x18], 8
jb 0x18002f55e
mov rcx, qword [rdi]
jmp 0x18002f561
mov rcx, rdi
call fcn.18002f40c
cmp eax, ebx
jne 0x18002f5d1
cmp rsi, rbx
jne 0x18002f579
call fcn.180058f08
mov r11, rbx
jmp 0x18002f57c
mov r11, qword [rsi]
cmp r12, qword [r11 + 0x20]
jb 0x18002f587
call fcn.180058f08
cmp qword [rdi + 0x18], 8
jb 0x18002f593
mov rcx, qword [rdi]
jmp 0x18002f596
mov rcx, rdi
xor edx, edx
call fcn.18002fe4c
cmp eax, ebx
jne 0x18002f5d1
cmp rsi, rbx
jne 0x18002f5b0
call fcn.180058f08
mov r11, rbx
jmp 0x18002f5b3
mov r11, qword [rsi]
cmp r12, qword [r11 + 0x20]
jb 0x18002f5be
call fcn.180058f08
add rdi, 0x28
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
jmp 0x18002f50d
mov ebx, 1
jmp 0x18002f5da
jmp 0x18002f5da
lea rcx, [rsp + 0x20]
call fcn.180007c10
mov rcx, qword [rsp + 0x20]
call fcn.180058b34
mov eax, ebx
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
Function at 0x18002f948
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x290
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, r8
mov r12d, edx
mov rdi, rcx
xor r13d, r13d
cmp rcx, r13
je 0x18002faf7
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, r13d
je 0x18002faf7
mov ebp, r13d
mov word [rsp + 0x70], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x72]
call fcn.180059db0
call fcn.180002f84
mov dword [rsp + 0x20], eax
mov r9, rdi
lea r8, str._s._08x
mov edx, 0x104
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov rcx, rdi
call fcn.18002f21c
lea r14d, [r13 + 1]
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.18002e43c
nop
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x18002fa31
lea rcx, [rsp + 0x30]
call fcn.180031e74
mov rcx, qword [rsp + 0x30]
call fcn.180058b34
jmp 0x18002fac8
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.1800375bc
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.180031e74
mov rcx, qword [rsp + 0x30]
call fcn.180058b34
cmp ebx, r13d
je 0x18002fac8
mov ebx, r13d
mov r8d, r14d
mov rdx, rdi
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp eax, r13d
jne 0x18002fa89
mov r8d, r14d
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.18002f10c
jmp 0x18002fa8c
mov eax, r14d
cmp eax, r13d
jne 0x18002faa6
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add ebx, r14d
cmp ebx, 5
jl 0x18002fa61
jmp 0x18002fac8
mov ebp, r14d
mov edx, 2
cmp r12d, edx
jne 0x18002fac8
mov rcx, rdi
call fcn.18002f608
cmp eax, r13d
je 0x18002fac8
cmp rsi, r13
je 0x18002fac8
mov dword [rsi], r14d
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp r12d, r14d
jne 0x18002faf3
mov edx, r14d
mov rcx, rdi
call fcn.18002f608
cmp eax, r13d
je 0x18002faf3
mov ebp, r14d
cmp rsi, r13
je 0x18002faf3
mov dword [rsi], r14d
mov eax, ebp
jmp 0x18002faf9
xor eax, eax
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.180059760
add rsp, 0x290
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret

Function at 0x180033ed4
Capabilities:
Print debug messages

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x20], r9
sub rsp, 0x838
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x820], rax
mov r8, rcx
lea r9, [r11 + 0x10]
lea rcx, [rsp + 0x20]
mov edx, 0x800
call qword [sym.imp.SHLWAPI.dll_wvnsprintfA]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [rsp + 0x820]
xor rcx, rsp
call fcn.180059760
add rsp, 0x838
ret
Function at 0x180033f3c
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r9
mov eax, 0x1038
call fcn.18006dc60
sub rsp, rax
mov rax, qword [0x1800a1628]
xor rax, rsp
mov qword [rsp + 0x1020], rax
mov r8, rcx
lea r9, [rsp + 0x1048]
lea rcx, [rsp + 0x20]
mov edx, 0x800
call qword [sym.imp.SHLWAPI.dll_wvnsprintfW]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call fcn.180059760
add rsp, 0x1038
ret

Function at 0x1800341d4
Capabilities:
Encode data using xor
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
push r12
push r13
sub rsp, 0x50
and dword [rsp + 0x30], 0
mov rsi, rdx
mov rbx, rcx
xor eax, eax
lea rdx, [rsp + 0x34]
mov rcx, rsi
mov rdi, r8
mov dword [rsp + 0x34], eax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, 0x1000
mov dword [rsp + 0x30], eax
cmp qword [rsp + 0x30], r13
jb 0x18003437b
and dword [rsp + 0x88], 0
and dword [rsp + 0x40], 0
and dword [rsp + 0x4c], 0
mov r12d, 1
lea r8, [rsp + 0x4c]
xor edx, edx
mov rcx, rsi
mov r9d, r12d
mov qword [rsp + 0x38], rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov dword [rsp + 0x48], eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x88]
mov r8d, r13d
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180034358
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test rdi, rdi
je 0x18003429a
mov eax, dword [rbx + 8]
mov dword [rdi], eax
movabs rax, 0x706c646f70bfbbef
cmp qword [rbx], rax
jne 0x180034358
cmp dword [rbx + 8], 2
je 0x1800342bd
cmp dword [rbx + 8], 3
jne 0x180034358
mov ecx, dword [rbx + 0x18c]
mov edx, 0x190
imul ecx, ecx, 0x343fd
add ecx, 0x269ec3
mov eax, ecx
shr eax, 0x10
xor byte [rdx + rbx], al
add rdx, r12
cmp rdx, r13
jl 0x1800342c8
cmp byte [rbx + 0x4a3], 0
jne 0x18003432f
cmp dword [rbx + 0x1a0], 0x40
ja 0x18003432f
mov eax, 0x270f
cmp word [rbx + 0x190], ax
ja 0x18003432f
movzx eax, word [rbx + 0x192]
cmp ax, r12w
jb 0x18003432f
cmp ax, 0xc
ja 0x18003432f
movzx eax, word [rbx + 0x196]
cmp ax, r12w
jb 0x18003432f
cmp ax, 0x1f
ja 0x18003432f
mov ebx, r12d
jmp 0x180034331
xor ebx, ebx
cmp dword [rsp + 0x40], 0
jne 0x180034354
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x4c]
xor r9d, r9d
mov dword [rsp + 0x40], r12d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, ebx
jmp 0x18003437d
cmp dword [rsp + 0x40], 0
jne 0x18003437b
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x4c]
xor r9d, r9d
mov dword [rsp + 0x40], r12d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop r13
pop r12
pop rdi
ret