Function at 0x180008890
Capabilities:
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x80048
call fcn.18003d470
sub rsp, rax
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rsi, rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x23be
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r9d, dword [rsi + 0x1c]
mov r8d, dword [rsi + 0x18]
mov edx, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
call fcn.180008640
mov r14, rax
lea rcx, [rsp + 0x80098]
call fcn.18001af80
nop
xor r15d, r15d
mov qword [rsp + 0x40], r15
xor edx, edx
mov r8d, 0x7fff0
lea rcx, [rsp + 0x48]
call sub.MSVCR100.dll_memset
mov r12d, r15d
nop dword [rax]
mov ecx, r15d
mov rdi, r15
cmp qword [rsi + 0x60], rcx
jle 0x180008a9d
test rdi, rdi
js 0x180008aca
cmp rdi, qword [rsi + 0x60]
jge 0x180008aca
mov rax, qword [rsi + 0x58]
mov rbp, qword [rax + rdi*8]
test rbp, rbp
jne 0x180008953
inc ecx
inc rdi
movsxd rax, ecx
cmp rax, qword [rsi + 0x60]
jl 0x180008920
jmp 0x180008a9d
cmp rdi, qword [rsi + 0x60]
jge 0x180008ac3
mov qword [rax + rdi*8], r15
cmp dword [rsi + 0x7c], 0xfffffffe
je 0x180008ad1
mov eax, dword [rsi + 0x1c]
imul eax, dword [rsi + 0x18]
lea eax, [rax + rax*2]
movsxd rcx, eax
call qword [sym.imp.MSVCR100.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__]
mov r13, rax
mov ecx, dword [r14 + 0xc]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov r8d, dword [r14 + 8]
mov rdx, rbp
mov rcx, qword [r14]
call qword [sym.imp.ca_core.dll_Ordinal_9]
lea rcx, [rsp + 0x80090]
call qword [sym.imp.mfc100.dll_Ordinal_316]
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, eax
mov r8, qword [rsp + 0x80098]
lea rdx, str._sgif_d.bmp
lea rcx, [rsp + 0x80090]
call qword [sym.imp.mfc100.dll_Ordinal_4124]
lea r11, [rsp + 0x800a0]
mov qword [rsp + 0x800a8], r11
lea rdx, [rsp + 0x80090]
lea rcx, [rsp + 0x800a0]
call qword [sym.imp.mfc100.dll_Ordinal_300]
mov rbx, rax
lea rdx, [0x180041f02]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc100.dll_Ordinal_310]
nop
mov qword [rsp + 0x20], rbx
mov r9d, dword [rsi + 0x1c]
mov r8d, dword [rsi + 0x18]
mov rdx, rax
mov rcx, r13
call fcn.180007a70
test eax, eax
je 0x180008a6f
mov r8d, dword [rsi + 0x1c]
mov edx, dword [rsi + 0x18]
mov rcx, qword [rsp + 0x80090]
call qword [sym.imp.gifenc.dll_Ordinal_4]
mov qword [rsp + rdi*8 + 0x40], rax
inc r12d
cvttsd2si r9, qword [rsi + 0x48]
mov edx, 0x23be
mov r8d, 2
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.USER32.dll_PostMessageA]
mov rcx, qword [rsp + 0x80090]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_]
mov rcx, rbp
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_]
cmp r12d, 0xffff
jge 0x180008ab3
lea rcx, [rsp + 0x80090]
call qword [sym.imp.mfc100.dll_Ordinal_889]
jmp 0x180008910
cmp dword [rsi + 0x7c], 0xffffffff
je 0x180008ad1
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x180008910
lea rcx, [rsp + 0x80090]
call qword [sym.imp.mfc100.dll_Ordinal_889]
jmp 0x180008ad1
call qword [sym.imp.mfc100.dll_Ordinal_2022]
int3
call qword [sym.imp.mfc100.dll_Ordinal_2022]
int3
mov rcx, qword [r14]
call qword [sym.imp.ca_core.dll_Ordinal_5]
mov rcx, r14
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
cmp dword [rsi + 0x7c], 0xffffffff
je 0x180008aee
jmp 0x180008b7e
test r12d, r12d
jne 0x180008af8
jmp 0x180008b7e
mov eax, 0x3e8
cdq
idiv dword [rsi + 8]
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
mov r8, qword [rsi + 0x10]
mov edx, r12d
lea rcx, [rsp + 0x40]
call qword [sym.imp.gifenc.dll_Ordinal_3]
test r12d, r12d
jle 0x180008b48
lea rbx, [rsp + 0x40]
mov edi, r12d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
add rbx, 8
dec rdi
jne 0x180008b36
mov dword [rsi + 0x7c], r15d
lea rcx, [rsi + 0x50]
or r8, 0xffffffffffffffff
xor edx, edx
call qword [sym.imp.mfc100.dll_Ordinal_12357]
xor r9d, r9d
mov edx, 0x23be
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r11, qword [rsi + 0x38]
test r11, r11
je 0x180008b7e
mov dword [r11], r15d
lea rcx, [rsp + 0x80098]
call qword [sym.imp.mfc100.dll_Ordinal_889]
add rsp, 0x80048
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret