Function at 0x492800
Capabilities:
Check if file exists
Copy file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x498
mov eax, dword [0x5925f0]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x498], ecx
mov ecx, dword [0x594280]
call fcn.0042bca0
mov ecx, eax
call fcn.0042b220
push eax
push 0x55406c
mov eax, dword [ebp - 0x498]
add eax, 0x28
push eax
call fcn.004cb62b
add esp, 0xc
push str.Config.ini
mov ecx, dword [0x594280]
call fcn.0042bca0
mov ecx, eax
call fcn.0042b180
push eax
push 0x55408c
mov ecx, dword [ebp - 0x498]
add ecx, 0x640
push ecx
call fcn.004cb62b
add esp, 0x10
mov ecx, dword [0x594280]
call fcn.0042bca0
mov ecx, eax
call fcn.0042b240
push eax
push 0x554098
mov edx, dword [ebp - 0x498]
add edx, 0x230
push edx
call fcn.004cb62b
add esp, 0xc
mov ecx, dword [0x594280]
call fcn.0042bca0
mov ecx, eax
call fcn.0042b260
push eax
push 0x5540a0
mov eax, dword [ebp - 0x498]
add eax, 0x438
push eax
call fcn.004cb62b
add esp, 0xc
mov ecx, dword [ebp - 0x498]
add ecx, 0x28
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x492918
mov edx, dword [ebp - 0x498]
add edx, 0x640
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x492918
push 0
mov eax, dword [ebp - 0x498]
add eax, 0x28
push eax
mov ecx, dword [ebp - 0x498]
add ecx, 0x640
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov dword [ebp - 4], 0
lea edx, [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax + 0x18]
call fcn.00478d10
jmp 0x49294a
push 0
lea ecx, [ebp - 0x45c]
push ecx
lea ecx, [ebp - 0x420]
call fcn.00420450
lea edx, [ebp - 0x464]
push edx
mov eax, dword [ebp - 0x498]
mov ecx, dword [eax + 0x18]
call fcn.0048f940
push eax
lea ecx, [ebp - 0x420]
call fcn.00447a30
movzx ecx, al
test ecx, ecx
je 0x492a18
lea ecx, [ebp - 0x420]
call fcn.0048f990
mov edx, dword [eax + 4]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x424]
add eax, 0xc
push eax
call fcn.004caee6
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x492a13
mov ecx, dword [ebp - 0x498]
add ecx, 0x28
push ecx
push 0x104
lea edx, [ebp - 0x210]
push edx
push 0x5540a8
mov eax, dword [ebp - 0x424]
add eax, 0xc
push eax
push 0x5540b0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x5540c0
lea ecx, [ebp - 0x210]
push ecx
call fcn.004cbc4a
add esp, 8
test eax, eax
je 0x492a13
lea edx, [ebp - 0x210]
push edx
call fcn.004cb7e9
add esp, 4
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x428]
mov dword [ecx], edx
jmp 0x492936
lea eax, [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0x498]
mov ecx, dword [ecx + 0x1c]
call fcn.00478d10
jmp 0x492a43
push 0
lea edx, [ebp - 0x46c]
push edx
lea ecx, [ebp - 0x430]
call fcn.00420450
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x498]
mov ecx, dword [ecx + 0x1c]
call fcn.0048f940
push eax
lea ecx, [ebp - 0x430]
call fcn.00447a30
movzx edx, al
test edx, edx
je 0x492b11
lea ecx, [ebp - 0x430]
call fcn.0048f990
mov eax, dword [eax + 4]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
add ecx, 8
push ecx
call fcn.004caee6
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x492b0c
mov edx, dword [ebp - 0x498]
add edx, 0x28
push edx
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0x5540c8
mov ecx, dword [ebp - 0x434]
add ecx, 8
push ecx
push 0x5540d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x5540e0
lea edx, [ebp - 0x210]
push edx
call fcn.004cbc4a
add esp, 8
test eax, eax
je 0x492b0c
lea eax, [ebp - 0x210]
push eax
call fcn.004cb7e9
add esp, 4
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x438]
mov dword [edx], eax
jmp 0x492a2f
lea ecx, [ebp - 0x440]
push ecx
mov edx, dword [ebp - 0x498]
mov ecx, dword [edx + 0x20]
call fcn.00478d10
jmp 0x492b3c
push 0
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x440]
call fcn.00420450
lea ecx, [ebp - 0x484]
push ecx
mov edx, dword [ebp - 0x498]
mov ecx, dword [edx + 0x20]
call fcn.0048f940
push eax
lea ecx, [ebp - 0x440]
call fcn.00447a30
movzx eax, al
test eax, eax
je 0x492c02
lea ecx, [ebp - 0x440]
call fcn.0048f990
mov ecx, dword [eax + 4]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
add edx, 8
push edx
call fcn.004caee6
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x492bfd
mov eax, dword [ebp - 0x498]
add eax, 0x28
push eax
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push 0x5540e8
mov edx, dword [ebp - 0x444]
add edx, 8
push edx
push 0x5540f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x554108
lea eax, [ebp - 0x210]
push eax
call fcn.004cbc4a
add esp, 8
test eax, eax
je 0x492bfd
lea ecx, [ebp - 0x210]
push ecx
push 0x554118
mov edx, dword [ebp - 0x444]
mov eax, dword [edx + 4]
push eax
call fcn.004cb62b
add esp, 0xc
jmp 0x492b28
lea ecx, [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x498]
mov ecx, dword [edx + 0x24]
call fcn.00478d10
jmp 0x492c2d
push 0
lea eax, [ebp - 0x48c]
push eax
lea ecx, [ebp - 0x44c]
call fcn.00420450
lea ecx, [ebp - 0x494]
push ecx
mov edx, dword [ebp - 0x498]
mov ecx, dword [edx + 0x24]
call fcn.0048f940
push eax
lea ecx, [ebp - 0x44c]
call fcn.00447a30
movzx eax, al
test eax, eax
je 0x492d9b
lea ecx, [ebp - 0x44c]
call fcn.0048f990
mov ecx, dword [eax + 4]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x450]
add edx, 0x14
push edx
call fcn.004caee6
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x492d96
mov eax, dword [ebp - 0x450]
add eax, 0x14
push eax
push 0x554120
lea ecx, [ebp - 0x418]
push ecx
call fcn.004cb62b
add esp, 0xc
mov edx, dword [ebp - 0x498]
add edx, 0x28
push edx
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0x554130
lea ecx, [ebp - 0x418]
push ecx
push 0x554138
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x554148
lea edx, [ebp - 0x210]
push edx
call fcn.004cbc4a
add esp, 8
test eax, eax
je 0x492d15
lea eax, [ebp - 0x210]
push eax
call fcn.004cb7e9
add esp, 4
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x450]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x454]
mov dword [edx], eax
mov ecx, dword [ebp - 0x450]
add ecx, 0x14
push ecx
push 0x554150
lea edx, [ebp - 0x418]
push edx
call fcn.004cb62b
add esp, 0xc
mov eax, dword [ebp - 0x498]
add eax, 0x28
push eax
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push 0x554160
lea edx, [ebp - 0x418]
push edx
push 0x554170
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push str.nothing
lea eax, [ebp - 0x210]
push eax
call fcn.004cbc4a
add esp, 8
test eax, eax
je 0x492d96
lea ecx, [ebp - 0x210]
push ecx
push 0x554190
mov edx, dword [ebp - 0x450]
mov eax, dword [edx + 0x10]
push eax
call fcn.004cb62b
add esp, 0xc
jmp 0x492c19
mov ecx, dword [ebp - 0x498]
add ecx, 0x230
push ecx
push 0x554198
push 0x55419c
push 0x5541c0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, 1
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004ca9d7
mov esp, ebp
pop ebp
ret