joyce8/EMBER2024-capa huggingface dataset:
Function at 0x18001cf20
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x490
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x480], rax
mov r15, r9
mov rsi, r8
mov rbx, rdx
xor r14d, r14d
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x70], r14
xor edx, edx
lea r8d, [r14 + 0x60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x18001cfae
xor edx, edx
lea r8d, [r14 + 2]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x18001cfae
call fcn.18001c320
mov ebx, eax
jmp 0x18001d0d0
mov r8, r15
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x18001cfcf
call fcn.18001c320
jmp 0x18001d0bf
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x18001cff2
call fcn.18001c320
jmp 0x18001d0bf
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov dword [rsp + 0x30], eax
inc eax
cmp eax, ebx
jae 0x18001d014
mov ebx, 0x8007000e
jmp 0x18001d0c1
mov ecx, eax
test eax, eax
je 0x18001d049
xor edx, edx
mov rax, 0xffffffffffffffff
div rcx
cmp rax, 2
jb 0x18001d108
lea rdx, [rcx + rcx]
cmp rdx, 0x400
jbe 0x18001d049
lea rcx, [rsp + 0x70]
call fcn.1800203a0
jmp 0x18001d053
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
jmp 0x18001d066
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x18001d077
mov ebx, 0x8007000e
jmp 0x18001d0c1
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, rsi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x18001d09c
call fcn.18001c320
jmp 0x18001d0bf
mov ecx, eax
mov rax, qword [rsp + 0x70]
mov word [rax + rcx*2], r14w
mov r8d, dword [rsp + 0x4e0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x48]
call fcn.18001ded0
mov ebx, eax
test rdi, rdi
je 0x18001d0d0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
lea rax, [rsp + 0x78]
cmp qword [rsp + 0x70], rax
je 0x18001d0e7
lea rcx, [rsp + 0x70]
call fcn.180020390
nop
mov eax, ebx
mov rcx, qword [rsp + 0x480]
xor rcx, rsp
call fcn.180388400
add rsp, 0x490
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
mov ecx, 0x80070216
call fcn.180018d10
int3
Function at 0x180021bd0
Capabilities:
Log keystrokes via input method manager
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, qword [rcx + 0x48]
xor al, al
mov rsi, rdx
mov rdi, rcx
test rbx, rbx
je 0x180021c18
mov rcx, qword [rbx + 0x610]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x180021c16
mov rcx, qword [rbx + 0x610]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x180021c16
mov al, 1
jmp 0x180021c18
xor al, al
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x180021c3c
test al, al
jne 0x180021c3c
mov rdx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.180263dd0
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x180024ca0
Capabilities:
Log keystrokes via input method manager
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x180024cd3
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
je 0x180024cd3
mov eax, 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x180024cee
mov rdx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.180263dd0
mov rbx, qword [rsp + 0x30]
xor eax, eax
add rsp, 0x20
pop rdi
ret
Function at 0x180027380
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xb8], rbx
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rbp - 8], rax
mov esi, r8d
mov rbx, rdx
mov r14, rcx
mov rcx, rdx
call fcn.180156070
test al, al
je 0x1800275af
call fcn.180200540
cmp qword [rax], 0
jne 0x1800273d9
mov rcx, rax
call fcn.180200650
xor edx, edx
call fcn.180200730
mov rdi, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800273ed
mov rdi, qword [rbx]
xor r15d, r15d
test rdi, rdi
je 0x18002742a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x18002742a
test al, 0x10
jne 0x18002742a
call fcn.180160f70
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.1801610a0
test al, al
jne 0x180027527
mov rdx, rdi
call fcn.1802007d0
mov rax, r15
mov qword [r14 + 0x38], rax
mov dl, 1
call fcn.180200730
mov rax, qword [r14 + 0x38]
test rax, rax
jne 0x1800275ac
mov edx, esi
lea rcx, [rbp - 0x28]
call fcn.180163430
nop
cmp qword [rbp - 0x18], 0
je 0x180027551
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x38], r15
mov edi, 7
mov qword [rbp - 0x30], rdi
mov word [rbp - 0x48], r15w
call fcn.180160f70
mov rsi, rax
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
jb 0x180027492
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x1800274ed
lea r8, [rbp - 0x48]
mov rcx, rsi
call fcn.180161b20
cmp qword [rbp - 0x38], 0
je 0x1800274e9
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae r8, qword [rbp - 0x48]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800274c0
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1801610a0
test al, al
je 0x1800274e9
cmp qword [rbx + 0x18], 8
jb 0x1800274d6
mov rbx, qword [rbx]
xor edx, edx
lea r8d, [rdx + 8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [r14 + 0x38], rax
mov rdi, qword [rbp - 0x30]
cmp rdi, 8
jb 0x180027540
lea rdx, [rdi*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002753b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002753b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor edx, edx
lea r8d, [rdx + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
jmp 0x18002742d
call fcn.180388460
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r15w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x180027594
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002758f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002758f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r15w
mov rax, qword [r14 + 0x38]
test rax, rax
setne al
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x18002b790
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x18002b7c7
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov rsi, rbx
mov r9, qword [rax]
test r9, r9
je 0x18002b7e8
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax]
jmp 0x18002b7ea
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x18002b843
test ecx, ecx
jle 0x18002b81e
cmp rbx, rbp
mov rcx, r9
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x58]
add r14, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x40]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x18002b843
mov r9, qword [rdi + 0x80]
test r9, r9
je 0x18002b843
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
sub rbx, rax
mov rbp, qword [rsp + 0x30]
sub rsi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x18002b870
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
cmp qword [rcx + 0x68], 0
mov rbx, r8
mov r14, rdx
mov rdi, rcx
je 0x18002b8a7
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov rsi, rbx
mov rdx, qword [rax]
test rdx, rdx
je 0x18002b8c8
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x18002b8ca
xor ecx, ecx
movsxd rbp, ecx
test rbx, rbx
jle 0x18002b930
test ecx, ecx
jle 0x18002b8fe
cmp rbx, rbp
mov rcx, r14
cmovl rbp, rbx
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x50]
add r14, rbp
sub rbx, rbp
sub dword [rax], ebp
mov rcx, qword [rdi + 0x38]
movsxd rax, ebp
add qword [rcx], rax
test rbx, rbx
jle 0x18002b930
cmp qword [rdi + 0x80], 0
je 0x18002b930
mov rcx, rdi
call fcn.18002c060
mov r9, qword [rdi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
mov rbp, qword [rsp + 0x30]
sub rsi, rbx
mov rbx, qword [rsp + 0x40]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x18002bd80
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov edi, edx
mov rbx, rcx
cmp edx, 0xffffffff
jne 0x18002bdad
xor eax, eax
jmp 0x18002bf02
mov rdx, qword [rcx + 0x40]
mov rax, qword [rdx]
test rax, rax
je 0x18002bdd8
mov rdx, qword [rcx + 0x58]
movsxd r8, dword [rdx]
add r8, rax
cmp rax, r8
jae 0x18002bdd8
call qword [sym.imp.MSVCP140.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pninc_void____ptr64]
mov byte [rax], dil
mov eax, edi
jmp 0x18002bf02
cmp qword [rcx + 0x80], 0
mov qword [rsp + 0xa0], rsi
je 0x18002bef5
mov r8, qword [rcx + 0x18]
lea rax, [rcx + 0x70]
cmp qword [r8], rax
jne 0x18002be1b
mov rdx, qword [rcx + 0x90]
mov rcx, qword [rcx + 0x88]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rbx + 0x38]
mov qword [rax], rcx
mov rax, qword [rbx + 0x50]
mov dword [rax], edx
mov rcx, qword [rbx + 0x68]
test rcx, rcx
jne 0x18002be46
mov rdx, qword [rbx + 0x80]
movsx ecx, dil
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x18002befa
lea rax, [rsp + 0x48]
mov byte [rsp + 0x40], dil
mov qword [rsp + 0x38], rax
lea rdx, [rbx + 0x74]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x41]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x40]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet____ptr64__char_const____ptr64__char_const____ptr64__char_const____ptr64____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
js 0x18002bef5
cmp eax, 1
jle 0x18002beb5
cmp eax, 3
jne 0x18002bef5
movsx ecx, byte [rsp + 0x40]
mov rdx, qword [rbx + 0x80]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
mov ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, edi
mov eax, ecx
jmp 0x18002befa
mov rsi, qword [rsp + 0x48]
lea rax, [rsp + 0x58]
sub rsi, rax
je 0x18002bee3
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rsi, rax
jne 0x18002bef5
lea rax, [rsp + 0x40]
mov byte [rbx + 0x71], 1
cmp qword [rsp + 0x50], rax
mov eax, edi
jne 0x18002befa
mov eax, 0xffffffff
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret
Function at 0x18002c090
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x18002c13c
cmp byte [rcx + 0x71], 0
je 0x18002c13c
mov rax, qword [rcx]
mov edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x18002c0fd
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x18002c101
sub eax, 1
je 0x18002c105
sub eax, 2
je 0x18002c13c
xor al, al
jmp 0x18002c13e
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x18002c133
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x18002c0fd
cmp byte [rbx + 0x71], 0
sete al
jmp 0x18002c13e
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
Function at 0x18002e120
Capabilities:
Hide graphical window

Disassembly:
push rdi
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, rcx
cmp dword [rdx + 0x10], 1
jne 0x18002e32d
mov eax, dword [rdx + 0x18]
cmp eax, 0x1b8
jne 0x18002e223
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1803e8780]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov r8d, 3
lea rdx, [0x1803c2f08]
lea rcx, [rsp + 0x30]
call fcn.180005220
nop
lea rcx, [rsp + 0x30]
call fcn.180007750
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18002e1dd
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002e1d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002e1d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8780]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
call fcn.18002e530
xor edx, edx
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_ShowWindow]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x537
mov rcx, qword [rdi + 0xf0]
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x18002e339
cmp eax, 0x1b9
jne 0x18002e32d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1803e8780]
movdqu xmmword [rsp + 0x40], xmm1
mov byte [rsp + 0x30], 0
mov r8d, 3
lea rdx, [0x1803c2f0c]
lea rcx, [rsp + 0x30]
call fcn.180005220
nop
lea rcx, [rsp + 0x30]
call fcn.180007750
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18002e2ad
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002e2a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002e2a8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8780]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rcx, qword [rdi + 0xf8]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rbx, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x18002e2e3
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx]
nop
test rbx, rbx
jne 0x18002e2ed
lea eax, [rbx + 1]
jmp 0x18002e339
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x28]
xor edx, edx
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_ShowWindow]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x537
mov rcx, qword [rdi + 0xf0]
call qword [sym.imp.USER32.dll_PostMessageW]
nop
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov eax, 1
jmp 0x18002e339
mov dword [rcx + 0xe8], 0
xor eax, eax
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret
Function at 0x18002fc20
Capabilities:
Move file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov r14, rcx
lea rbx, [rcx + 0x90]
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x18002fc6c
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002fc6c
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rax, qword [r14]
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x48]
test eax, eax
jne 0x18002fd36
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x18002fc98
mov rdx, qword [rsi]
cmp qword [rdi + 0x18], 8
jb 0x18002fca2
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x18002fd36
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.180157a30
nop
mov ecx, dword [rsp + 0x20]
lea rdx, [rcx + rcx*8]
mov rcx, qword [r14 + 0x48]
lea rcx, [rcx + rdx*8]
mov rdx, rax
call fcn.18015eaf0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x18002fd1f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002fd1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002fd1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8770]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], bp
mov edi, ebp
jmp 0x18002fd3b
mov edi, 1
test rbx, rbx
je 0x18002fd53
mov rcx, qword [rbx]
test rcx, rcx
je 0x18002fd4e
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x28], rbp
mov eax, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180388400
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18003a360
Capabilities:
Move file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x60
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rsi, r8
mov rdi, rdx
mov r14, rcx
lea rbx, [rcx + 0x88]
mov qword [rsp + 0x28], rbx
test rbx, rbx
je 0x18003a3ac
mov rcx, qword [rbx]
test rcx, rcx
je 0x18003a3ac
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rax, qword [r14]
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, r14
call qword [rax + 0x48]
test eax, eax
jne 0x18003a476
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x18003a3d8
mov rdx, qword [rsi]
cmp qword [rdi + 0x18], 8
jb 0x18003a3e2
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x18003a476
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.180157a30
nop
mov ecx, dword [rsp + 0x20]
lea rdx, [rcx + rcx*8]
mov rcx, qword [r14 + 0x40]
lea rcx, [rcx + rdx*8]
mov rdx, rax
call fcn.18015eaf0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x18003a45f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003a45a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003a45a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8770]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], bp
mov edi, ebp
jmp 0x18003a47b
mov edi, 1
test rbx, rbx
je 0x18003a493
mov rcx, qword [rbx]
test rcx, rcx
je 0x18003a48e
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x28], rbp
mov eax, edi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180388400
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
Function at 0x18003bc20
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0x480
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x4b0], rbx
mov rax, qword [0x1804cd010]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.180155f30
test al, al
jne 0x18003bc6b
mov eax, 1
jmp 0x18003be7c
lea rbx, [rsi + 0x18]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x18003bc7c
mov rcx, qword [rbx]
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x18003bc89
mov r8, qword [rdi]
lea r14, [rdi + 0x10]
mov rdx, qword [r14]
cmp rdx, qword [rbx + 0x10]
jne 0x18003bcc2
test rdx, rdx
je 0x18003bcb4
sub r8, rcx
nop
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x18003bcc2
add rcx, 2
sub rdx, 1
jne 0x18003bca0
mov rax, qword [rsi + 0x48]
cmp qword [rsi + 0x40], rax
jne 0x18003be7a
mov dword [rsi + 0x3c], 0xffffffff
cmp qword [r14], 0
je 0x18003bce5
mov rcx, rdi
call fcn.1801561c0
test al, al
jne 0x18003bce5
mov eax, 0x80004005
jmp 0x18003be7c
cmp rbx, rdi
je 0x18003bd02
cmp qword [rdi + 0x18], 8
jb 0x18003bcf4
mov rdi, qword [rdi]
mov r8, qword [r14]
mov rdx, rdi
mov rcx, rbx
call fcn.180004ea0
lea rcx, [rsi + 0x40]
call fcn.1800320e0
cmp qword [rsi + 0x28], 0
jne 0x18003be6b
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
movdqa xmm1, xmmword [0x1803e8770]
movdqu xmmword [rsp + 0x38], xmm1
xor edi, edi
mov word [rsp + 0x28], di
mov qword [rsp + 0x38], rdi
mov word [rsp + 0x28], di
xor edx, edx
mov r8d, 0x412
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x50]
mov ecx, 0x208
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
dec eax
cmp eax, 0x206
ja 0x18003bdc2
mov word [rsp + 0x460], di
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18003bd80
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.180004ea0
lea rax, [rsp + 0x28]
cmp rbx, rax
je 0x18003bdc2
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
mov rcx, rbx
call fcn.180004ea0
cmp qword [rsi + 0x28], 0
je 0x18003be13
mov rax, rbx
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x18003bdd9
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp word [rax + rcx*2 - 2], 0x5c
je 0x18003be13
cmp rcx, rdx
jae 0x18003be04
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
cmp rdx, 8
jb 0x18003bdfb
mov rbx, qword [rbx]
mov dword [rbx + rcx*2], 0x5c
jmp 0x18003be13
mov r9d, 0x5c
mov rcx, rbx
call fcn.1800328a0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x18003be58
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003be53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003be53
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180388460
movdqa xmm0, xmmword [0x1803e8770]
movdqu xmmword [rsp + 0x38], xmm0
mov word [rsp + 0x28], di
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0xf0]
mov byte [rsi + 0x58], al
xor eax, eax
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.180388400
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x480
pop r14
pop rdi
pop rsi
ret
Function at 0x18007f7a0
Capabilities:
Get graphical window text

Disassembly:
push rbx
sub rsp, 0x60
cmp byte [rcx + 0x331], 0
lea rbx, [rcx - 0x40]
je 0x18007f809
mov rax, qword [rcx + 0x338]
mov qword [rsp + 0x70], rax
nop
xor r8d, r8d
mov dword [rsp + 0x20], 0x4ff
mov r9d, 0xffffffff
lea rdx, [rsp + 0x70]
lea ecx, [r8 + 1]
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, 1
jne 0x18007f809
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
lea rcx, [rsp + 0x30]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x18007f7c0
mov rcx, rbx
add rsp, 0x60
pop rbx
jmp fcn.18007dfa0