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

Disassembly:
call fcn.0040aa66
mov ecx, eax
jmp 0x43acd8
push ebp
lea ebp, [esp - 0x1a4]
sub esp, 0x224
mov eax, dword [0x4f2720]
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.0045fa70
add esp, 0xc
push 8
pop ebx
cmp dword [esi + 0xb0], ebx
jb 0x43ad23
mov eax, dword [esi + 0x9c]
jmp 0x43ad29
lea eax, [esi + 0x9c]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
jne 0x43ad89
cmp dword [esi + 0xcc], ebx
jb 0x43ad46
mov eax, dword [esi + 0xb8]
jmp 0x43ad4c
lea eax, [esi + 0xb8]
push eax
call edi
test eax, eax
je 0x43ad89
cmp dword [esi + 0xb0], ebx
jb 0x43ad63
mov ecx, dword [esi + 0x9c]
jmp 0x43ad69
lea ecx, [esi + 0x9c]
cmp dword [esi + 0xcc], ebx
jb 0x43ad79
mov eax, dword [esi + 0xb8]
jmp 0x43ad7f
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.00422c4c
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.004335b3
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edi, 0x4c9468
jmp 0x43ae53
call fcn.00422c28
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0045fe9a
test eax, eax
pop ecx
jle 0x43ae30
cmp dword [esi + 0xb0], 8
jb 0x43adef
mov eax, dword [esi + 0x9c]
jmp 0x43adf5
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.004615f0
test eax, eax
pop ecx
pop ecx
je 0x43ae30
lea eax, [ebp - 0x68]
push eax
call fcn.00460ebc
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
lea ecx, [ebp - 0x80]
call fcn.004395dd
mov eax, dword [esi + 0x1c]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.004335b3
test al, al
lea ecx, [ebp - 0x80]
je 0x43adc5
mov eax, dword [esi + 0x18]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00422c4c
jmp 0x43aee1
call fcn.00422c28
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0045fe9a
test eax, eax
pop ecx
jle 0x43aed9
cmp dword [esi + 0xb0], 8
jb 0x43ae98
mov eax, dword [esi + 0x9c]
jmp 0x43ae9e
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.004615f0
test eax, eax
pop ecx
pop ecx
je 0x43aed9
lea eax, [ebp - 0x68]
push eax
call fcn.00460ebc
pop ecx
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx + 4]
mov byte [ecx], al
lea ecx, [ebp - 0x80]
call fcn.004395dd
mov eax, dword [esi + 0x18]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.004335b3
test al, al
lea ecx, [ebp - 0x80]
je 0x43ae6e
mov eax, dword [esi + 0x20]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00422c4c
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.004335b3
test al, al
jne 0x43afd5
mov edi, str.nothing
lea ecx, [ebp - 0x80]
call fcn.00422c28
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
add eax, 8
push eax
call fcn.0045fe9a
test eax, eax
pop ecx
jle 0x43afaa
cmp dword [esi + 0xb0], 8
jb 0x43af6a
mov eax, dword [esi + 0x9c]
jmp 0x43af70
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.004615f0
test eax, eax
pop ecx
pop ecx
je 0x43afaa
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x6c]
push dword [eax + 4]
call fcn.0045fd44
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
call fcn.004395dd
mov eax, dword [esi + 0x20]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x80]
call fcn.004335b3
test al, al
je 0x43af3d
mov ecx, esi
call fcn.00439c9f
lea eax, [esi + 0xd0]
cmp dword [eax + 0x18], 8
jb 0x43afed
mov eax, dword [eax + 4]
jmp 0x43aff0
add eax, 4
push eax
push 0x4c4480
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.00422c4c
jmp 0x43b048
call fcn.00422c28
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.00422c28
push dword [eax]
mov ecx, esi
call fcn.0043a4dc
test eax, eax
je 0x43b040
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov eax, dword [eax]
mov dword [ecx], eax
lea ecx, [ebp - 0x70]
call fcn.004395dd
mov eax, dword [esi + 0x58]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.004335b3
test al, al
lea ecx, [ebp - 0x70]
je 0x43b019
mov eax, dword [esi + 0x54]
push eax
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00422c4c
jmp 0x43b0ac
lea ecx, [ebp - 0x70]
call fcn.00422c28
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x70]
call fcn.00422c28
push dword [eax]
mov ecx, esi
call fcn.0043a4dc
test eax, eax
je 0x43b0a4
mov eax, dword [eax + 4]
mov ecx, dword [edi + 4]
mov al, byte [eax]
mov byte [ecx], al
lea ecx, [ebp - 0x70]
call fcn.004395dd
mov eax, dword [esi + 0x54]
push eax
push dword [eax + 4]
lea ecx, [ebp - 0x78]
call fcn.00422c4c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x70]
call fcn.004335b3
test al, al
je 0x43b07a
push 0x74
mov ecx, esi
call fcn.0043a109
push eax
push 0x74
mov ecx, esi
call fcn.0043a69b
push 0x73
mov ecx, esi
call fcn.0043a109
push eax
push 0x73
mov ecx, esi
call fcn.0043a69b
push 0x71
mov ecx, esi
call fcn.0043a109
push eax
push 0x71
mov ecx, esi
call fcn.0043a69b
push 0x72
mov ecx, esi
call fcn.0043a109
push eax
push 0x72
mov ecx, esi
call fcn.0043a69b
push 0x6f
mov ecx, esi
call fcn.0043a109
push eax
push 0x6f
mov ecx, esi
call fcn.0043a69b
push 0x70
mov ecx, esi
call fcn.0043a109
push eax
push 0x70
mov ecx, esi
call fcn.0043a69b
mov ecx, dword [ebp + 0x1a0]
pop edi
xor eax, eax
pop esi
xor ecx, ebp
inc eax
pop ebx
call fcn.0045fa14
add ebp, 0x1a4
leave
ret