Function at 0x41efaf
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 0x470b1f
mov eax, dword fs:[0]
push eax
mov eax, 0x10718
call fcn.00434ef0
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.004501cb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x10514]
call fcn.0040acad
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.004501cb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1043c]
call fcn.0040acad
lea eax, [ebp - 0x1043c]
push eax
lea eax, [ebp - 0x10514]
push eax
lea eax, [ebp - 0x105bc]
push eax
call fcn.0040f696
add esp, 0xc
lea ecx, [ebp - 0x1043c]
xor ebx, ebx
inc ebx
push edi
push ebx
call fcn.0040a71d
sub esp, 0x18
lea eax, [ebp - 0x10514]
mov ecx, esp
push eax
call fcn.00407098
call fcn.004147b9
add esp, 0x18
test al, al
jne 0x41fb99
call fcn.00414911
mov dword [ebp - 0x106b0], eax
test eax, eax
je 0x41fb99
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.004100ab
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.0041de03
add esp, 0x14
lea ecx, [ebp - 0x10454]
push edi
push ebx
call fcn.0040a6c8
push edi
push ebx
lea ecx, [ebp - 0x104b4]
call fcn.0040a71d
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 0x41f172
lock inc dword [eax + 4]
push eax
push edx
call fcn.0046dba4
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 0x41f1a1
lock inc dword [eax + 4]
push eax
push edx
call fcn.0046dba4
lea ecx, [ebp - 0x106ac]
call fcn.0041fd7c
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.0040acad
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.0040acad
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 0x4797c8
mov dword [ebp - 0x1057c], edi
mov word [ebp - 0x1058c], ax
call fcn.004501cb
pop ecx
push eax
push 0x4797c8
lea ecx, [ebp - 0x1058c]
call fcn.0040acad
push edi
push ebx
lea ecx, [ebp - 0x104cc]
call fcn.0040a71d
lea eax, [ebp - 0x1058c]
push eax
lea ecx, [ebp - 0x104cc]
call fcn.004242d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1058c]
push edi
push ebx
call fcn.0040a71d
mov dword [ebp - 0x10560], esi
xor eax, eax
mov esi, 0x47a528
mov dword [ebp - 0x10564], edi
push esi
mov word [ebp - 0x10574], ax
call fcn.004501cb
pop ecx
push eax
push esi
lea ecx, [ebp - 0x10574]
call fcn.0040acad
push edi
push ebx
lea ecx, [ebp - 0x104fc]
call fcn.0040a71d
lea eax, [ebp - 0x10574]
push eax
lea ecx, [ebp - 0x104fc]
call fcn.004242d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10574]
push edi
push ebx
call fcn.0040a71d
push edi
lea ecx, [ebp - 0x1043c]
mov dword [ebp - 0x1042c], edi
mov dword [ebp - 0x10428], 7
call fcn.00416e57
push 0x47a578
lea ecx, [ebp - 0x1043c]
call fcn.0040ac86
push 0x47a57c
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.0041690d
add esp, 0xc
lea ecx, [ebp - 0x10454]
push edi
push ebx
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x1043c]
call fcn.0040a71d
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.0041170f
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.0040a6c8
lea eax, [ebp - 0x1049c]
push eax
call fcn.004164c4
pop ecx
cmp eax, ebx
jne 0x41f3e6
mov ecx, dword [ebp - 0x106a0]
push str.Failed_at_reading_token.
push 4
call fcn.00403735
push 0x4736ca
lea ecx, [ebp - 0x1049c]
call fcn.00413b93
lea eax, [ebp - 0x10484]
push eax
call fcn.004156e8
pop ecx
test al, al
je 0x41f3fe
call fcn.00414f30
jmp 0x41f40f
lea eax, [ebp - 0x10484]
push eax
call fcn.0041437c
pop ecx
test al, al
je 0x41f416
mov esi, ebx
jmp 0x41f63d
lea eax, [ebp - 0x10484]
mov dword [ebp - 0x106a4], eax
lea ecx, [ebp - 0x10694]
lea eax, [ebp - 0x106a4]
push eax
call fcn.0040eff1
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.004158d7
add esp, 0x34
test al, al
je 0x41f47a
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 0x47a6a0
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x105a4]
push eax
call fcn.0040f72b
lea eax, [ebp - 0x105a4]
push eax
lea eax, [ebp - 0x1049c]
push eax
call fcn.00415317
add esp, 0x14
test al, al
je 0x41f4be
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.0040a6c8
lea eax, [ebp - 0x10544]
push eax
lea eax, [ebp - 0x1049c]
push eax
call fcn.00414b50
pop ecx
pop ecx
test al, al
je 0x41f4f7
push str.Failed_to_decode_base64_token._Continuing_with_installation.
jmp 0x41f549
push 0x47a7c4
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x10454]
push eax
call fcn.0040f72b
add esp, 0xc
lea ecx, [ebp - 0x105a4]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a71d
lea eax, [ebp - 0x105a4]
push eax
lea eax, [ebp - 0x10544]
push eax
call fcn.00415317
pop ecx
pop ecx
test al, al
je 0x41f556
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.00408501
test al, al
je 0x41f589
sub esp, 0x18
lea eax, [ebp - 0x105f4]
mov ecx, esp
push eax
call fcn.00406ff8
lea ecx, [ebp - 0x105dc]
call fcn.00408262
test al, al
jne 0x41f8d0
lea eax, [ebp - 0x105dc]
push eax
call fcn.0041699a
pop ecx
test al, al
jne 0x41f616
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.0042002e
test al, al
jne 0x41f611
push 0xa
push 0x85
lea eax, [ebp - 0x106d0]
push eax
lea ecx, [ebp - 0x106ac]
call fcn.0042002e
test al, al
jne 0x41f611
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.00415f15
add esp, 0x10
test al, al
je 0x41f6c0
call fcn.00414f30
mov esi, ebx
push edi
push ebx
lea ecx, [ebp - 0x10544]
call fcn.0040a6c8
push edi
push ebx
lea ecx, [ebp - 0x105a4]
call fcn.0040a71d
lea ecx, [ebp - 0x10694]
call fcn.0040779e
push edi
push ebx
lea ecx, [ebp - 0x1049c]
call fcn.0040a6c8
push edi
push ebx
lea ecx, [ebp - 0x105f4]
call fcn.0040a6c8
push edi
push ebx
lea ecx, [ebp - 0x104fc]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x104cc]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x1055c]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x10484]
call fcn.0040a71d
lea ecx, [ebp - 0x106ac]
call fcn.00413837
lea ecx, [ebp - 0x105dc]
call fcn.00407782
mov ecx, dword [ebp - 0x1069c]
test ecx, ecx
je 0x41f6b0
call fcn.00408d46
lea ecx, [ebp - 0x1061c]
call fcn.0040779e
jmp 0x41fb9b
lea eax, [ebp - 0x10484]
push eax
push ecx
push ecx
lea eax, [ebp - 0x106ac]
mov ecx, esp
push eax
call fcn.00412f09
call fcn.004160d3
add esp, 0xc
test al, al
jne 0x41f611
push 0x47a8a8
lea ecx, [ebp - 0x104b4]
call fcn.004070c0
push eax
lea eax, [ebp - 0x10484]
push eax
lea eax, [ebp - 0x10454]
push eax
call fcn.0040f696
add esp, 0xc
lea ecx, [ebp - 0x104b4]
push edi
push ebx
call fcn.0040a71d
sub esp, 0x18
lea eax, [ebp - 0x10454]
mov ecx, esp
push eax
call fcn.00407098
lea ecx, [ebp - 0x106ac]
call fcn.0041fdb9
test al, al
je 0x41f745
call fcn.00414f30
jmp 0x41f8b1
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.0040f6be
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.00456777
pop ecx
pop ecx
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41f838
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.00411420
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a71d
jmp 0x41f850
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x424]
push eax
push str.Token:_token_doesnt_exist_at_path:___
push esi
call fcn.00410e8f
push edi
push ebx
lea ecx, [ebp - 0x1043c]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x104b4]
call fcn.0040a71d
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.0041545a
add esp, 0x34
test al, al
je 0x41f8c3
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.0040a71d
jmp 0x41f616
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a71d
lea ecx, [ebp - 0x1052c]
call fcn.004129bb
lea ecx, [ebp - 0x1046c]
call fcn.004129bb
lea eax, [ebp - 0x104e4]
push eax
lea ecx, [ebp - 0x105dc]
call fcn.00408177
push eax
lea ecx, [ebp - 0x1052c]
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a71d
cmp dword [ebp - 0x1051c], 0
mov ecx, dword [ebp - 0x106a0]
jne 0x41f932
push str.Galaxy_does_not_exist._Shutting_down
push esi
call fcn.00403735
mov esi, ebx
jmp 0x41fb7a
push 0x4797c8
push str.Proceeding_with_installation_screen_for_product_id_.
push esi
call fcn.00410e8f
push 0x4797c8
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.00410c07
add esp, 0xc
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x10454]
call fcn.0040a71d
cmp dword [ebp - 0x1048c], 0
jbe 0x41f9f3
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.00410c5e
add esp, 0x10
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a71d
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.004118cb
lea eax, [ebp - 0x1046c]
push eax
lea eax, [ebp - 0x1052c]
push eax
push ecx
mov eax, esp
mov dword [eax], 0x47ab74
lea eax, [ebp - 0x104e4]
push eax
call fcn.00410cc3
add esp, 0x10
lea ecx, [ebp - 0x1046c]
push eax
call fcn.0042b985
push edi
push ebx
lea ecx, [ebp - 0x104e4]
call fcn.0040a71d
push 0x44
pop esi
push esi
lea eax, [ebp - 0x10724]
push edi
push eax
call fcn.0044e670
push 0x10
lea eax, [ebp - 0x106c0]
mov dword [ebp - 0x10724], esi
push edi
push eax
call fcn.0044e670
cmp dword [ebp - 0x10458], 8
lea eax, [ebp - 0x1046c]
cmovae eax, dword [ebp - 0x1046c]
push eax
lea eax, [ebp - 0x10424]
push eax
call fcn.00456777
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.0040f041
lea eax, [ebp - 0x106c0]
mov dword [ebp - 0x10698], eax
lea ecx, [ebp - 0x10644]
lea eax, [ebp - 0x10698]
push eax
call fcn.0040f019
test esi, esi
jne 0x41fb49
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.004115e4
mov esi, ebx
jmp 0x41fb64
mov ecx, dword [ebp - 0x106a0]
lea eax, [ebp - 0x104cc]
push eax
push str.Looks_like_installation_of_product__succeeded.
push 2
call fcn.0041170f
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.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x1052c]
call fcn.0040a71d
jmp 0x41f618
mov esi, ebx
push edi
push ebx
lea ecx, [ebp - 0x105bc]
call fcn.0040a71d
push edi
push ebx
lea ecx, [ebp - 0x10514]
call fcn.0040a71d
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.004349b3
mov esp, ebp
pop ebp
ret 0x10