Function at 0x404a6d
Capabilities:
Delete file

Disassembly:
push 0x4c
mov eax, 0x4661d3
call fcn.00450dc6
mov ebx, ecx
mov dword [ebp - 0x30], ebx
mov edi, edx
xor esi, esi
mov dword [ebp - 4], esi
push 1
call fcn.004048d8
mov dword [ebp - 0x28], eax
cmp eax, esi
jge 0x404b44
mov dword [ebp - 0x50], esi
cmp edi, esi
je 0x404b33
push edi
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
test eax, eax
jne 0x404b33
push 0x46b248
push edi
call fcn.0044e665
pop ecx
pop ecx
mov dword [ebp - 0x50], eax
cmp eax, esi
je 0x404b33
sub eax, edi
sar eax, 1
cmp eax, 0x1f4
jae 0x404b33
push edi
push eax
lea esi, [ebp - 0x2c]
call fcn.00405c51
mov byte [ebp - 4], 1
push str.Settings.dat
mov eax, esi
push eax
call fcn.00405ae7
push 1
mov esi, dword [ebp - 0x2c]
mov edx, esi
mov ecx, ebx
call fcn.004048d8
test eax, eax
jl 0x404b28
mov ecx, ebx
call fcn.00404a27
push edi
push esi
call fcn.0044cc4b
pop ecx
pop ecx
test eax, eax
jne 0x404b21
push 1
mov edx, edi
mov ecx, ebx
call fcn.004048d8
mov dword [ebp - 0x28], eax
jmp 0x404b28
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor esi, esi
cmp dword [ebp - 0x28], esi
jge 0x404b44
mov eax, 0x80400004
jmp fcn.0040426a
mov byte [ebp - 4], 2
mov dword [ebp - 0x48], esi
lea edi, [ebx + 8]
mov eax, edi
call fcn.00403561
cmp esi, eax
jae 0x404b6d
call fcn.004034f5
mov eax, dword [eax]
test eax, eax
je 0x404b6a
push eax
call fcn.0040486c
inc esi
jmp 0x404b48
and dword [ebp - 4], 0
jmp 0x404b80
lea esi, [ebx + 8]
call fcn.0041dc9f
lea eax, [ebp - 0x24]
push eax
push 0x10
push ebx
call fcn.004058de
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x404b3f
push 0x10
push 0x46b238
lea eax, [ebp - 0x24]
push eax
call fcn.0044cc79
add esp, 0xc
test eax, eax
je 0x404bb9
mov eax, 0x80400009
jmp 0x404b3f
push ebx
call fcn.004058bd
cmp eax, 1
je 0x404bfb
cmp eax, 2
jne 0x404bb2
push ebx
call fcn.004058bd
mov edi, eax
and dword [ebp - 0x44], 0
and dword [ebp - 0x40], 0
lea eax, [ebx + 4]
push eax
lea esi, [ebp - 0x44]
call fcn.00404630
xor eax, eax
cmp edi, dword [ebp - 0x44]
jne 0x404bf1
cmp eax, dword [ebp - 0x40]
je 0x404bfb
mov eax, 0x8040000e
jmp 0x404b3f
push ebx
call fcn.004058bd
mov dword [ebp - 0x4c], eax
cmp eax, 0x14
ja 0x404bf1
and dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x2c], eax
jae 0x404d7b
push 0x20
call fcn.0044c86d
pop ecx
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x404c34
push eax
call fcn.00404725
jmp 0x404c36
xor eax, eax
mov byte [ebp - 4], 0
mov dword [ebp - 0x3c], eax
push eax
push 0x10
push ebx
call fcn.004058de
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x404b3f
push ebx
call fcn.004058bd
mov dword [ebp - 0x38], eax
cmp eax, 0x3e8
ja 0x404bf1
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x34], eax
jae 0x404d67
push 0x2c
call fcn.0044c86d
pop ecx
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x404c8e
push eax
call fcn.00404691
mov esi, eax
jmp 0x404c90
xor esi, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x54], esi
push ebx
call fcn.00405964
mov edi, eax
cmp dword [esi], edi
je 0x404cad
push dword [esi]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], edi
lea eax, [esi + 4]
push eax
push 0x10
push ebx
call fcn.004058de
mov dword [ebp - 0x28], eax
test eax, eax
jl 0x404bf1
push ebx
call fcn.004058bd
mov dword [esi + 0x14], eax
push ebx
call fcn.004058bd
mov dword [esi + 0x18], eax
push ebx
call fcn.00405964
mov edi, eax
cmp dword [esi + 0x1c], edi
je 0x404cef
push dword [esi + 0x1c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi + 0x1c], edi
push ebx
call fcn.00405964
mov edi, eax
cmp dword [esi + 0x20], edi
je 0x404d08
push dword [esi + 0x20]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi + 0x20], edi
push ebx
call fcn.004058bd
mov dword [esi + 0x24], eax
xor edi, edi
cmp eax, edi
je 0x404d50
cmp eax, 0x2710
jae 0x404bf1
push edi
push eax
call fcn.0043839d
pop ecx
pop ecx
mov dword [esi + 0x28], eax
push eax
push dword [esi + 0x24]
push ebx
call fcn.004058de
test eax, eax
jge 0x404d50
push dword [esi + 0x28]
call fcn.00440d1a
pop ecx
mov dword [esi + 0x28], edi
mov dword [esi + 0x24], edi
jmp 0x404bf1
lea eax, [ebp - 0x54]
push eax
mov esi, dword [ebp - 0x3c]
add esi, 0x10
call fcn.0041dc46
inc dword [ebp - 0x34]
jmp 0x404c65
lea eax, [ebp - 0x3c]
push eax
lea esi, [ebx + 8]
call fcn.0041dc46
inc dword [ebp - 0x2c]
jmp 0x404c0d
or dword [ebp - 4], 0xffffffff
jmp 0x404da5
mov ecx, ebx
call fcn.00404a27
mov eax, dword [ebp - 0x28]
call fcn.00450e22
ret