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

Disassembly:
sub esp, 0x620
mov eax, dword [0x4630e0]
xor eax, esp
mov dword [esp + 0x61c], eax
mov eax, dword [0x464ad8]
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 0x415c25
mov ecx, dword [0x464c00]
mov edx, eax
mov edi, edi
cmp dword [ecx], 9
je 0x415b98
sub ebx, 1
add ecx, 0x1008
sub edx, 1
jne 0x415b90
cmp ebx, eax
mov dword [esp + 0x14], ebx
jge 0x415c25
cmp ebx, 1
jge 0x415bee
push esi
push 0x45354b
lea eax, [esp + 0x24]
push eax
push 0xb9
call fcn.00406080
mov ecx, dword [0x4652d8]
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.0043b76b
add esp, 0x620
ret
push eax
push ebx
lea edx, [esp + 0x32c]
push edx
push 0xba
call fcn.00406080
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call ebp
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.00406270
add esp, 0x18
cmp eax, 6
jne 0x415dce
push ebx
lea edx, [esp + 0x328]
push edx
push 0xbb
call fcn.00406080
add esp, 8
push eax
lea eax, [esp + 0x24]
push eax
call ebp
mov eax, dword [0x4652dc]
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.00407130
add esp, 0x2c
test eax, eax
jne 0x415dce
lea ecx, [esp + 0x220]
push 0x2e
push ecx
call fcn.0043afd0
add esp, 8
cmp eax, esi
je 0x415c9b
add eax, 1
push 0x453b28
push eax
call fcn.0044fb2e
add esp, 8
test eax, eax
je 0x415cc0
lea eax, [esp + 0x11c]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x415ca5
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.0040a420
add esp, 4
test eax, eax
je 0x415d14
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x20]
push ecx
push 0xc1
call fcn.00406080
add esp, 8
push eax
lea edx, [esp + 0x32c]
push edx
call ebp
lea eax, [esp + 0x330]
push 4
push eax
call fcn.00406270
add esp, 0x14
cmp eax, 6
jne 0x415c25
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.0040a330
mov edi, eax
add esp, 8
cmp edi, esi
mov dword [esp + 0x14], edi
jge 0x415de6
push esi
push 0x45354b
lea edx, [esp + 0x28]
push edx
push 0xbc
call fcn.00406080
add esp, 8
push eax
mov eax, dword [0x4652d8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp edi, 0xffffffff
mov dword [esp + 0x10], 1
jle 0x415da2
push edi
call fcn.0040a380
add esp, 4
cmp byte [esp + 0x224], 0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
je 0x415dbd
lea edx, [esp + 0x220]
push edx
call esi
cmp dword [esp + 0xc], 0
je 0x415dce
lea eax, [esp + 0x11c]
push eax
call esi
mov ecx, dword [esp + 0x628]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043b76b
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.0040a3f0
add esp, 0xc
cmp eax, 8
jne 0x415d8c
cmp dword [0x464ad8], esi
mov dword [esp + 0x1c], 4
jle 0x415eb2
mov eax, dword [0x464c00]
xor edi, edi
cmp dword [edi + eax], 9
jne 0x415e9d
cmp dword [edi + eax + 0xa10], 0
lea ebx, [edi + eax + 0xa10]
jne 0x415e57
push esi
call fcn.00411fa0
add esp, 4
test eax, eax
jne 0x415ed0
mov eax, dword [ebx]
lea edx, [esp + 0x224]
push edx
push eax
call fcn.0041e730
add esp, 8
test eax, eax
jne 0x415f16
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x224]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
call fcn.0041ed10
add esp, 0xc
test eax, eax
jne 0x415f5c
mov eax, dword [0x464c00]
mov ebx, dword [esp + 0x18]
add esi, 1
add edi, 0x1008
cmp esi, dword [0x464ad8]
jl 0x415e33
mov edi, dword [esp + 0x14]
push edi
call fcn.0040a380
add esp, 4
test eax, eax
je 0x415fa1
mov dword [esp + 0x10], 1
jmp 0x415da2
add esi, 1
push esi
lea ecx, [esp + 0x32c]
push ecx
push 0xbd
call fcn.00406080
add esp, 8
push eax
lea edx, [esp + 0x28]
push edx
call ebp
mov ecx, dword [0x4652d8]
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 0x415d8c
add esi, 1
push esi
lea edx, [esp + 0x32c]
push edx
push 0xbe
call fcn.00406080
add esp, 8
push eax
lea eax, [esp + 0x28]
push eax
call ebp
mov edx, dword [0x4652d8]
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 0x415d8c
add esi, 1
push esi
lea eax, [esp + 0x32c]
push eax
push 0xbf
call fcn.00406080
add esp, 8
push eax
lea ecx, [esp + 0x28]
push ecx
call ebp
mov eax, dword [0x4652d8]
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 0x415d8c
push ebx
lea ecx, [esp + 0x32c]
push ecx
push 0xc0
call fcn.00406080
add esp, 8
push eax
lea edx, [esp + 0x28]
push edx
call ebp
mov ecx, dword [0x4652d8]
add esp, 0xc
push 0
push 0x45354b
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x415da2