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

Disassembly:
push 0xf9c
mov eax, 0x52b52f
call fcn.004e41bf
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 0x4296a4
test dx, dx
je 0x4296a0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4296a4
add eax, 4
add ecx, 4
test dx, dx
jne 0x42967e
xor eax, eax
jmp 0x4296a9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4296b2
call fcn.00429610
push str.test
call fcn.00427d77
pop ecx
mov esi, 0x55695c
lea ecx, [ebp - 0x510]
push esi
call fcn.0040996a
push esi
lea ecx, [ebp - 0x558]
call fcn.0040996a
push esi
lea ecx, [ebp - 0x540]
call fcn.0040996a
push esi
lea ecx, [ebp - 0x4e0]
call fcn.0040996a
push esi
lea ecx, [ebp - 0x4f8]
call fcn.0040996a
push esi
lea ecx, [ebp - 0x528]
call fcn.0040996a
push 0x55eb6c
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 0x429a85
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_LoadResource]
mov edi, eax
test edi, edi
je 0x429a85
push esi
push dword [ebp - 0xf1c]
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
test eax, eax
je 0x429a85
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_LockResource]
push eax
call fcn.0044a447
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.DLL_FreeResource]
xor esi, esi
lea ecx, [ebp - 0x8d8]
push esi
call fcn.0045312d
push esi
push str.configureconfigure.xml
lea ecx, [ebp - 0x8d8]
call fcn.004533f5
test al, al
je 0x429a7a
lea eax, [ebp - 0xae8]
push eax
lea ecx, [ebp - 0x8d8]
call fcn.004532f7
lea ecx, [ebp - 0xae8]
call fcn.00453378
test al, al
je 0x429a7a
lea eax, [ebp - 0xcf8]
push eax
lea ecx, [ebp - 0xae8]
call fcn.004532a5
lea ecx, [ebp - 0xcf8]
call fcn.00453378
test al, al
je 0x429a7a
lea eax, [ebp - 0x798]
push eax
lea ecx, [ebp - 0xcf8]
call fcn.004532a5
jmp 0x429a67
push esi
lea ecx, [ebp - 0x798]
call fcn.004531a3
push eax
lea ecx, [ebp - 0x570]
call fcn.0040996a
push esi
lea ecx, [ebp - 0x798]
call fcn.004531e8
push eax
lea ecx, [ebp - 0x4c8]
call fcn.0040996a
push 1
lea ecx, [ebp - 0x798]
call fcn.004531a3
push eax
lea ecx, [ebp - 0x588]
call fcn.0040996a
push 1
lea ecx, [ebp - 0x798]
call fcn.004531e8
push eax
lea ecx, [ebp - 0x4b0]
call fcn.0040996a
mov edx, 0x55a2b0
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x4298a6
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x510]
call fcn.00402329
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.005049e0
pop ecx
mov ebx, eax
jmp 0x429a0c
mov edx, str.Site_id
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x4298e0
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.005049e0
pop ecx
mov dword [ebp - 0xf18], eax
jmp 0x429a0c
mov edx, str.Language_id
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x429914
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.005049e0
pop ecx
jmp 0x429a0c
mov edx, str.Software_name
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x429933
lea ecx, [ebp - 0x540]
jmp 0x4299fd
mov edx, str.Software_version
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x429952
lea ecx, [ebp - 0x528]
jmp 0x4299fd
mov edx, str.Download_url
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x429998
cmp dword [ebp - 0x4d0], 0
jne 0x429a0c
sub esp, 0x18
lea eax, [ebp - 0x4b0]
mov ecx, esp
push eax
call fcn.0040219e
call fcn.0042c29b
add esp, 0x18
test al, al
jne 0x429a0c
lea ecx, [ebp - 0x4e0]
jmp 0x4299fd
mov edx, str.Extra_download_url
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
jne 0x429966
mov edx, str.MainPid
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x4299e3
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.005049e0
pop ecx
mov dword [ebp - 0xf14], eax
jmp 0x429a0c
mov edx, str.Support32System
lea ecx, [ebp - 0x4c8]
call fcn.0040f692
test al, al
je 0x429a0c
lea ecx, [ebp - 0x558]
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x4b0]
push eax
call fcn.00402329
lea eax, [ebp - 0xf08]
push eax
lea ecx, [ebp - 0x798]
call fcn.0045331c
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.004021c6
push esi
push 1
lea ecx, [ebp - 0x588]
call fcn.004021c6
push esi
push 1
lea ecx, [ebp - 0x4c8]
call fcn.004021c6
push esi
push 1
lea ecx, [ebp - 0x570]
call fcn.004021c6
lea ecx, [ebp - 0x798]
call fcn.0045339c
test al, al
jne 0x4297f9
lea ecx, [ebp - 0x8d8]
call fcn.0045317d
cmp dword [ebp - 0x500], 0
je 0x429b39
lea eax, [ebp - 0x510]
mov edx, str.TS_UI_Frame_
push eax
lea ecx, [ebp - 0x4c8]
call fcn.0042737f
pop ecx
lea eax, [ebp - 0x4c8]
push eax
lea ecx, [ebp - 0xf70]
call fcn.0040219e
push 0xffffffffffffffff
xor edi, edi
lea eax, [ebp - 0xf70]
push edi
push eax
mov ecx, 0x580ee0
call fcn.00402329
push edi
push 1
lea ecx, [ebp - 0xf70]
call fcn.004021c6
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.0042fa15
test al, al
jne 0x429b29
test esi, esi
je 0x429b29
push 1
push esi
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
xor ebx, ebx
lea ecx, [ebp - 0x4c8]
push ebx
push 1
call fcn.004021c6
jmp 0x429fa7
push edi
push 1
lea ecx, [ebp - 0x4c8]
call fcn.004021c6
jmp 0x429b3b
xor edi, edi
push 0x80
lea eax, [ebp - 0x90]
push edi
push eax
call fcn.004fce20
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 0x429b9c
call fcn.0042fa15
test al, al
jne 0x429b9c
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor ebx, ebx
jmp 0x429fa7
mov dword [0x580dc4], edi
cmp ebx, 0x115
je 0x429bbc
cmp ebx, 0x116
je 0x429bbc
xor ebx, ebx
mov byte [ebp - 0xf10], bl
jmp 0x429bc5
mov byte [ebp - 0xf10], 1
xor ebx, ebx
push 0x208
lea eax, [ebp - 0x298]
push ebx
push eax
call fcn.004fce20
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.00401903
pop ecx
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x4f8]
call fcn.004022b0
mov esi, 0x55d99c
push esi
call fcn.00401903
pop ecx
push eax
push ecx
push esi
lea ecx, [ebp - 0x4e0]
call fcn.0042625d
mov esi, eax
cmp esi, 0xffffffff
je 0x429cd0
mov ebx, 0x557ec4
push ebx
call fcn.00401903
pop ecx
push eax
push esi
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.0040221d
cmp eax, 0xffffffff
je 0x429cce
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.00402110
lea eax, [ebp - 0x4c8]
mov edx, 0x55bd28
push eax
lea ecx, [ebp - 0x570]
call fcn.0042737f
pop ecx
push 0xffffffffffffffff
xor ebx, ebx
lea ecx, [ebp - 0x4f8]
push ebx
push eax
call fcn.004263d8
push ebx
push 1
lea ecx, [ebp - 0x570]
call fcn.004021c6
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.004021c6
jmp 0x429cd0
xor ebx, ebx
call fcn.004319f3
sub esp, 0x18
lea eax, [ebp - 0x4f8]
mov ecx, esp
push eax
call fcn.0040219e
sub esp, 0x18
lea eax, [ebp - 0x4e0]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040219e
mov ecx, esi
call fcn.0042d890
mov esi, esp
lea eax, [ebp - 0x540]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040219e
mov ecx, esi
call fcn.0042d890
mov esi, esp
lea eax, [ebp - 0x528]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040219e
mov ecx, esi
call fcn.0042d890
add esp, 0x18
push dword [ebp - 0xf14]
push dword [ebp - 0xf10]
push dword [ebp - 0xf18]
push ecx
call fcn.00432b2f
mov edx, 0x55ec0c
lea ecx, [ebp - 0x558]
call fcn.0040f692
test al, al
je 0x429db5
call fcn.0042d0bf
test eax, eax
jne 0x429db5
push 1
push 0x56204c
push str.32bitStartupForbided
push str.Other
call fcn.004319f3
mov ecx, eax
call fcn.00431a4f
push 0x380
call fcn.004e3709
pop ecx
mov esi, eax
call fcn.0042fb0b
push eax
push 0xd
mov ecx, esi
call fcn.004304c7
push ebx
mov ecx, eax
call fcn.00430705
jmp 0x429fa7
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x429fa7
push 0x100
lea eax, [ebp - 0x498]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
lea ecx, [ebp - 0x498]
call fcn.0042c1ce
push dword [ebp - 0xf1c]
call fcn.0044a30a
mov dword [esp], 0x610
call fcn.004e3709
pop ecx
mov ecx, eax
call fcn.0041944e
mov esi, eax
test esi, esi
je 0x429fa7
push ebx
push 0x190
push 0x258
push ebx
push ebx
push ebx
push 0x800a0000
push str.HitPaw_FotorPea
push ebx
mov ecx, esi
call fcn.0044e44b
mov ecx, esi
call fcn.0044e2f5
push 1
push 1
mov ecx, esi
call fcn.0044e981
call fcn.00449692
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.004064ae
push eax
call fcn.00406541
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x429e94
push str._Wait_exit_1
lea ecx, [eax + 0x20]
call fcn.004063d6
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xf54]
mov edi, vtable.el::base::Writer.0
mov dword [ebp - 0xf54], edi
call fcn.004067a0
lea ecx, [ebp - 0xf28]
call fcn.00409800
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.004241a9
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.004064ae
push eax
call fcn.00406541
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x429f08
push str._Wait_exit_2
lea ecx, [eax + 0x20]
call fcn.004063d6
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xf54]
mov dword [ebp - 0xf54], edi
call fcn.004067a0
lea ecx, [ebp - 0xf28]
call fcn.00409800
or dword [ebp - 4], 0xffffffff
call fcn.004319f3
call fcn.00432146
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.004064ae
push eax
call fcn.00406541
add esp, 0xc
cmp byte [eax + 0x1c], 0
je 0x429f79
push str._Wait_exit_3
lea ecx, [eax + 0x20]
call fcn.004063d6
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xfa8]
mov dword [ebp - 0xfa8], edi
call fcn.004067a0
lea ecx, [ebp - 0xf7c]
call fcn.00409800
call sym.Setup.exe_curl_global_cleanup
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
push 1
lea ecx, [ebp - 0x528]
call fcn.004021c6
push ebx
push 1
lea ecx, [ebp - 0x4f8]
call fcn.004021c6
push ebx
push 1
lea ecx, [ebp - 0x4e0]
call fcn.004021c6
push ebx
push 1
lea ecx, [ebp - 0x540]
call fcn.004021c6
push ebx
push 1
lea ecx, [ebp - 0x558]
call fcn.004021c6
push ebx
push 1
lea ecx, [ebp - 0x510]
call fcn.004021c6
xor eax, eax
call fcn.004e4169
ret 0x10