Function at 0x405080
Capabilities:
Copy file
Create process on windows
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xee0
mov eax, dword [0x43d00c]
lea esi, [esp + 0xcce]
xor ecx, ecx
xor eax, ebp
mov dword [esp + 0xed8], eax
mov eax, 0x20a
push eax
push ecx
push esi
call fcn.00414930
add esp, 0xc
mov ebx, 0x104
mov edi, 0x43efd4
push ebx
push edi
push esi
call fcn.0041fc49
add esp, 0xc
lea esi, [esp + 0xac4]
mov eax, 0x20a
push eax
xor eax, eax
push eax
push esi
call fcn.00414930
add esp, 0xc
push ebx
push edi
push esi
call fcn.0041fc49
add esp, 0xc
push str.updater.ini
push esi
call fcn.00411250
add esp, 8
test eax, eax
je 0x405195
lea edi, [esp + 0x8ba]
push esi
push 0x105
push edi
push 0
push str.ExeRelPath
push str.PostUpdateWin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x405195
lea ebx, [esp + 0x6b0]
push esi
push 0x105
push ebx
push 0
push str.ExeArg
push str.PostUpdateWin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x405195
push 0x4385c8
push edi
call fcn.00414e60
add esp, 8
test eax, eax
jne 0x405195
push 0x4385c2
push edi
call fcn.00414e60
add esp, 8
test eax, eax
jne 0x405195
push 0x4384fc
push edi
call fcn.00414e60
add esp, 8
test eax, eax
jne 0x405195
push 0x438502
push edi
call fcn.00414e60
add esp, 8
test eax, eax
je 0x4051af
xor ebx, ebx
mov ecx, dword [esp + 0xed8]
xor ecx, ebp
call fcn.00412591
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, word [esp + 0x8ba]
mov esi, ebx
xor ebx, ebx
lea ecx, [eax - 0x2e]
cmp cx, 2
jb 0x405197
cmp ax, 0x5c
je 0x405197
lea ebx, [esp + 0x4a6]
push 0x20a
push 0
push ebx
call fcn.00414930
add esp, 0xc
push 0x104
push 0x43efd4
push ebx
call fcn.0041fc49
add esp, 0xc
push edi
push ebx
call fcn.00411250
add esp, 8
test eax, eax
je 0x405195
push ebx
call fcn.004102d0
add esp, 4
test al, al
je 0x405195
cmp byte [0x43efd0], 0
je 0x405230
push 1
push ebx
push 0x43efd4
call fcn.0040f520
add esp, 0xc
test eax, eax
je 0x405195
lea eax, [esp + 0x29c]
push str.uninstall.update
push ebx
push eax
call fcn.00410550
add esp, 0xc
test eax, eax
je 0x405195
lea eax, [esp + 0x92]
push 0x20a
push 0
push eax
call fcn.00414930
add esp, 0xc
cmp byte [0x43efd1], 1
jne 0x4053c2
lea eax, [esp + 0x92]
push eax
push 0x438214
push 0x43e7a8
call fcn.00410720
add esp, 0xc
test eax, eax
je 0x405195
xor eax, eax
lea edi, [esp + 0x70]
xor ebx, ebx
xorps xmm0, xmm0
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x18], eax
movaps xmmword [edi], xmm0
push 0xd
push str.argv0ignored
push edi
call fcn.0041fc49
add esp, 0xc
push esi
call fcn.0041f7d0
add esp, 4
mov dword [esp + 0xc], eax
push edi
call fcn.0041f7d0
add esp, 4
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
lea eax, [eax + eax + 2]
push eax
call fcn.0041f18c
add esp, 4
test eax, eax
je 0x405197
mov ecx, eax
push dword [esp + 0xc]
push edi
mov ebx, eax
push ecx
call fcn.0041fc49
add esp, 0xc
push esi
push ebx
call fcn.0041f73d
add esp, 8
xor esi, esi
push esi
lea eax, [esp + 0x2a0]
push eax
lea eax, [esp + 0x9a]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x10]
xorps xmm0, xmm0
mov dword [eax + 4], esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x14], esi
mov dword [eax + 0x20], esi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x28], esi
mov dword [eax + 0x24], esi
mov dword [eax + 0x30], esi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x38], esi
mov dword [eax + 0x34], esi
mov dword [eax + 0x40], esi
mov dword [eax + 0x3c], esi
mov dword [eax], 0x44
mov dword [eax + 8], 0x438640
movaps xmmword [ecx], xmm0
push ecx
push eax
lea eax, [esp + 0xcd6]
push eax
push esi
push esi
push esi
push esi
push esi
push ebx
lea eax, [esp + 0x4ca]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov edi, eax
push ebx
call fcn.0041ed02
add esp, 4
test edi, edi
setne bl
je 0x405197
push 0xffffffffffffffff
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x10]
call esi
push dword [esp + 0x14]
call esi
jmp 0x405197
push 0x104
push 0x43e7a8
lea edi, [esp + 0x9a]
push edi
call fcn.0041fc49
add esp, 0xc
push 0x438208
push edi
call fcn.00411250
add esp, 8
jmp 0x40528c