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

Disassembly:
sub esp, 0x620
mov eax, dword [0x4630b0]
xor eax, esp
mov dword [esp + 0x61c], eax
mov eax, dword [0x464a98]
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
push esi
xor esi, esi
cmp eax, esi
mov ebx, eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], ebx
jle 0x415ee5
mov ecx, dword [0x464bc0]
mov edx, eax
mov edi, edi
cmp dword [ecx], 9
je 0x415e58
sub ebx, 1
add ecx, 0x1008
sub edx, 1
jne 0x415e50
cmp ebx, eax
mov dword [esp + 0x14], ebx
jge 0x415ee5
cmp ebx, 1
jge 0x415eae
push esi
push 0x45354b
lea eax, [esp + 0x24]
push eax
push 0xb9
call fcn.00406330
mov ecx, dword [0x465298]
add esp, 8
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x61c]
xor ecx, esp
call fcn.0043b3fc
add esp, 0x620
ret
push eax
push ebx
lea edx, [esp + 0x32c]
push edx
push 0xba
call fcn.00406330
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call ebp
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.00406520
add esp, 0x18
cmp eax, 6
jne 0x41608e
push ebx
lea edx, [esp + 0x328]
push edx
push 0xbb
call fcn.00406330
add esp, 8
push eax
lea eax, [esp + 0x24]
push eax
call ebp
mov eax, dword [0x46529c]
push esi
push 0x453b2c
push esi
push esi
lea ecx, [esp + 0x138]
push ecx
lea edx, [esp + 0x3c]
push edx
push 1
push eax
call fcn.004073e0
add esp, 0x2c
test eax, eax
jne 0x41608e
lea ecx, [esp + 0x220]
push 0x2e
push ecx
call fcn.0043b5f0
add esp, 8
cmp eax, esi
je 0x415f5b
add eax, 1
push 0x453b28
push eax
call fcn.0044f18a
add esp, 8
test eax, eax
je 0x415f80
lea eax, [esp + 0x11c]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x415f65
mov edx, dword [0x453770]
mov cl, byte [0x453774]
mov dword [eax], edx
mov byte [eax + 4], cl
lea edx, [esp + 0x11c]
push edx
call fcn.0040a6d0
add esp, 4
test eax, eax
je 0x415fd4
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x20]
push ecx
push 0xc1
call fcn.00406330
add esp, 8
push eax
lea edx, [esp + 0x32c]
push edx
call ebp
lea eax, [esp + 0x330]
push 4
push eax
call fcn.00406520
add esp, 0x14
cmp eax, 6
jne 0x415ee5
push edi
lea ecx, [esp + 0x528]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [esp + 0x224]
push edx
push esi
push 0x453b24
lea eax, [esp + 0x534]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea ecx, [esp + 0x120]
push 0x1000
push ecx
call fcn.0040a5e0
mov edi, eax
add esp, 8
cmp edi, esi
mov dword [esp + 0x14], edi
jge 0x4160a6
push esi
push 0x45354b
lea edx, [esp + 0x28]
push edx
push 0xbc
call fcn.00406330
add esp, 8
push eax
mov eax, dword [0x465298]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp edi, 0xffffffff
mov dword [esp + 0x10], 1
jle 0x416062
push edi
call fcn.0040a630
add esp, 4
cmp byte [esp + 0x224], 0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
je 0x41607d
lea edx, [esp + 0x220]
push edx
call esi
cmp dword [esp + 0xc], 0
je 0x41608e
lea eax, [esp + 0x11c]
push eax
call esi
mov ecx, dword [esp + 0x628]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043b3fc
add esp, 0x620
ret
xor eax, eax
mov dword [esp + 0x20], eax
push 8
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], eax
mov al, 0x49
push ecx
push edi
mov byte [esp + 0x2c], al
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], 0x2a
call fcn.0040a6a0
add esp, 0xc
cmp eax, 8
jne 0x41604c
cmp dword [0x464a98], esi
mov dword [esp + 0x1c], 4
jle 0x416172
mov eax, dword [0x464bc0]
xor edi, edi
cmp dword [edi + eax], 9
jne 0x41615d
cmp dword [edi + eax + 0xa10], 0
lea ebx, [edi + eax + 0xa10]
jne 0x416117
push esi
call fcn.00412240
add esp, 4
test eax, eax
jne 0x416190
mov eax, dword [ebx]
lea edx, [esp + 0x224]
push edx
push eax
call fcn.0041e9f0
add esp, 8
test eax, eax
jne 0x4161d6
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x224]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
call fcn.0041efd0
add esp, 0xc
test eax, eax
jne 0x41621c
mov eax, dword [0x464bc0]
mov ebx, dword [esp + 0x18]
add esi, 1
add edi, 0x1008
cmp esi, dword [0x464a98]
jl 0x4160f3
mov edi, dword [esp + 0x14]
push edi
call fcn.0040a630
add esp, 4
test eax, eax
je 0x416261
mov dword [esp + 0x10], 1
jmp 0x416062
add esi, 1
push esi
lea ecx, [esp + 0x32c]
push ecx
push 0xbd
call fcn.00406330
add esp, 8
push eax
lea edx, [esp + 0x28]
push edx
call ebp
mov ecx, dword [0x465298]
add esp, 0xc
push 0
push 0x45354b
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [esp + 0x14]
jmp 0x41604c
add esi, 1
push esi
lea edx, [esp + 0x32c]
push edx
push 0xbe
call fcn.00406330
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call ebp
mov edx, dword [0x465298]
add esp, 0xc
push 0
push 0x45354b
lea ecx, [esp + 0x28]
push ecx
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [esp + 0x14]
jmp 0x41604c
add esi, 1
push esi
lea eax, [esp + 0x32c]
push eax
push 0xbf
call fcn.00406330
add esp, 8
push eax
lea ecx, [esp + 0x28]
push ecx
call ebp
mov eax, dword [0x465298]
add esp, 0xc
push 0
push 0x45354b
lea edx, [esp + 0x28]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov edi, dword [esp + 0x14]
jmp 0x41604c
push ebx
lea ecx, [esp + 0x32c]
push ecx
push 0xc0
call fcn.00406330
add esp, 8
push eax
lea edx, [esp + 0x28]
push edx
call ebp
mov ecx, dword [0x465298]
add esp, 0xc
push 0
push 0x45354b
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x416062