Function at 0x429c80
Capabilities:
Check mutex on windows
Create directory
Extract resource via kernel32 functions
Get common file path

Disassembly:
push 0xf9c
mov eax, 0x529c8a
call fcn.004e27d2
mov edi, dword [ebp + 8]
mov ecx, str.debug
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xf1c], edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x429cc6
test dx, dx
je 0x429cc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x429cc6
add eax, 4
add ecx, 4
test dx, dx
jne 0x429ca0
xor eax, eax
jmp 0x429ccb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429cd4
call fcn.00429c32
push str.test
call fcn.00428378
pop ecx
mov esi, 0x554928
lea ecx, [ebp - 0x510]
push esi
call fcn.004099b0
push esi
lea ecx, [ebp - 0x558]
call fcn.004099b0
push esi
lea ecx, [ebp - 0x540]
call fcn.004099b0
push esi
lea ecx, [ebp - 0x4e0]
call fcn.004099b0
push esi
lea ecx, [ebp - 0x4f8]
call fcn.004099b0
push esi
lea ecx, [ebp - 0x528]
call fcn.004099b0
push 0x55cc9c
push 0x8a
xor ebx, ebx
and dword [ebp - 0xf18], ebx
and dword [ebp - 0xf14], ebx
push edi
call dword [sym.imp.KERNEL32.DLL_FindResourceW]
mov esi, eax
test esi, esi
je 0x42a0a7
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_LoadResource]
mov edi, eax
test edi, edi
je 0x42a0a7
push esi
push dword [ebp - 0xf1c]
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
test eax, eax
je 0x42a0a7
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_LockResource]
push eax
call fcn.0044ac9b
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.DLL_FreeResource]
xor esi, esi
lea ecx, [ebp - 0x8d8]
push esi
call fcn.00453999
push esi
push str.configureconfigure.xml
lea ecx, [ebp - 0x8d8]
call fcn.00453c61
test al, al
je 0x42a09c
lea eax, [ebp - 0xae8]
push eax
lea ecx, [ebp - 0x8d8]
call fcn.00453b63
lea ecx, [ebp - 0xae8]
call fcn.00453be4
test al, al
je 0x42a09c
lea eax, [ebp - 0xcf8]
push eax
lea ecx, [ebp - 0xae8]
call fcn.00453b11
lea ecx, [ebp - 0xcf8]
call fcn.00453be4
test al, al
je 0x42a09c
lea eax, [ebp - 0x798]
push eax
lea ecx, [ebp - 0xcf8]
call fcn.00453b11
jmp 0x42a089
push esi
lea ecx, [ebp - 0x798]
call fcn.00453a0f
push eax
lea ecx, [ebp - 0x570]
call fcn.004099b0
push esi
lea ecx, [ebp - 0x798]
call fcn.00453a54
push eax
lea ecx, [ebp - 0x4c8]
call fcn.004099b0
push 1
lea ecx, [ebp - 0x798]
call fcn.00453a0f
push eax
lea ecx, [ebp - 0x588]
call fcn.004099b0
push 1
lea ecx, [ebp - 0x798]
call fcn.00453a54
push eax
lea ecx, [ebp - 0x4b0]
call fcn.004099b0
mov edx, 0x558278
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429ec8
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x510]
call fcn.00402389
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00503000
pop ecx
mov ebx, eax
jmp 0x42a02e
mov edx, str.Site_id
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429f02
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00503000
pop ecx
mov dword [ebp - 0xf18], eax
jmp 0x42a02e
mov edx, str.Language_id
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429f36
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00503000
pop ecx
jmp 0x42a02e
mov edx, str.Software_name
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429f55
lea ecx, [ebp - 0x540]
jmp 0x42a01f
mov edx, str.Software_version
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429f74
lea ecx, [ebp - 0x528]
jmp 0x42a01f
mov edx, str.Download_url
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x429fba
cmp dword [ebp - 0x4d0], 0
jne 0x42a02e
sub esp, 0x18
lea eax, [ebp - 0x4b0]
mov ecx, esp
push eax
call fcn.004021fe
call fcn.0042c89e
add esp, 0x18
test al, al
jne 0x42a02e
lea ecx, [ebp - 0x4e0]
jmp 0x42a01f
mov edx, str.Extra_download_url
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
jne 0x429f88
mov edx, str.MainPid
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x42a005
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00503000
pop ecx
mov dword [ebp - 0xf14], eax
jmp 0x42a02e
mov edx, str.Support32System
lea ecx, [ebp - 0x4c8]
call fcn.0040f6f3
test al, al
je 0x42a02e
lea ecx, [ebp - 0x558]
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x4b0]
push eax
call fcn.00402389
lea eax, [ebp - 0xf08]
push eax
lea ecx, [ebp - 0x798]
call fcn.00453b88
mov esi, eax
lea edi, [ebp - 0x798]
mov ecx, 0x83
rep movsd dword es:[edi], dword [esi]
xor esi, esi
lea ecx, [ebp - 0x4b0]
push esi
push 1
call fcn.00402226
push esi
push 1
lea ecx, [ebp - 0x588]
call fcn.00402226
push esi
push 1
lea ecx, [ebp - 0x4c8]
call fcn.00402226
push esi
push 1
lea ecx, [ebp - 0x570]
call fcn.00402226
lea ecx, [ebp - 0x798]
call fcn.00453c08
test al, al
jne 0x429e1b
lea ecx, [ebp - 0x8d8]
call fcn.004539e9
cmp dword [ebp - 0x500], 0
je 0x42a15e
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x4c8]
push str.TS_UI_Frame_
push eax
call fcn.00427933
add esp, 0xc
lea eax, [ebp - 0x4c8]
lea ecx, [ebp - 0xf70]
push eax
call fcn.004021fe
push 0xffffffffffffffff
xor edi, edi
lea eax, [ebp - 0xf70]
push edi
push eax
mov ecx, 0x57eed8
call fcn.00402389
push edi
push 1
lea ecx, [ebp - 0xf70]
call fcn.00402226
cmp dword [ebp - 0x4b4], 8
lea eax, [ebp - 0x4c8]
push edi
cmovae eax, dword [ebp - 0x4c8]
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
call fcn.0043002b
test al, al
jne 0x42a14e
test esi, esi
je 0x42a14e
push 1
push esi
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
xor ebx, ebx
lea ecx, [ebp - 0x4c8]
push ebx
push 1
call fcn.00402226
jmp 0x42a5d3
push edi
push 1
lea ecx, [ebp - 0x4c8]
call fcn.00402226
jmp 0x42a160
xor edi, edi
push 0x80
lea eax, [ebp - 0x90]
push edi
push eax
call fcn.004fb430
add esp, 0xc
lea eax, [ebp - 0x90]
push ebx
push str.AFS_Downloader__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
push 1
push edi
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x42a1c1
call fcn.0043002b
test al, al
jne 0x42a1c1
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor ebx, ebx
jmp 0x42a5d3
mov dword [0x57edbc], edi
cmp ebx, 0x115
je 0x42a1e1
cmp ebx, 0x116
je 0x42a1e1
xor ebx, ebx
mov byte [ebp - 0xf10], bl
jmp 0x42a1ea
mov byte [ebp - 0xf10], 1
xor ebx, ebx
push 0x208
lea eax, [ebp - 0x298]
push ebx
push eax
call fcn.004fb430
add esp, 0xc
lea eax, [ebp - 0x298]
push eax
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
lea eax, [ebp - 0x298]
push eax
call fcn.00401963
pop ecx
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00402310
mov esi, 0x55b954
push esi
call fcn.00401963
pop ecx
push eax
push ecx
push esi
lea ecx, [ebp - 0x4e0]
call fcn.0042681d
mov esi, eax
cmp esi, 0xffffffff
je 0x42a2fc
mov ebx, 0x555e8c
push ebx
call fcn.00401963
pop ecx
push eax
push esi
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.0040227d
cmp eax, 0xffffffff
je 0x42a2fa
sub eax, esi
lea ecx, [ebp - 0x4e0]
dec eax
push eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x4c8]
push eax
call fcn.00402170
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x570]
push 0x559cf0
push eax
call fcn.00427933
add esp, 0xc
lea ecx, [ebp - 0x4f8]
xor ebx, ebx
push 0xffffffffffffffff
push ebx
push eax
call fcn.00426998
push ebx
push 1
lea ecx, [ebp - 0x570]
call fcn.00402226
cmp dword [ebp - 0x4e4], 8
lea eax, [ebp - 0x4f8]
push ebx
cmovae eax, dword [ebp - 0x4f8]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
push ebx
push 1
lea ecx, [ebp - 0x4c8]
call fcn.00402226
jmp 0x42a2fc
xor ebx, ebx
call fcn.0043200e
sub esp, 0x18
lea eax, [ebp - 0x4f8]
mov ecx, esp
push eax
call fcn.004021fe
sub esp, 0x18
lea eax, [ebp - 0x4e0]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004021fe
mov ecx, esi
call fcn.0042de96
mov esi, esp
lea eax, [ebp - 0x540]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004021fe
mov ecx, esi
call fcn.0042de96
mov esi, esp
lea eax, [ebp - 0x528]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004021fe
mov ecx, esi
call fcn.0042de96
add esp, 0x18
push dword [ebp - 0xf14]
push dword [ebp - 0xf10]
push dword [ebp - 0xf18]
push ecx
call fcn.00433164
mov edx, 0x55cd3c
lea ecx, [ebp - 0x558]
call fcn.0040f6f3
test al, al
je 0x42a3e1
call fcn.0042d6c5
test eax, eax
jne 0x42a3e1
push 1
push 0x557b61
push str.32bitStartupForbided
push str.Other
call fcn.0043200e
mov ecx, eax
call fcn.0043206a
push 0x380
call fcn.004e1d39
pop ecx
mov esi, eax
call fcn.00430121
push eax
push 0xd
mov ecx, esi
call fcn.00430add
push ebx
mov ecx, eax
call fcn.00430d1b
jmp 0x42a5d3
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x42a5d3
push 0x100
lea eax, [ebp - 0x498]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
lea ecx, [ebp - 0x498]
call fcn.0042c7d1
push dword [ebp - 0xf1c]
call fcn.0044ab5e
mov dword [esp], 0x610
call fcn.004e1d39
pop ecx
mov ecx, eax
call fcn.004194fe
mov esi, eax
test esi, esi
je 0x42a5d3
push ebx
push 0x190
push 0x258
push ebx
push ebx
push ebx
push 0x800a0000
push 0x55cd58
push ebx
mov ecx, esi
call fcn.0044ec9d
mov ecx, esi
call fcn.0044eb47
push 1
push 1
mov ecx, esi
call fcn.0044f1d3
call fcn.00449ee6
push edi
call dword [sym.imp.KERNEL32.DLL_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push str.default
push 1
push ecx
push ecx
push str.int___stdcall_wWinMain_struct_HINSTANCE____struct_HINSTANCE____wchar_t__int_
push 0xd8
push str........._srcCommonwWndMain.cpp
push 0x80
lea ecx, [ebp - 0xf54]
call fcn.004064f1
push eax
call fcn.00406584
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x42a4c0
push str._Wait_exit_1
lea ecx, [eax + 0x20]
call fcn.00406419
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xf54]
mov edi, vtable.el::base::Writer.0
mov dword [ebp - 0xf54], edi
call fcn.004067e3
lea ecx, [ebp - 0xf28]
call fcn.00409846
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.004247a1
mov esi, str.default
push esi
push 1
push ecx
push ecx
push str.int___stdcall_wWinMain_struct_HINSTANCE____struct_HINSTANCE____wchar_t__int_
push 0xda
push str........._srcCommonwWndMain.cpp
push 0x80
lea ecx, [ebp - 0xf54]
call fcn.004064f1
push eax
call fcn.00406584
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x42a534
push str._Wait_exit_2
lea ecx, [eax + 0x20]
call fcn.00406419
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xf54]
mov dword [ebp - 0xf54], edi
call fcn.004067e3
lea ecx, [ebp - 0xf28]
call fcn.00409846
or dword [ebp - 4], 0xffffffff
call fcn.0043200e
call fcn.0043276c
push esi
push 1
push ecx
push ecx
push str.int___stdcall_wWinMain_struct_HINSTANCE____struct_HINSTANCE____wchar_t__int_
push 0xdc
push str........._srcCommonwWndMain.cpp
push 0x80
lea ecx, [ebp - 0xfa8]
call fcn.004064f1
push eax
call fcn.00406584
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x42a5a5
push str._Wait_exit_3
lea ecx, [eax + 0x20]
call fcn.00406419
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xfa8]
mov dword [ebp - 0xfa8], edi
call fcn.004067e3
lea ecx, [ebp - 0xf7c]
call fcn.00409846
call sym.Setup.exe_curl_global_cleanup
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
push 1
lea ecx, [ebp - 0x528]
call fcn.00402226
push ebx
push 1
lea ecx, [ebp - 0x4f8]
call fcn.00402226
push ebx
push 1
lea ecx, [ebp - 0x4e0]
call fcn.00402226
push ebx
push 1
lea ecx, [ebp - 0x540]
call fcn.00402226
push ebx
push 1
lea ecx, [ebp - 0x558]
call fcn.00402226
push ebx
push 1
lea ecx, [ebp - 0x510]
call fcn.00402226
xor eax, eax
call fcn.004e277c
ret 0x10