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

Disassembly:
call fcn.0041ad9c
mov ecx, eax
jmp 0x41c77e
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x59d680]
xor eax, ebp
mov dword [ebp + 0x1a0], eax
and word [ebp - 0x68], 0
push ebx
push esi
push edi
push 0x206
lea eax, [ebp - 0x66]
push 0
push eax
mov esi, ecx
call fcn.0044fd00
add esp, 0xc
push 8
pop ebx
cmp dword [esi + 0xb0], ebx
jb 0x41c7c9
mov eax, dword [esi + 0x9c]
jmp 0x41c7cf
lea eax, [esi + 0x9c]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
jne 0x41c82f
cmp dword [esi + 0xcc], ebx
jb 0x41c7ec
mov eax, dword [esi + 0xb8]
jmp 0x41c7f2
lea eax, [esi + 0xb8]
push eax
call edi
test eax, eax
je 0x41c82f
cmp dword [esi + 0xb0], ebx
jb 0x41c809
mov ecx, dword [esi + 0x9c]
jmp 0x41c80f
lea ecx, [esi + 0x9c]
cmp dword [esi + 0xcc], ebx
jb 0x41c81f
mov eax, dword [esi + 0xb8]
jmp 0x41c825
lea eax, [esi + 0xb8]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [esi + 0x1c]
push eax
mov eax, dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x80]
call fcn.00401299
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041fe07
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edi, 0x540778
jmp 0x41c8f9
call fcn.00406fe8
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0044f427
test eax, eax
pop ecx
jle 0x41c8d6
cmp dword [esi + 0xb0], 8
jb 0x41c895
mov eax, dword [esi + 0x9c]
jmp 0x41c89b
lea eax, [esi + 0x9c]
push eax
push 0x104
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push edi
add eax, 8
push eax
push str.Setting
call ebx
lea eax, [ebp - 0x68]
push edi
push eax
call fcn.0044fb8e
test eax, eax
pop ecx
pop ecx
je 0x41c8d6
lea eax, [ebp - 0x68]
push eax
call fcn.004503f9
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
lea ecx, [ebp - 0x80]
call fcn.004213cc
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041fe07
test al, al
lea ecx, [ebp - 0x80]
je 0x41c86b
mov eax, dword [esi + 0x18]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00401299
jmp 0x41c987
call fcn.00406fe8
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0044f427
test eax, eax
pop ecx
jle 0x41c97f
cmp dword [esi + 0xb0], 8
jb 0x41c93e
mov eax, dword [esi + 0x9c]
jmp 0x41c944
lea eax, [esi + 0x9c]
push eax
push 0x104
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push edi
add eax, 8
push eax
push str.Setting
call ebx
lea eax, [ebp - 0x68]
push edi
push eax
call fcn.0044fb8e
test eax, eax
pop ecx
pop ecx
je 0x41c97f
lea eax, [ebp - 0x68]
push eax
call fcn.004503f9
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov byte [ecx], al
lea ecx, [ebp - 0x80]
call fcn.004213cc
mov eax, dword [esi + 0x18]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041fe07
test al, al
lea ecx, [ebp - 0x80]
je 0x41c914
mov eax, dword [esi + 0x20]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00401299
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041fe07
test al, al
jne 0x41ca7b
mov edi, str.nothing
lea ecx, [ebp - 0x80]
call fcn.00406fe8
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0044f427
test eax, eax
pop ecx
jle 0x41ca50
cmp dword [esi + 0xb0], 8
jb 0x41ca10
mov eax, dword [esi + 0x9c]
jmp 0x41ca16
lea eax, [esi + 0x9c]
push eax
push 0x104
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push edi
add eax, 8
push eax
push str.Setting
call ebx
lea eax, [ebp - 0x68]
push edi
push eax
call fcn.0044fb8e
test eax, eax
pop ecx
pop ecx
je 0x41ca50
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push dword [eax + 4]
call fcn.00450242
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
call fcn.004213cc
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.0041fe07
test al, al
je 0x41c9e3
mov ecx, esi
call fcn.0041b668
lea eax, [esi + 0xd0]
cmp dword [eax + 0x18], 8
jb 0x41ca93
mov eax, dword [eax + 4]
jmp 0x41ca96
add eax, 4
push eax
push 0x53e17c
push str.ModifySetConfig
push str.SetModify
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [esi + 0x58]
push eax
mov eax, dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x70]
call fcn.00401299
jmp 0x41caee
call fcn.00406fe8
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.00406fe8
push dword [eax]
mov ecx, esi
call fcn.0041bea5
test eax, eax
je 0x41cae6
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov eax, dword [eax]
mov dword [ecx], eax
lea ecx, [ebp - 0x70]
call fcn.004213cc
mov eax, dword [esi + 0x58]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.0041fe07
test al, al
lea ecx, [ebp - 0x70]
je 0x41cabf
mov eax, dword [esi + 0x54]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00401299
jmp 0x41cb52
lea ecx, [ebp - 0x70]
call fcn.00406fe8
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.00406fe8
push dword [eax]
mov ecx, esi
call fcn.0041bea5
test eax, eax
je 0x41cb4a
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov al, byte [eax]
mov byte [ecx], al
lea ecx, [ebp - 0x70]
call fcn.004213cc
mov eax, dword [esi + 0x54]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00401299
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.0041fe07
test al, al
je 0x41cb20
mov edi, 0x94
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
dec edi
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
mov edi, 0x91
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
inc edi
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
mov edi, 0x8f
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
inc edi
push edi
mov ecx, esi
call fcn.0041bad2
push eax
push edi
mov ecx, esi
call fcn.0041c064
mov ecx, dword [ebp + 0x1a0]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.0044fa75
add ebp, 0x1a4
leave
ret