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

Disassembly:
call fcn.10004cb0
mov ecx, eax
jmp 0x1003a0f2
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x101f1dd0]
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.10076580
add esp, 0xc
push 8
pop ebx
cmp dword [esi + 0xb0], ebx
jb 0x1003a13d
mov eax, dword [esi + 0x9c]
jmp 0x1003a143
lea eax, [esi + 0x9c]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
jne 0x1003a1a3
cmp dword [esi + 0xcc], ebx
jb 0x1003a160
mov eax, dword [esi + 0xb8]
jmp 0x1003a166
lea eax, [esi + 0xb8]
push eax
call edi
test eax, eax
je 0x1003a1a3
cmp dword [esi + 0xb0], ebx
jb 0x1003a17d
mov ecx, dword [esi + 0x9c]
jmp 0x1003a183
lea ecx, [esi + 0x9c]
cmp dword [esi + 0xcc], ebx
jb 0x1003a193
mov eax, dword [esi + 0xb8]
jmp 0x1003a199
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.1000969b
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.10004bce
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edi, 0x1017daa8
jmp 0x1003a26d
call fcn.10047e32
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.10076514
test eax, eax
pop ecx
jle 0x1003a24a
cmp dword [esi + 0xb0], 8
jb 0x1003a209
mov eax, dword [esi + 0x9c]
jmp 0x1003a20f
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.10076c97
test eax, eax
pop ecx
pop ecx
je 0x1003a24a
lea eax, [ebp - 0x68]
push eax
call fcn.10076f89
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
lea ecx, [ebp - 0x80]
call fcn.10038b21
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.10004bce
test al, al
lea ecx, [ebp - 0x80]
je 0x1003a1df
mov eax, dword [esi + 0x18]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1000969b
jmp 0x1003a2fb
call fcn.10047e32
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.10076514
test eax, eax
pop ecx
jle 0x1003a2f3
cmp dword [esi + 0xb0], 8
jb 0x1003a2b2
mov eax, dword [esi + 0x9c]
jmp 0x1003a2b8
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.10076c97
test eax, eax
pop ecx
pop ecx
je 0x1003a2f3
lea eax, [ebp - 0x68]
push eax
call fcn.10076f89
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov byte [ecx], al
lea ecx, [ebp - 0x80]
call fcn.10038b21
mov eax, dword [esi + 0x18]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.10004bce
test al, al
lea ecx, [ebp - 0x80]
je 0x1003a288
mov eax, dword [esi + 0x20]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1000969b
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.10004bce
test al, al
jne 0x1003a3ef
mov edi, str.nothing
lea ecx, [ebp - 0x80]
call fcn.10047e32
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.10076514
test eax, eax
pop ecx
jle 0x1003a3c4
cmp dword [esi + 0xb0], 8
jb 0x1003a384
mov eax, dword [esi + 0x9c]
jmp 0x1003a38a
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.10076c97
test eax, eax
pop ecx
pop ecx
je 0x1003a3c4
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push dword [eax + 4]
call fcn.10076a8d
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
call fcn.10038b21
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.10004bce
test al, al
je 0x1003a357
mov ecx, esi
call fcn.100390b9
lea eax, [esi + 0xd0]
cmp dword [eax + 0x18], 8
jb 0x1003a407
mov eax, dword [eax + 4]
jmp 0x1003a40a
add eax, 4
push eax
push 0x10174114
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.1000969b
jmp 0x1003a462
call fcn.10047e32
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.10047e32
push dword [eax]
mov ecx, esi
call fcn.100398f6
test eax, eax
je 0x1003a45a
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov eax, dword [eax]
mov dword [ecx], eax
lea ecx, [ebp - 0x70]
call fcn.10038b21
mov eax, dword [esi + 0x58]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.10004bce
test al, al
lea ecx, [ebp - 0x70]
je 0x1003a433
mov eax, dword [esi + 0x54]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1000969b
jmp 0x1003a4c6
lea ecx, [ebp - 0x70]
call fcn.10047e32
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.10047e32
push dword [eax]
mov ecx, esi
call fcn.100398f6
test eax, eax
je 0x1003a4be
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov al, byte [eax]
mov byte [ecx], al
lea ecx, [ebp - 0x70]
call fcn.10038b21
mov eax, dword [esi + 0x54]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.1000969b
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.10004bce
test al, al
je 0x1003a494
push 0x76
mov ecx, esi
call fcn.10039523
push eax
push 0x76
mov ecx, esi
call fcn.10039ab5
push 0x75
mov ecx, esi
call fcn.10039523
push eax
push 0x75
mov ecx, esi
call fcn.10039ab5
push 0x73
mov ecx, esi
call fcn.10039523
push eax
push 0x73
mov ecx, esi
call fcn.10039ab5
push 0x74
mov ecx, esi
call fcn.10039523
push eax
push 0x74
mov ecx, esi
call fcn.10039ab5
push 0x71
mov ecx, esi
call fcn.10039523
push eax
push 0x71
mov ecx, esi
call fcn.10039ab5
push 0x72
mov ecx, esi
call fcn.10039523
push eax
push 0x72
mov ecx, esi
call fcn.10039ab5
mov ecx, dword [ebp + 0x1a0]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.10075e13
add ebp, 0x1a4
leave
ret