Function at 0x411fe5
Capabilities:
Create directory
Create process on windows
Get common file path

Disassembly:
mov eax, 0x43cee0
call fcn.0041aa98
sub esp, 0x844
mov eax, dword [str.D__4]
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x838]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x82c], esi
call fcn.00410ab6
xor edi, edi
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], edi
mov ecx, 0x4531f4
mov dword [ebp - 4], edi
call fcn.00430067
mov ecx, 0x4531d8
call fcn.00430067
push edi
add esi, 0x11d4
mov eax, dword [esi]
push eax
push str.zlib1.dll
lea eax, [ebp - 0x838]
push 0x81
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.AlicallUSB.exe
lea eax, [ebp - 0x838]
push 0x15b
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.AlicallRes.dll
lea eax, [ebp - 0x838]
push 0x152
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.Alicall.exe
lea eax, [ebp - 0x838]
push 0x151
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push edi
push eax
push str.LangCH.dll
lea eax, [ebp - 0x838]
push 0x153
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.LangTW.dll
lea eax, [ebp - 0x838]
push 0x154
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.LangEN.dll
lea eax, [ebp - 0x838]
push 0x155
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.YLUSBTEL.dll
push 0x85
lea eax, [ebp - 0x838]
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push edi
push eax
push str.AlicallUSBPhone.dll
lea eax, [ebp - 0x838]
push 0x158
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.msvcr71.dll
lea eax, [ebp - 0x838]
push 0x87
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.msvcp71.dll
lea eax, [ebp - 0x838]
push 0x88
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.AlicallLiveUpdate.exe
lea eax, [ebp - 0x838]
push 0x83
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push edi
push eax
push str.MFC71u.dll
lea eax, [ebp - 0x838]
push 0x89
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.G729_codec.dll
lea eax, [ebp - 0x838]
push 0x8b
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.CrashRpt.dll
lea eax, [ebp - 0x838]
push 0x157
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.BugReporter.exe
lea eax, [ebp - 0x838]
push 0x156
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push edi
push eax
push 0x441e48
lea eax, [ebp - 0x838]
push 0x8f
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.Icon.ico
lea eax, [ebp - 0x838]
push 0x90
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.smslist.txt
lea eax, [ebp - 0x838]
push 0x91
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.GcUsbPhone.dll
lea eax, [ebp - 0x838]
push 0x92
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push edi
push eax
push str.Loading.swf
lea eax, [ebp - 0x838]
push 0x97
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.webalicall.ico
lea eax, [ebp - 0x838]
push 0x15a
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.mobile.ico
lea eax, [ebp - 0x838]
push 0x15c
push eax
call fcn.00411f85
mov eax, dword [esi]
push edi
push eax
push str.G729API.dll
lea eax, [ebp - 0x838]
push 0x15f
push eax
call fcn.00411f85
mov eax, dword [esi]
add esp, 0x50
push 4
push eax
mov ebx, 0x43ee58
push ebx
lea eax, [ebp - 0x838]
push 0x94
push eax
call fcn.00411f85
mov eax, dword [esi]
push 4
push eax
push ebx
lea eax, [ebp - 0x838]
push 0x93
push eax
call fcn.00411f85
mov eax, dword [ebp - 0x82c]
add esp, 0x28
push dword [ebp - 0x830]
push edi
push 0x402
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
call fcn.00431677
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x834]
mov eax, dword [ecx]
cmp eax, ecx
mov byte [ebp - 4], 1
mov dword [ebp - 0x83c], eax
je 0x412481
jmp 0x412348
mov eax, dword [ebp - 0x83c]
mov eax, dword [eax + 8]
push eax
mov dword [ebp - 0x840], eax
call fcn.0041188c
pop ecx
push edi
push 1
test eax, eax
mov eax, dword [ebp - 0x82c]
push 0x402
push dword [eax + 0x1c]
je 0x412461
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x840]
cmp dword [eax], 0x151
jne 0x41243b
mov ecx, dword [ebp - 0x82c]
lea edx, [eax + 4]
push edx
add eax, 0x44
push eax
add ecx, 0x11d8
push str._s_s
push ecx
call fcn.00410f04
add esp, 0x10
call fcn.0040bdba
test eax, eax
mov eax, dword [ebp - 0x82c]
je 0x4123c8
add eax, 0x11d8
push dword [eax]
push str.netsh_advfirewall_firewall_add_rule_name_
jmp 0x4123d4
add eax, 0x11d8
push dword [eax]
push str.netsh_firewall_add_allowedprogram___s_
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
call dword [0x4510b0]
mov dword [ebp - 0x848], eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
mov dword [ebp - 0x850], eax
add eax, 3
and eax, 0xfffffffc
call fcn.0041b590
mov eax, esp
push dword [ebp - 0x848]
lea ecx, [ebp - 0x418]
push dword [ebp - 0x850]
push ecx
push eax
call fcn.004108a9
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
mov eax, dword [ebp - 0x840]
cmp dword [eax], 0x8f
jne 0x412467
lea ecx, [eax + 4]
push ecx
add eax, 0x44
push eax
lea eax, [ebp - 0x84c]
push str._s_s
push eax
call fcn.00410f04
add esp, 0x10
jmp 0x412467
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x83c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x834]
mov dword [ebp - 0x83c], eax
jne 0x412342
lea eax, [ebp - 0x844]
push eax
push edi
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea eax, [ebp - 0x828]
push eax
push dword [ebp - 0x844]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x844]
push eax
push 2
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x844]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x844]
push eax
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
lea eax, [ebp - 0x620]
push eax
push dword [ebp - 0x844]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x218]
push 0x440f18
push eax
call fcn.0041af37
lea eax, [ebp - 0x218]
push 0x441580
push eax
call fcn.0041af37
lea eax, [ebp - 0x620]
push str.MicrosoftInternet_ExplorerQuick_Launch
push eax
call fcn.0041af37
add esp, 0x18
push edi
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x218]
push eax
mov ecx, 0x4531d8
call fcn.004300f7
call fcn.00431677
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x840], eax
push dword [esi]
lea eax, [ebp - 0x840]
push str._swebalicall.ico
push eax
mov byte [ebp - 4], 2
call fcn.00410f04
add esp, 0xc
call fcn.00431677
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x848], eax
push dword [esi]
lea eax, [ebp - 0x848]
push str._smobile.ico
push eax
mov byte [ebp - 4], 3
call fcn.00410f04
mov eax, dword [ebp - 0x82c]
mov eax, dword [eax + 0x11d8]
push 0x44200c
push ebx
lea ecx, [ebp - 0x218]
push ecx
push eax
call fcn.0040c96a
push 0x441fec
push dword [ebp - 0x848]
lea eax, [ebp - 0x218]
push eax
push str.http:__www.alicall.com_alicall_mobile
call fcn.0040c96a
push 0x441f78
push dword [ebp - 0x840]
lea eax, [ebp - 0x218]
push eax
push str.http:__www.alicall.com_alicall_webphone.htm
call fcn.0040c96a
push 0x441f08
push ebx
lea eax, [ebp - 0x218]
push eax
push str.http:__www.alicall.com
call fcn.0040c96a
add esp, 0x4c
push 0x441ec0
push ebx
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x84c]
call fcn.0040c96a
mov eax, dword [ebp - 0x82c]
add esp, 0x10
cmp dword [eax + 0x11cc], edi
je 0x412655
mov eax, dword [eax + 0x11d8]
push 0x44200c
push ebx
lea ecx, [ebp - 0x828]
push ecx
push eax
call fcn.0040c96a
mov eax, dword [ebp - 0x82c]
add esp, 0x10
cmp dword [eax + 0x11d0], edi
je 0x41267f
mov eax, dword [eax + 0x11d8]
push 0x44200c
push ebx
lea ecx, [ebp - 0x620]
push ecx
push eax
call fcn.0040c96a
mov eax, dword [ebp - 0x82c]
add esp, 0x10
push 1
push 2
push 0x402
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_PostMessageW]
push str.Uninst.ini
lea eax, [ebp - 0x83c]
push esi
push eax
call fcn.00410f17
add esp, 0xc
mov byte [ebp - 4], 4
call fcn.00431677
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x82c], eax
push 0xa
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 5
call fcn.004013b2
mov ebx, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor esi, esi
cmp dword [0x453200], edi
jle 0x412727
push esi
lea eax, [ebp - 0x82c]
push 0x441ea0
push eax
call fcn.00410f04
add esp, 0xc
push esi
mov ecx, 0x4531f4
call fcn.0042ffc4
cmp eax, edi
je 0x4127f3
push dword [ebp - 0x83c]
push dword [eax + 8]
push dword [ebp - 0x82c]
push str.Files
call ebx
inc esi
cmp esi, dword [0x453200]
jl 0x4126e0
xor esi, esi
cmp dword [0x4531e4], edi
jle 0x412778
push esi
lea eax, [ebp - 0x82c]
push 0x441ea0
push eax
call fcn.00410f04
add esp, 0xc
push esi
mov ecx, 0x4531d8
call fcn.0042ffc4
cmp eax, edi
je 0x4127f3
push dword [ebp - 0x83c]
push dword [eax + 8]
push dword [ebp - 0x82c]
push str.Dirs
call ebx
inc esi
cmp esi, dword [0x4531e4]
jl 0x412731
lea eax, [ebp - 0x838]
push eax
call fcn.00410b0a
pop ecx
mov ecx, dword [ebp - 0x82c]
add ecx, 0xfffffff0
call fcn.004010aa
mov ecx, dword [ebp - 0x83c]
add ecx, 0xfffffff0
call fcn.004010aa
mov ecx, dword [ebp - 0x848]
add ecx, 0xfffffff0
call fcn.004010aa
mov ecx, dword [ebp - 0x840]
add ecx, 0xfffffff0
call fcn.004010aa
mov ecx, dword [ebp - 0x84c]
add ecx, 0xfffffff0
call fcn.004010aa
lea ecx, [ebp - 0x838]
call fcn.00410ace
lea esp, [ebp - 0x85c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0041ab51
pop edi
pop esi
pop ebx
leave
ret
jmp fcn.0042f684