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

Disassembly:
push 0x430
mov eax, 0x1004ca4c
call fcn.10046f54
mov esi, ecx
mov dword [ebp - 0x430], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x434], eax
xor eax, eax
mov edi, 0x208
push edi
mov word [ebp - 0x428], ax
xor ebx, ebx
lea eax, [ebp - 0x426]
push ebx
push eax
call sub.MSVCR100.dll_memset
xor eax, eax
push edi
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call sub.MSVCR100.dll_memset
xor edx, edx
add esp, 0x18
or ebx, 0xffffffff
mov edi, edx
xor eax, eax
lea ecx, [ebp - 0x42c]
xchg dword [ecx], eax
push dword [esi + 0x24]
mov dword [ebp - 4], edx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x10044230
mov eax, dword [esi + 0x24]
jmp 0x1004426d
lea eax, [ebp - 0x428]
push eax
push 0x105
call dword [sym.imp.kernel32.dll_GetTempPathW]
test eax, eax
jne 0x10044267
call dword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x1004438d
and esi, 0xffff
or esi, 0x80070000
jmp 0x1004438d
lea eax, [ebp - 0x428]
lea ecx, [ebp - 0x21c]
push ecx
xor esi, esi
push esi
push 0x10009a18
push eax
call dword [sym.imp.kernel32.dll_GetTempFileNameW]
test eax, eax
je 0x10044246
xor eax, eax
push eax
push 0x100
push 3
push eax
push eax
push 0xc0000000
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.kernel32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x10044246
push 0xc
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x43c], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x100442d1
push 1
mov ecx, eax
call fcn.100446d2
mov edi, eax
xor eax, eax
jmp 0x100442d5
xor eax, eax
mov edi, eax
mov byte [ebp - 4], al
test edi, edi
jne 0x100442e6
mov esi, 0x8007000e
jmp 0x1004438d
push ebx
mov ecx, edi
call fcn.1002c790
mov esi, eax
test esi, esi
js 0x1004438d
lea ecx, [ebp - 0x21c]
or ebx, 0xffffffff
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10044306
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
test esi, esi
jns 0x10044323
mov esi, 0x80070057
jmp 0x1004438d
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.MSVCR100.dll_void____cdecl_operator_new___unsigned_int_
pop ecx
lea ecx, [ebp - 0x42c]
xchg dword [ecx], eax
cmp dword [ebp - 0x42c], 0
je 0x100442dc
lea eax, [ebp - 0x21c]
push eax
push esi
push dword [ebp - 0x42c]
call fcn.1002c790
mov esi, eax
test esi, esi
js 0x1004438d
xor eax, eax
lea ecx, [ebp - 0x42c]
xchg dword [ecx], eax
mov ecx, dword [ebp - 0x434]
mov dword [ecx], eax
mov eax, dword [ebp - 0x438]
xor ecx, ecx
mov dword [eax], edi
xor eax, eax
mov edi, ecx
mov word [ebp - 0x21c], ax
mov esi, ecx
push edi
call fcn.1002c790
pop ecx
test esi, esi
jns 0x100443c8
mov eax, dword [ebp - 0x434]
cmp dword [eax], 0
je 0x100443a7
push dword [eax]
jmp 0x100443ac
push 0x10009a20
mov eax, dword [ebp - 0x430]
push dword [eax + 0x24]
push esi
push 0xcd
push 0xfa2
call fcn.1003d20c
add esp, 0x14
cmp ebx, 0xffffffff
je 0x100443d4
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp word [ebp - 0x21c], 0
je 0x100443eb
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.kernel32.dll_DeleteFileW]
or dword [ebp - 4], 0xffffffff
xor eax, eax
lea ecx, [ebp - 0x42c]
xchg dword [ecx], eax
test eax, eax
je 0x10044404
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
mov eax, esi
call fcn.10046fd7
ret 8