Function at 0x40265a
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Create directory
Delete file
Get common file path
Read .ini file
Set current directory
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x358
push ebx
push esi
push edi
push 0x402643
call fcn.0040502c
pop ecx
call fcn.0040305c
mov eax, dword [ebp + 8]
mov edi, 0x408b60
mov esi, 0x104
push edi
push esi
mov dword [0x40850c], eax
call dword [0x40607c]
mov ebx, 0x408510
push ebx
push 0
push 0x407144
push edi
call dword [0x406060]
push ebx
call dword [0x406024]
xor edi, edi
push edi
push ebx
call dword [0x406040]
push ebx
call dword [0x40606c]
push 1
call fcn.00402532
test eax, eax
pop ecx
jne 0x4026e3
push 0x10
push 0xc8
push 0xd0
push edi
call fcn.0040182f
add esp, 0x10
push edi
call fcn.00404fca
mov edi, 0x408408
push ebx
push edi
call fcn.00404fe8
pop ecx
pop ecx
push str.Update.ini
push edi
call dword [0x406118]
push ebx
mov ebx, 0x408a58
push ebx
call fcn.00404fe8
pop ecx
pop ecx
push str.Language.ini
push ebx
call dword [0x406118]
call fcn.00401690
mov ebx, dword [0x406014]
push edi
lea eax, [ebp - 0x150]
push esi
push eax
push 0x4082dc
push str.ApplierMutex
push 0x40704c
call ebx
lea eax, [ebp - 0x150]
push eax
call fcn.00404ffa
test eax, eax
pop ecx
je 0x402791
lea eax, [ebp - 0x150]
push eax
push 1
push 0
call dword [0x406078]
mov dword [ebp - 4], eax
call dword [0x406054]
sub eax, 0xb7
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 4], 0
mov dword [ebp - 8], eax
je 0x402786
push dword [ebp - 4]
call dword [0x406074]
mov eax, dword [ebp - 8]
test eax, eax
je 0x402791
push 0
call fcn.00404fca
push edi
lea eax, [ebp - 0x150]
push esi
push eax
push 0x4082dc
push str.TargetMutex
push 0x40704c
call ebx
lea eax, [ebp - 0x150]
push eax
call fcn.00404ffa
test eax, eax
pop ecx
je 0x402823
lea eax, [ebp - 0x150]
push eax
push 0
push 0x100000
call dword [0x406070]
test eax, eax
je 0x402823
push eax
call dword [0x406074]
lea eax, [ebp - 0x254]
push esi
push eax
push 0xdb
push dword [ebp + 8]
call fcn.00401784
push str.PatchWise
push 0x4070fc
lea eax, [ebp - 0x254]
push esi
push eax
call fcn.004016d3
add esp, 0x20
xor esi, esi
lea eax, [ebp - 0x254]
push 0x30
push esi
push eax
push esi
call dword [0x406158]
push esi
call fcn.00404fca
push edi
push esi
push 0x408c68
push 0x4082dc
push str.AppName
push 0x40704c
call ebx
lea eax, [ebp - 0x358]
push esi
push eax
push 0xcb
push dword [0x40850c]
call fcn.00401784
lea eax, [ebp - 0x358]
push 0x408c68
push eax
push 0x408720
call fcn.00404fe2
add esp, 0x1c
push edi
push esi
push 0x408848
push 0x4082dc
push str.AppDesc
push 0x40704c
call ebx
push edi
push esi
push 0x408950
push 0x4082dc
push str.Name
push str.Author
call ebx
push edi
push esi
push 0x408d70
push 0x4082dc
push str.Email
push str.Author
call ebx
mov edi, dword [ebp + 8]
xor esi, esi
push 0x136
push edi
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], 0x4010bb
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0x1e
mov dword [ebp - 0x20], edi
call dword [0x406130]
push 0x7f00
push esi
mov dword [ebp - 0x1c], eax
call dword [0x406134]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x14], 0x10
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], 0x4070c4
call dword [0x406138]
push esi
push esi
push esi
push 0x134
push edi
call dword [0x40613c]
push 0x408720
push eax
mov dword [0x40894c], eax
call dword [0x406168]
push dword [ebp + 0x14]
push dword [0x40894c]
call dword [0x406140]
mov edi, dword [0x406144]
jmp 0x402958
lea eax, [ebp - 0x4c]
push eax
call dword [0x406148]
lea eax, [ebp - 0x4c]
push eax
call dword [0x40614c]
push esi
push esi
lea eax, [ebp - 0x4c]
push esi
push eax
call edi
test eax, eax
jne 0x402944
mov eax, dword [ebp - 0x44]
pop edi
pop esi
pop ebx
leave
ret 0x10