Function at 0x30007c0b
Capabilities:
Delete file
Get common file path

Disassembly:
push 0x870
mov eax, 0x3000e54f
call fcn.3000b7af
mov eax, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0x834], eax
mov eax, dword [esi + 0x10]
inc dword [eax + 0x39c]
mov ecx, dword [esi + 0x10]
xor ebx, ebx
xor edi, edi
inc ebx
test byte [ecx + 0x1c], bl
mov dword [ebp - 0x844], edi
je 0x30007c51
cmp dword [ecx + 8], edi
je 0x30007c4b
cmp dword [esi + 0xc], edi
jne 0x30007c51
mov dword [ebp - 0x844], ebx
mov eax, dword [ebp - 0x844]
neg eax
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x10
or dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
test bl, al
mov dword [ebp - 0x83c], ebx
mov dword [ebp - 0x840], edi
jne 0x30007c98
push eax
movzx eax, word [esi + 0x20]
add ecx, 0x39c
push ecx
mov ecx, dword [esi + 0x14]
push eax
push dword [ebp - 0x834]
call fcn.3000a5b2
mov dword [ebp - 0x840], eax
cmp dword [0x300115d0], ebx
jne 0x30007cba
push dword [ebp - 0x834]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x840]
call fcn.3000b832
ret 4
lea eax, [ebp - 0x830]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x628]
push eax
push edi
push 0x30001c2c
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
push dword [esi + 0x1c]
mov eax, dword [esi + 0x10]
push dword [eax + 0x358]
mov ecx, dword [esi + 0x14]
push dword [eax + 0x354]
add eax, 0x228
push eax
lea eax, [ebp - 0x628]
push eax
push dword [ebp - 0x834]
call fcn.300094dd
cmp dword [ebp - 0x844], edi
mov dword [ebp - 0x838], eax
je 0x30007d2d
mov ecx, dword [esi + 0x14]
lea eax, [esi + 0x22]
push eax
call fcn.30009388
cmp dword [ebp - 0x838], edi
jl 0x30007e39
cmp dword [esi + 0x230], edi
je 0x30007def
mov eax, dword [esi + 0x10]
test byte [eax + 0x1c], bl
mov ecx, dword [esi + 0x18]
je 0x30007da4
mov word [ebp - 0x218], di
push dword [eax + 0x354]
lea eax, [ebp - 0x218]
push eax
lea eax, [esi + 0x22]
push eax
call fcn.30008f24
push dword [esi + 0x22c]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.3000726a
mov dword [ebp - 0x83c], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 4], edi
jmp 0x30007e09
mov word [ebp - 0x420], di
push dword [eax + 0x354]
lea eax, [ebp - 0x420]
push eax
call fcn.30008e86
push edi
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.3000726a
mov dword [ebp - 0x83c], eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 4], ebx
jmp 0x30007e09
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 4], 2
lea eax, [ebp - 0x860]
push eax
lea ecx, [esi + 4]
call fcn.300079ea
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push dword [ebp - 0x834]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x30007f4f
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esi + 0x230], edi
je 0x30007f17
mov eax, dword [esi + 0x10]
test byte [eax + 0x1c], bl
mov ecx, dword [esi + 0x18]
je 0x30007ec9
mov word [ebp - 0x218], di
push dword [eax + 0x354]
lea eax, [ebp - 0x218]
push eax
lea eax, [esi + 0x22]
push eax
call fcn.30008f24
push dword [esi + 0x22c]
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x834]
call fcn.3000726a
mov dword [ebp - 0x83c], eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 4], 3
lea eax, [ebp - 0x860]
push eax
lea ecx, [esi + 4]
call fcn.300079ea
lea ecx, [ebp - 0x860]
jmp 0x30007f45
mov word [ebp - 0x420], di
push dword [eax + 0x354]
lea eax, [ebp - 0x420]
push eax
call fcn.30008e86
push edi
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x834]
call fcn.3000726a
mov dword [ebp - 0x83c], eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x860]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [ebp - 4], 4
jmp 0x30007eb2
push dword [ebp - 0x834]
lea ecx, [ebp - 0x87c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x87c]
push eax
lea ecx, [esi + 4]
mov dword [ebp - 4], 5
call fcn.300079ea
lea ecx, [ebp - 0x87c]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp dword [ebp - 0x838], edi
jl 0x30007f89
cmp dword [ebp - 0x83c], edi
jne 0x30007f7d
cmp dword [esi + 0x230], edi
je 0x30007f73
mov dword [ebp - 0x838], 0xc6c8120e
jmp 0x30007f89
mov dword [ebp - 0x838], 0xc6c8120c
cmp dword [ebp - 0x838], edi
jge 0x30007cac
mov eax, dword [ebp - 0x838]
jmp 0x30007cb2