Function at 0x414960
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa1c
mov eax, dword [0x4ea080]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
push 0x7fe
xor ebx, ebx
lea ecx, [ebp - 0xa0a]
xor eax, eax
push ebx
push ecx
mov dword [ebp - 0xa14], esi
mov word [ebp - 0xa0c], ax
call fcn.0048f070
mov edi, 8
add esp, 0xc
mov dword [ebp - 0xa1c], 0x800
mov dword [esi + 0x10], ebx
cmp dword [esi + 0x14], edi
jb 0x4149b9
mov eax, dword [esi]
jmp 0x4149bb
mov eax, esi
xor edx, edx
mov word [eax], dx
lea eax, [esi + 0x1c]
mov dword [ebp - 0xa18], eax
mov dword [eax + 0x10], ebx
cmp dword [eax + 0x14], edi
jb 0x4149d3
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
lea eax, [esi + 0x38]
mov dword [ebp - 0xa10], eax
mov dword [eax + 0x10], ebx
cmp dword [eax + 0x14], edi
jb 0x4149eb
mov eax, dword [eax]
xor edx, edx
mov word [eax], dx
call fcn.00413910
add eax, 0xd4
cmp dword [eax + 0x14], edi
jb 0x414a01
mov eax, dword [eax]
lea ecx, [ebp - 0xa1c]
push ecx
lea edx, [ebp - 0xa0c]
push edx
push eax
call fcn.00411560
add esp, 0xc
call fcn.00413910
add eax, 0x64
cmp dword [eax + 0x14], edi
jb 0x414a27
mov eax, dword [eax]
lea ecx, [ebp - 0xa0c]
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x414a56
cmp dx, bx
je 0x414a52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x414a56
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x414a30
xor eax, eax
jmp 0x414a5b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x414d09
call fcn.00413910
cmp dword [eax + 0x158], edi
jb 0x414a78
mov esi, dword [eax + 0x144]
jmp 0x414a7e
lea esi, [eax + 0x144]
push 0x208
lea eax, [ebp - 0x20c]
push ebx
push eax
call fcn.0048f070
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push esi
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0x4b1974
push str.DeskLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x414ac0
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
sub eax, edx
sar eax, 1
je 0x414b12
lea edx, [ebp - 0x20c]
push edx
call ebx
test eax, eax
je 0x414b12
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414af0
mov ecx, dword [ebp - 0xa14]
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004110e0
push 0x208
lea ecx, [ebp - 0x20c]
push 0
push ecx
call fcn.0048f070
add esp, 0xc
push esi
push 0x104
lea edx, [ebp - 0x20c]
push edx
push 0x4b1974
push str.SystemLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414b50
sub eax, edx
sar eax, 1
je 0x414b99
lea eax, [ebp - 0x20c]
push eax
call ebx
test eax, eax
je 0x414b99
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414b77
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, dword [ebp - 0xa18]
call fcn.004110e0
push 0x208
lea edx, [ebp - 0x20c]
push 0
push edx
call fcn.0048f070
add esp, 0xc
push esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x4b1974
push str.StartLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414bd6
sub eax, edx
sar eax, 1
je 0x414c22
lea ecx, [ebp - 0x20c]
push ecx
call ebx
test eax, eax
je 0x414c22
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414c00
mov ecx, dword [ebp - 0xa10]
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x20c]
push edx
call fcn.004110e0
mov edi, dword [ebp - 0xa14]
cmp dword [edi + 0x14], 8
jb 0x414c32
mov eax, dword [edi]
jmp 0x414c34
mov eax, edi
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x414c50
cmp dword [edi + 0x14], 8
jb 0x414c4b
mov eax, dword [edi]
jmp 0x414c4d
mov eax, edi
push eax
call esi
mov edi, dword [ebp - 0xa18]
cmp dword [edi + 0x14], 8
jb 0x414c60
mov eax, dword [edi]
jmp 0x414c62
mov eax, edi
push eax
call ebx
test eax, eax
je 0x414c78
cmp dword [edi + 0x14], 8
jb 0x414c73
mov eax, dword [edi]
jmp 0x414c75
mov eax, edi
push eax
call esi
mov eax, dword [ebp - 0xa10]
cmp dword [eax + 0x14], 8
jb 0x414c86
mov eax, dword [eax]
push eax
call ebx
mov ebx, dword [ebp - 0xa10]
test eax, eax
je 0x414ca2
cmp dword [ebx + 0x14], 8
jb 0x414c9d
mov eax, dword [ebx]
jmp 0x414c9f
mov eax, ebx
push eax
call esi
mov eax, dword [ebp - 0xa14]
xor edx, edx
mov ecx, 8
mov dword [eax + 0x10], edx
cmp dword [eax + 0x14], ecx
jb 0x414cb9
mov eax, dword [eax]
xor esi, esi
mov word [eax], si
mov dword [edi + 0x10], edx
cmp dword [edi + 0x14], ecx
jb 0x414cca
mov eax, dword [edi]
jmp 0x414ccc
mov eax, edi
xor esi, esi
mov word [eax], si
mov dword [ebx + 0x10], edx
cmp dword [ebx + 0x14], ecx
jb 0x414cf1
mov eax, dword [ebx]
pop edi
xor ecx, ecx
pop esi
mov word [eax], cx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048ef91
mov esp, ebp
pop ebp
ret
pop edi
mov eax, ebx
xor ecx, ecx
pop esi
mov word [eax], cx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048ef91
mov esp, ebp
pop ebp
ret
call fcn.00413910
cmp dword [eax + 0x158], edi
jb 0x414d1e
mov esi, dword [eax + 0x144]
jmp 0x414d24
lea esi, [eax + 0x144]
push 0x208
lea edx, [ebp - 0x20c]
push ebx
push edx
call fcn.0048f070
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x4b1974
push str.DeskLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x414d66
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
sub eax, edx
sar eax, 1
je 0x414db5
lea ecx, [ebp - 0x20c]
push ecx
call ebx
test eax, eax
je 0x414db5
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414d93
mov ecx, dword [ebp - 0xa14]
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x20c]
push edx
call fcn.004110e0
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0048f070
add esp, 0xc
push esi
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0x4b1974
push str.SystemLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414df2
sub eax, edx
sar eax, 1
je 0x414e42
lea edx, [ebp - 0x20c]
push edx
call ebx
test eax, eax
je 0x414e42
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414e20
mov ecx, dword [ebp - 0xa18]
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004110e0
push 0x208
lea ecx, [ebp - 0x20c]
push 0
push ecx
call fcn.0048f070
add esp, 0xc
push esi
push 0x104
lea edx, [ebp - 0x20c]
push edx
push 0x4b1974
push str.StartLnk
push 0x4b1988
call edi
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414e80
sub eax, edx
sar eax, 1
je 0x414ec9
lea eax, [ebp - 0x20c]
push eax
call ebx
test eax, eax
je 0x414ec9
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414ea7
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, dword [ebp - 0xa10]
call fcn.004110e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048ef91
mov esp, ebp
pop ebp
ret