Function at 0x4873b1
Capabilities:
Delete file
Print debug messages
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f8a75
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x248
mov dword [ebp - 0x244], ecx
push 0x52e4fc
lea ecx, [ebp - 0x74]
call fcn.004e819a
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0x8c], 0
je 0x487470
push 0x104
push 0
push 0x539d00
call fcn.004cf390
add esp, 0xc
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0x8c]
push edx
call fcn.004cf430
add esp, 4
cmp eax, 0x104
jae 0x487445
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax + 0x8c]
push ecx
call fcn.004cf430
add esp, 4
mov dword [ebp - 0x248], eax
jmp 0x48744f
mov dword [ebp - 0x248], 0x103
mov edx, dword [ebp - 0x248]
push edx
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax + 0x8c]
push ecx
push 0x539d00
call fcn.004cfc80
add esp, 0xc
push 0x5c
push 0x539d00
call fcn.004d03c0
add esp, 8
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
push 0x52e500
push 0x539d00
call fcn.004cf9c0
add esp, 8
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 0x8c], 0
je 0x48752a
push 0x104
push 0
push 0x539f08
call fcn.004cf390
add esp, 0xc
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0x8c]
push eax
call fcn.004cf430
add esp, 4
cmp eax, 0x104
jae 0x4874ff
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0x8c]
push edx
call fcn.004cf430
add esp, 4
mov dword [ebp - 0x24c], eax
jmp 0x487509
mov dword [ebp - 0x24c], 0x103
mov eax, dword [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0x8c]
push edx
push 0x539f08
call fcn.004cfc80
add esp, 0xc
push 0x5c
push 0x539f08
call fcn.004d03c0
add esp, 8
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0
call fcn.0044e6ae
cmp eax, 5
jl 0x487569
push 0x5396f4
push 0x539bfc
call fcn.004cf9b0
add esp, 8
jmp 0x48757b
push 0x539f08
push 0x539bfc
call fcn.004cf9b0
add esp, 8
push 0x539f08
push 0x53df78
call fcn.004cf9b0
add esp, 8
push 0x539f08
push 0x539878
call fcn.004cf9b0
add esp, 8
push str.EDC.exe
push 0x539878
call fcn.004cf9c0
add esp, 8
push 0x52e514
push 0x539f08
call fcn.004cf9c0
add esp, 8
push 0x539d00
push 0x100
lea edx, [ebp - 0x4c]
push edx
push 0
push 0x52e520
push 0x52e528
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call fcn.0044e6ae
cmp eax, 6
jl 0x487852
mov dword [ebp - 0x84], 0
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1bc], 0x8000
mov dword [ebp - 0x1b8], 0xf1b32785
mov word [ebp - 0x1b4], 0x6fba
mov word [ebp - 0x1b2], 0x4fcf
mov byte [ebp - 0x1b0], 0x9d
mov byte [ebp - 0x1af], 0x55
mov byte [ebp - 0x1ae], 0x7b
mov byte [ebp - 0x1ad], 0x8e
mov byte [ebp - 0x1ac], 0x7f
mov byte [ebp - 0x1ab], 0x15
mov byte [ebp - 0x1aa], 0x70
mov byte [ebp - 0x1a9], 0x91
push str.SHGetKnownFolderPath
mov eax, dword [ebp - 0x1a4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x84]
push ecx
push 0
push 0x8000
lea edx, [ebp - 0x1b8]
push edx
call dword [ebp - 0x80]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x84]
push eax
lea ecx, [ebp - 0x98]
call fcn.004e81ec
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a8]
call fcn.00401900
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a0]
call fcn.00401900
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
push ecx
lea ecx, [ebp - 0x1a8]
call fcn.004e8265
push 0x100
lea edx, [ebp - 0x19c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea eax, [ebp - 0x19c]
push eax
call fcn.004d03c0
add esp, 8
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
add ecx, 1
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
mov byte [edx], 0
push str.comrcp.ini
lea eax, [ebp - 0x19c]
push eax
call fcn.004cf9c0
add esp, 8
lea ecx, [ebp - 0x19c]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.004e82b5
push 0x52e560
lea ecx, [ebp - 0x1a0]
call fcn.004e1829
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0xffffffff
je 0x4877a9
mov edx, dword [ebp - 0x7c]
add edx, 2
push edx
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004e165a
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x254], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x254]
push edx
lea ecx, [ebp - 0x1a0]
call fcn.004e8265
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x240]
call fcn.004e812c
push str.VirtualStore_
lea ecx, [ebp - 0x1a8]
call fcn.004e8508
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.004e8544
lea ecx, [ebp - 0x94]
call fcn.004e86ab
mov byte [ebp - 4], 5
push 0
push 0
lea ecx, [ebp - 0x1a8]
call fcn.00401920
push eax
lea ecx, [ebp - 0x94]
call fcn.004e885d
test eax, eax
je 0x487816
lea ecx, [ebp - 0x94]
call fcn.004e8a78
lea ecx, [ebp - 0x1a8]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x94]
call fcn.004e87a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a0]
call fcn.004e812c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1a8]
call fcn.004e812c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x98]
call fcn.004e812c
push 0x80
push 0x539f08
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x539f08
push 0x539d00
call fcn.004cf9b0
add esp, 8
push 0x80
push 0x539d00
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push str.langinfo.ini
push 0x53df78
call fcn.004cf9c0
add esp, 8
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x244]
call fcn.004881ec
test eax, eax
jne 0x4878b6
push 0x52e584
lea ecx, [ebp - 0x74]
call fcn.004e82b5
mov edx, dword [ebp - 0x74]
push edx
push str._PSU_Setting_the_language__s
lea eax, [ebp - 0x23c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea edx, [ebp - 0x74]
push edx
mov ecx, 0x5396f0
call fcn.004e8265
push 0x53df78
push 0x20
lea eax, [ebp - 0x70]
push eax
push 0
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x53e158
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x48792f
push str.English
lea edx, [ebp - 0x70]
push edx
call fcn.004cf9b0
add esp, 8
push 0x53df78
push 0x20
lea eax, [ebp - 0x2c]
push eax
push 0
push 0x52e5b8
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
call fcn.0044e6ae
cmp eax, 5
jl 0x48795a
call fcn.00487124
push 0x539d00
lea edx, [ebp - 0x70]
push edx
push 0x52e5c4
push 0x52e5d0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x539d00
lea eax, [ebp - 0x2c]
push eax
push 0x52e5dc
push 0x52e5e8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x52e5f4
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4879b3
mov dword [0x53983c], 0xcc
jmp 0x487a74
push 0x52e5f8
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4879da
mov dword [0x53983c], 0x81
jmp 0x487a74
push 0x52e5fc
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4879fe
mov dword [0x53983c], 0xb1
jmp 0x487a74
push 0x52e600
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x487a22
mov dword [0x53983c], 0xb2
jmp 0x487a74
push 0x52e604
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x487a46
mov dword [0x53983c], 0xa1
jmp 0x487a74
push 0x52e608
lea ecx, [ebp - 0x74]
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x487a6a
mov dword [0x53983c], 0xa2
jmp 0x487a74
mov dword [0x53983c], 1
lea ecx, [ebp - 0x74]
push ecx
mov ecx, 0x539874
call fcn.004e8265
push 0x52e60c
mov ecx, 0x539874
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x487aea
push 0x52e610
mov ecx, 0x539874
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x487aea
push 0x52e614
mov ecx, 0x539874
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x487aea
push 0x52e618
mov ecx, 0x539874
call fcn.00401920
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x487af4
mov dword [0x53a9cc], 1
push 0x539d00
push 0x20
lea edx, [ebp - 0x4c]
push edx
push 0
push str.STR_FILE
push 0x52e628
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x5c
push 0x539f08
call fcn.004d03c0
add esp, 8
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0
lea edx, [ebp - 0x4c]
push edx
push 0x539f08
call fcn.004cf9c0
add esp, 8
xor eax, eax
mov ax, word [0x539af6]
test eax, eax
je 0x487b5a
push str._PSU__End_of_SelectLanguage__
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.004e812c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret