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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x448
push edi
mov dword [ebp - 0x238], 0
mov eax, dword [0x41a858]
push eax
push 0
push str.pftw
mov ecx, dword [0x41a8b4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov edx, dword [0x41a858]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x7e
push 0x2e
mov eax, dword [0x41a858]
push eax
call fcn.00403cf4
add esp, 0xc
mov ecx, dword [0x41a858]
push ecx
call fcn.004018cb
add esp, 4
push 0x416218
mov edx, dword [0x41a858]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x104
lea eax, [ebp - 0x10c]
push eax
call fcn.00406673
add esp, 8
push 0x100
push 0
lea ecx, [ebp - 0x10c]
push ecx
call fcn.004015ca
add esp, 0xc
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0xffffffff
jne 0x403de1
mov eax, 5
jmp 0x404150
push 0x40000
call fcn.0040de90
add esp, 4
mov dword [ebp - 0x110], eax
mov edx, dword [0x41a8c8]
mov dword [ebp - 0x234], edx
push 0
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.00401719
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x403f23
mov byte [ebp - 0x33c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x33b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x405
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
push eax
push 0x41621c
lea ecx, [ebp - 0x33c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [ebp - 0x340], 0
je 0x403ee4
cmp dword [0x41a854], 0
je 0x403eb6
push 0x104
lea edx, [ebp - 0x33c]
push edx
push 0x405
push str.Dialog1005
call fcn.00401a3d
add esp, 0x10
test eax, eax
je 0x403eb6
lea eax, [ebp - 0x33c]
push eax
mov ecx, dword [ebp - 0x340]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x403ee4
push 0x104
lea edx, [ebp - 0x444]
push edx
push 0x33
mov eax, dword [0x41a8ec]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [ebp - 0x444]
push ecx
mov edx, dword [ebp - 0x340]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x41a880]
shr eax, 0x12
and eax, 0xffff
shl eax, 0x10
push eax
push 0
push 0x401
push 0x3f0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0
push 1
push 0x404
push 0x3f0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov dword [ebp - 0x21c], 0
jmp 0x403f3e
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [0x41a8c4]
jge 0x40412c
mov edx, dword [ebp - 0x21c]
add edx, 1
push edx
mov eax, dword [0x41a858]
push eax
push 0x41622c
lea ecx, [ebp - 0x214]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x180
push 0x101
lea edx, [ebp - 0x214]
push edx
call fcn.004015ca
add esp, 0xc
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0xffffffff
jne 0x403fc3
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.0040170a
add esp, 4
mov eax, 6
jmp 0x404150
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x419340]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 8], edx
mov dword [ebp - 0x230], 0
cmp dword [ebp - 8], 0
je 0x4040b0
cmp dword [0x419324], 0
jne 0x4040b0
cmp dword [ebp - 8], 0x40000
jbe 0x404016
mov dword [ebp - 0x448], 0x40000
jmp 0x40401f
mov eax, dword [ebp - 8]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.004016c4
add esp, 0xc
mov dword [ebp - 0x228], eax
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
call fcn.004016e7
add esp, 0xc
push 0
call fcn.00401442
add esp, 4
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x230]
add eax, dword [ebp - 0x228]
mov dword [ebp - 0x230], eax
push 0
push 0
push 0x405
push 0x3f0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x403fea
mov edx, dword [ebp - 0x220]
push edx
call fcn.0040170a
add esp, 4
cmp dword [0x419324], 0
jne 0x4040f0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [0x419340]
mov edx, dword [ebp - 0x230]
cmp edx, dword [ecx + eax*4]
je 0x4040f0
mov dword [0x41931c], 1
mov eax, 0x145
jmp 0x404150
lea eax, [ebp - 0x214]
push eax
call fcn.004077e4
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [0x419344]
mov eax, dword [ebp - 4]
cmp eax, dword [edx + ecx*4]
je 0x404127
mov dword [0x41931c], 1
mov eax, 2
jmp 0x404150
jmp 0x403f2f
mov ecx, dword [ebp - 0x218]
push ecx
call fcn.0040170a
add esp, 4
mov edx, dword [ebp - 0x110]
push edx
call fcn.0040df40
add esp, 4
mov eax, dword [ebp - 0x238]
pop edi
mov esp, ebp
pop ebp
ret