Function at 0x41efe5
Capabilities:
Check if file exists
Copy file
Create process on windows
Get common file path
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x470b0f
mov eax, dword fs:[0]
push eax
mov eax, 0x10718
call fcn.00434ed0
mov eax, dword [0x496b64]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 7
pop ebx
xor eax, eax
mov dword [ebp - 0x10500], ebx
mov esi, str.C:_ProgramData_GOG.com_Galaxy_logs_
mov word [ebp - 0x10514], ax
xor edi, edi
push esi
mov dword [ebp - 0x10504], edi
call fcn.004501bb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x10514]
call fcn.0040acd8
xor eax, eax
mov dword [ebp - 0x10428], ebx
mov esi, 0x47a4c0
mov dword [ebp - 0x1042c], edi
push esi
mov word [ebp - 0x1043c], ax
call fcn.004501bb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1043c]
call fcn.0040acd8
lea eax, [ebp - 0x1043c]
push eax
lea eax, [ebp - 0x10514]
push eax
lea eax, [ebp - 0x105bc]
push eax
call fcn.0040f6c9
add esp, 0xc
lea ecx, [ebp - 0x1043c]
xor ebx, ebx
inc ebx
push edi
push ebx
call fcn.0040a748
sub esp, 0x18
lea eax, [ebp - 0x10514]
mov ecx, esp
push eax
call fcn.00407098
call fcn.004147eb
add esp, 0x18
test al, al
jne 0x41fbcf
call fcn.00414943
mov dword [ebp - 0x106b0], eax
test eax, eax
je 0x41fbcf
lea eax, [ebp - 0x106b0]
mov dword [ebp - 0x105f8], edi
mov dword [ebp - 0x106a4], eax
lea ecx, [ebp - 0x1061c]
lea eax, [ebp - 0x106a4]
push eax
call fcn.004100fa
cmp dword [ebp - 0x105a8], 8
lea eax, [ebp - 0x105bc]
lea ecx, [ebp - 0x104b4]
cmovae eax, dword [ebp - 0x105bc]
push eax
call fcn.004070c0
push str.fileLogger
lea ecx, [ebp - 0x10454]
call fcn.0040701e
push 3
push 0x500000
lea eax, [ebp - 0x104b4]
push eax
lea eax, [ebp - 0x10454]
push eax
lea eax, [ebp - 0x106a0]
push eax
call fcn.0041de39
add esp, 0x14
lea ecx, [ebp - 0x10454]
push edi
push ebx
call fcn.0040a6f3
push edi
push ebx
lea ecx, [ebp - 0x104b4]
call fcn.0040a748
mov ecx, dword [ebp - 0x106a0]
push 2
add ecx, 0x38
pop eax
xchg dword [ecx], eax
mov ecx, dword [ebp - 0x106a0]
push str.Initializing_installer_bootstrapper.
push 2
call fcn.0040361d
push ecx
push ecx
mov ecx, esp
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov eax, dword [ebp - 0x1069c]
mov edx, dword [ebp - 0x106a0]
test eax, eax
je 0x41f1a8
lock inc dword [eax + 4]
push eax
push edx
call fcn.0046db9a
lea ecx, [ebp - 0x105dc]
call fcn.00407260
push ecx
push ecx
mov ecx, esp
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov eax, dword [ebp - 0x1069c]
mov edx, dword [ebp - 0x106a0]
test eax, eax
je 0x41f1d7
lock inc dword [eax + 4]
push eax
push edx
call fcn.0046db9a
lea ecx, [ebp - 0x106ac]
call fcn.0041fdb2
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x10470], ecx
push edi
mov dword [ebp - 0x10548], ecx
mov esi, 0x474228
mov dword [ebp - 0x104b8], ecx
lea ecx, [ebp - 0x104cc]
push esi
mov dword [ebp - 0x10474], edi
mov word [ebp - 0x10484], ax
mov dword [ebp - 0x1054c], edi
mov word [ebp - 0x1055c], ax
mov dword [ebp - 0x104bc], edi
mov word [ebp - 0x104cc], ax
call fcn.0040acd8
push edi
xor eax, eax
mov dword [ebp - 0x104e8], 7
push esi
lea ecx, [ebp - 0x104fc]
mov dword [ebp - 0x104ec], edi
mov word [ebp - 0x104fc], ax
call fcn.0040acd8
push str.0.0.0
lea ecx, [ebp - 0x105f4]
call fcn.0040701e
push 7
pop esi
xor eax, eax
mov dword [ebp - 0x10578], esi
push str.2147483071
mov dword [ebp - 0x1057c], edi
mov word [ebp - 0x1058c], ax
call fcn.004501bb
pop ecx
push eax
push str.2147483071
lea ecx, [ebp - 0x1058c]
call fcn.0040acd8
push edi
push ebx
lea ecx, [ebp - 0x104cc]
call fcn.0040a748
lea eax, [ebp - 0x1058c]
push eax
lea ecx, [ebp - 0x104cc]
call fcn.00424315
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1058c]
push edi
push ebx
call fcn.0040a748
mov dword [ebp - 0x10560], esi
xor eax, eax
mov esi, 0x47a524
mov dword [ebp - 0x10564], edi
push esi
mov word [ebp - 0x10574], ax
call fcn.004501bb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x10574]
call fcn.0040acd8
push edi
push ebx
lea ecx, [ebp - 0x104fc]
call fcn.0040a748
lea eax, [ebp - 0x10574]
push eax
lea ecx, [ebp - 0x104fc]
call fcn.00424315
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10574]
push edi
push ebx
call fcn.0040a748
push edi
lea ecx, [ebp - 0x1043c]
mov dword [ebp - 0x1042c], edi
mov dword [ebp - 0x10428], 7
call fcn.00416e89
push 0x47a550
lea ecx, [ebp - 0x1043c]
call fcn.0040acb1
push 0x47a554
lea ecx, [ebp - 0x10454]
call fcn.004070c0
lea eax, [ebp - 0x1043c]
push eax
lea eax, [ebp - 0x10454]
push eax
lea eax, [ebp - 0x104fc]
push eax
call fcn.0041693f
add esp, 0xc
lea ecx, [ebp - 0x10454]
push edi
push ebx
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x1043c]
call fcn.0040a748
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x104cc]
push eax
push str.Trying_to_install_product_.
push 2
pop esi
push esi
call fcn.00411741
mov ecx, dword [ebp - 0x106a0]
push str.Has_token._Try_to_read_it
push esi
call fcn.00403735
push edi
push edi
lea ecx, [ebp - 0x1049c]
mov dword [ebp - 0x1048c], edi
mov dword [ebp - 0x10488], edi
call fcn.0040a6f3
lea eax, [ebp - 0x1049c]
push eax
call fcn.004164f6
pop ecx
cmp eax, ebx
jne 0x41f41c
mov ecx, dword [ebp - 0x106a0]
push str.Failed_at_reading_token.
push 4
call fcn.00403735
push 0x4736ca
lea ecx, [ebp - 0x1049c]
call fcn.00413bc5
lea eax, [ebp - 0x10484]
push eax
call fcn.0041571a
pop ecx
test al, al
je 0x41f434
call fcn.00414f62
jmp 0x41f445
lea eax, [ebp - 0x10484]
push eax
call fcn.004143ae
pop ecx
test al, al
je 0x41f44c
mov esi, ebx
jmp 0x41f673
lea eax, [ebp - 0x10484]
mov dword [ebp - 0x106a4], eax
lea ecx, [ebp - 0x10694]
lea eax, [ebp - 0x106a4]
push eax
call fcn.0040f04c
lea eax, [ebp - 0x105f4]
push eax
sub esp, 0x18
lea eax, [ebp - 0x104cc]
mov ecx, esp
push eax
call fcn.00407098
sub esp, 0x18
lea eax, [ebp - 0x10484]
mov ecx, esp
push eax
call fcn.00407098
call fcn.00415909
add esp, 0x34
test al, al
je 0x41f4b0
mov ecx, dword [ebp - 0x106a0]
push str.Due_to_failure_in_getting_allowed_version_from_remote_config__setting_allowed_Galaxy_version_to_0.0.0.
push esi
call fcn.0040361d
push 0x47a678
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x105a4]
push eax
call fcn.0040f75e
lea eax, [ebp - 0x105a4]
push eax
lea eax, [ebp - 0x1049c]
push eax
call fcn.00415349
add esp, 0x14
test al, al
je 0x41f4f4
mov ecx, dword [ebp - 0x106a0]
push str.Failed_to_dump_token_to_payload_file._Continuing_with_installation.
push 4
call fcn.00403735
push edi
push edi
lea ecx, [ebp - 0x10544]
mov dword [ebp - 0x10534], edi
mov dword [ebp - 0x10530], edi
call fcn.0040a6f3
lea eax, [ebp - 0x10544]
push eax
lea eax, [ebp - 0x1049c]
push eax
call fcn.00414b82
pop ecx
pop ecx
test al, al
je 0x41f52d
push str.Failed_to_decode_base64_token._Continuing_with_installation.
jmp 0x41f57f
push 0x47a79c
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x10454]
push eax
call fcn.0040f75e
add esp, 0xc
lea ecx, [ebp - 0x105a4]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a748
lea eax, [ebp - 0x105a4]
push eax
lea eax, [ebp - 0x10544]
push eax
call fcn.00415349
pop ecx
pop ecx
test al, al
je 0x41f58c
push str.Failed_to_dump_decoded_token_to_payload_file._Continuing_with_installation.
mov ecx, dword [ebp - 0x106a0]
push 4
call fcn.00403735
lea ecx, [ebp - 0x105dc]
call fcn.004084f0
test al, al
je 0x41f5bf
sub esp, 0x18
lea eax, [ebp - 0x105f4]
mov ecx, esp
push eax
call fcn.00406ff8
lea ecx, [ebp - 0x105dc]
call fcn.00408251
test al, al
jne 0x41f906
lea eax, [ebp - 0x105dc]
push eax
call fcn.004169cc
pop ecx
test al, al
jne 0x41f64c
mov ecx, dword [ebp - 0x106a0]
push str.System_fulfills_Galaxy_requirements.
push esi
call fcn.0040361d
push 0xa
push 0x81
lea eax, [ebp - 0x106e0]
push eax
lea ecx, [ebp - 0x106ac]
call fcn.00420064
test al, al
jne 0x41f647
push 0xa
push 0x85
lea eax, [ebp - 0x106d0]
push eax
lea ecx, [ebp - 0x106ac]
call fcn.00420064
test al, al
jne 0x41f647
lea eax, [ebp - 0x1055c]
push eax
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x106d0]
push eax
lea eax, [ebp - 0x106e0]
push eax
call fcn.00415f47
add esp, 0x10
test al, al
je 0x41f6f6
call fcn.00414f62
mov esi, ebx
push edi
push ebx
lea ecx, [ebp - 0x10544]
call fcn.0040a6f3
push edi
push ebx
lea ecx, [ebp - 0x105a4]
call fcn.0040a748
lea ecx, [ebp - 0x10694]
call fcn.0040779e
push edi
push ebx
lea ecx, [ebp - 0x1049c]
call fcn.0040a6f3
push edi
push ebx
lea ecx, [ebp - 0x105f4]
call fcn.0040a6f3
push edi
push ebx
lea ecx, [ebp - 0x104fc]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x104cc]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x1055c]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x10484]
call fcn.0040a748
lea ecx, [ebp - 0x106ac]
call fcn.00413869
lea ecx, [ebp - 0x105dc]
call fcn.00407782
mov ecx, dword [ebp - 0x1069c]
test ecx, ecx
je 0x41f6e6
call fcn.00408d35
lea ecx, [ebp - 0x1061c]
call fcn.0040779e
jmp 0x41fbd1
lea eax, [ebp - 0x10484]
push eax
push ecx
push ecx
lea eax, [ebp - 0x106ac]
mov ecx, esp
push eax
call fcn.00412f3b
call fcn.00416105
add esp, 0xc
test al, al
jne 0x41f647
push 0x47a880
lea ecx, [ebp - 0x104b4]
call fcn.004070c0
push eax
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x10454]
push eax
call fcn.0040f6c9
add esp, 0xc
lea ecx, [ebp - 0x104b4]
push edi
push ebx
call fcn.0040a748
sub esp, 0x18
lea eax, [ebp - 0x10454]
mov ecx, esp
push eax
call fcn.00407098
lea ecx, [ebp - 0x106ac]
call fcn.0041fdef
test al, al
je 0x41f77b
call fcn.00414f62
jmp 0x41f8e7
push str.gogGalaxy.auth
lea ecx, [ebp - 0x104b4]
call fcn.004070c0
lea eax, [ebp - 0x104b4]
push eax
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x1043c]
push eax
call fcn.0040f6f1
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
cmp dword [ebp - 0x104a0], 8
lea ecx, [ebp - 0x104b4]
mov dword [ebp - 0x10698], eax
cmovae ecx, dword [ebp - 0x104b4]
push ecx
lea ecx, [ebp - 0x424]
lea eax, [ecx + eax*2]
push eax
call fcn.00456747
pop ecx
pop ecx
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41f86e
cmp dword [ebp - 0x10428], 8
lea eax, [ebp - 0x1043c]
push edi
cmovae eax, dword [ebp - 0x1043c]
push eax
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.DLL_CopyFileW]
mov dword [ebp - 0x106a4], eax
lea ecx, [ebp - 0x104e4]
lea eax, [ebp - 0x424]
push eax
call fcn.004070c0
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x1043c]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x106a4]
push eax
lea eax, [ebp - 0x10698]
push eax
push str.Token:_copy_result:_____source_path:_____target_path:___
push esi
call fcn.00411452
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a748
jmp 0x41f886
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x424]
push eax
push str.Token:_token_doesnt_exist_at_path:___
push esi
call fcn.00410ec2
push edi
push ebx
lea ecx, [ebp - 0x1043c]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x104b4]
call fcn.0040a748
sub esp, 0x18
lea eax, [ebp - 0x104fc]
mov ecx, esp
push eax
call fcn.00407098
sub esp, 0x18
lea eax, [ebp - 0x104cc]
mov ecx, esp
push eax
call fcn.00407098
lea eax, [ebp - 0x1055c]
push eax
call fcn.0041548c
add esp, 0x34
test al, al
je 0x41f8f9
mov ecx, dword [ebp - 0x106a0]
push str.C_Installer_returned_nonzero_error_code.
push 3
call fcn.0040361d
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a748
jmp 0x41f64c
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a748
lea ecx, [ebp - 0x1052c]
call fcn.004129ed
lea ecx, [ebp - 0x1046c]
call fcn.004129ed
lea eax, [ebp - 0x104e4]
push eax
lea ecx, [ebp - 0x105dc]
call fcn.00408166
push eax
lea ecx, [ebp - 0x1052c]
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a748
cmp dword [ebp - 0x1051c], 0
mov ecx, dword [ebp - 0x106a0]
jne 0x41f968
push str.Galaxy_does_not_exist._Shutting_down
push esi
call fcn.00403735
mov esi, ebx
jmp 0x41fbb0
push str.2147483071
push str.Proceeding_with_installation_screen_for_product_id_.
push esi
call fcn.00410ec2
push str.2147483071
lea ecx, [ebp - 0x10454]
call fcn.004070c0
push eax
push ecx
mov eax, esp
mov dword [eax], str._commandinstallationScreen__gameId
lea eax, [ebp - 0x104e4]
push eax
call fcn.00410c3a
add esp, 0xc
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a748
cmp dword [ebp - 0x1048c], 0
jbe 0x41fa29
cmp dword [ebp - 0x10488], 0x10
lea eax, [ebp - 0x1049c]
cmovae eax, dword [ebp - 0x1049c]
mov dword [ebp - 0x10698], eax
lea eax, [ebp - 0x10698]
push eax
lea eax, [ebp - 0x1046c]
push eax
push ecx
mov eax, esp
mov dword [eax], str.__payload
lea eax, [ebp - 0x104e4]
push eax
call fcn.00410c91
add esp, 0x10
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a748
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x1046c]
push eax
lea eax, [ebp - 0x1052c]
push eax
push str.Launching_Galaxy_Client___path_____params___.
push esi
call fcn.004118fd
lea eax, [ebp - 0x1046c]
push eax
lea eax, [ebp - 0x1052c]
push eax
push ecx
mov eax, esp
mov dword [eax], 0x47ab4c
lea eax, [ebp - 0x104e4]
push eax
call fcn.00410cf6
add esp, 0x10
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a748
push 0x44
pop esi
push esi
lea eax, [ebp - 0x10724]
push edi
push eax
call fcn.0044e660
push 0x10
lea eax, [ebp - 0x106c0]
mov dword [ebp - 0x10724], esi
push edi
push eax
call fcn.0044e660
cmp dword [ebp - 0x10458], 8
lea eax, [ebp - 0x1046c]
cmovae eax, dword [ebp - 0x1046c]
push eax
lea eax, [ebp - 0x10424]
push eax
call fcn.00456747
add esp, 0x20
lea eax, [ebp - 0x106c0]
push eax
lea eax, [ebp - 0x10724]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x10424]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
mov esi, eax
lea ecx, [ebp - 0x1066c]
lea eax, [ebp - 0x106c0]
mov dword [ebp - 0x10698], eax
lea eax, [ebp - 0x10698]
push eax
call fcn.0040f074
lea eax, [ebp - 0x106c0]
mov dword [ebp - 0x10698], eax
lea ecx, [ebp - 0x10644]
lea eax, [ebp - 0x10698]
push eax
call fcn.0040f024
test esi, esi
jne 0x41fb7f
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp - 0x10458], 8
mov ecx, dword [ebp - 0x106a0]
mov dword [ebp - 0x10698], eax
lea eax, [ebp - 0x1046c]
cmovae eax, dword [ebp - 0x1046c]
mov dword [ebp - 0x106a4], eax
lea eax, [ebp - 0x10698]
push eax
lea eax, [ebp - 0x106a4]
push eax
push str.Launching_Galaxy_Client__params:___failed_with_error_code_.
push 4
call fcn.00411616
mov esi, ebx
jmp 0x41fb9a
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x104cc]
push eax
push str.Looks_like_installation_of_product__succeeded.
push 2
call fcn.00411741
mov esi, edi
lea ecx, [ebp - 0x10644]
call fcn.0040779e
lea ecx, [ebp - 0x1066c]
call fcn.0040779e
push edi
push ebx
lea ecx, [ebp - 0x1046c]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x1052c]
call fcn.0040a748
jmp 0x41f64e
mov esi, ebx
push edi
push ebx
lea ecx, [ebp - 0x105bc]
call fcn.0040a748
push edi
push ebx
lea ecx, [ebp - 0x10514]
call fcn.0040a748
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043499a
mov esp, ebp
pop ebp
ret 0x10