Function at 0x10001150
Capabilities:
Print debug messages
Read .ini file

Disassembly:
sub esp, 0xe38
mov eax, dword [str.MTXX]
mov cl, byte [0x100031a0]
push ebx
push esi
push edi
mov dword [esp + 0xb38], eax
mov byte [esp + 0xb3c], cl
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xb3d]
rep stosd dword es:[edi], eax
mov dl, byte [0x100031b0]
mov ecx, 0x40
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
lea edi, [esp + 0x931]
mov byte [esp + 0x930], dl
mov byte [esp + 0x214], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x215]
mov byte [esp + 0x520], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x521]
mov byte [esp + 0xd40], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd41]
mov byte [esp + 0x728], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x729]
mov byte [esp + 0xa34], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa35]
mov byte [esp + 0xc3c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xc3d]
mov byte [esp + 0x82c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x82d]
mov byte [esp + 0x318], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x319]
mov byte [esp + 0xc], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x10004244]
lea edx, [esp + 0xc]
push 0x104
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0xc]
push 0x10003010
push edx
call ebx
lea eax, [esp + 0xc]
push str.Config.ini
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x934]
push 0x104
push edx
push 0x100031b0
push str.version
push str.Main
call esi
lea eax, [esp + 0xc]
lea ecx, [esp + 0x214]
push eax
push 0x104
push ecx
push 0x100031b0
push str.partner
push str.Main
call esi
lea edx, [esp + 0xc]
lea eax, [esp + 0x520]
push edx
push 0x104
push eax
push 0x100031b0
push str.client
push str.Main
call esi
lea ecx, [esp + 0xc]
lea edx, [esp + 0xd40]
push ecx
push 0x104
push edx
push 0x100031b0
push 0x1000316c
push str.Main
call esi
lea eax, [esp + 0xc]
lea ecx, [esp + 0x728]
push eax
push 0x104
push ecx
push 0x100031b0
push str.fullname
push str.Main
call esi
lea edx, [esp + 0xc]
lea eax, [esp + 0xa34]
push edx
push 0x104
push eax
push 0x100031b0
push str.count
push str.Main
call esi
lea ecx, [esp + 0xc]
lea edx, [esp + 0xc3c]
push ecx
push 0x104
push edx
push 0x100031b0
push str.installdate
push str.Main
call esi
lea eax, [esp + 0xc]
lea ecx, [esp + 0x82c]
push eax
push 0x104
push ecx
push 0x100031b0
push str.time
push str.Main
call esi
mov dl, byte [0x100031b0]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x625]
mov byte [esp + 0x624], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0xc]
lea ecx, [esp + 0x624]
push eax
push 0x104
push ecx
push 0x100031b0
push 0x10003140
push str.RunOnce
call esi
mov edi, 0x100031b0
lea eax, [esp + 0x214]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x10001459
test cl, cl
je 0x10001455
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x10001459
add eax, 2
add edi, 2
test cl, cl
jne 0x10001435
xor eax, eax
jmp 0x1000145e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000152b
mov al, byte [0x100031b0]
mov ecx, 0x40
mov byte [esp + 0x110], al
xor eax, eax
lea edi, [esp + 0x111]
push ebp
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x114]
push ecx
push 0x104
stosw word es:[edi], ax
push edx
push str.not_get_name
push str.InstallerName
push str.Main
stosb byte es:[edi], al
call esi
lea eax, [esp + 0x114]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
mov ebp, eax
add esp, 8
inc ebp
mov esi, 0x100031b0
lea eax, [esp + 0x628]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100014ef
test cl, cl
je 0x100014eb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100014ef
add eax, 2
add esi, 2
test cl, cl
jne 0x100014cb
xor eax, eax
jmp 0x100014f4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000151f
mov edi, str.NORUN_
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x218]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x218]
push ebp
push ecx
call ebx
pop ebp
lea edx, [esp + 0x82c]
lea eax, [esp + 0xc3c]
push edx
lea ecx, [esp + 0xa38]
push eax
lea edx, [esp + 0x730]
push ecx
lea eax, [esp + 0x52c]
mov esi, dword [sym.imp.MSVCRT.dll__snprintf]
push edx
lea ecx, [esp + 0x224]
push eax
lea edx, [esp + 0x944]
push ecx
lea eax, [esp + 0xb50]
push edx
push eax
push str.http:__data.meitu.com_uninstall.php_software_sversion_spartner_sclient_sfullname_scount_sintime_slasttime_s
lea ecx, [esp + 0x33c]
push 0x104
push ecx
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0x2c
lea edx, [esp + 0x318]
push edx
call ebx
push 0
push 0
lea eax, [esp + 0x320]
push str.xiuxiu
push eax
call fcn.10001000
add esp, 0x10
lea ecx, [esp + 0xc]
push ecx
push 0
push str.QqUninstall
push str.RunOnce
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x1000169a
mov dl, byte [0x100031b0]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x41d]
mov byte [esp + 0x41c], dl
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x420]
push eax
push str.xiuxiu
push str.http:__xiuxiu.hd.meitu.com_1_getcode.php
call fcn.10001000
add esp, 0x10
test eax, eax
je 0x1000169a
mov al, byte [esp + 0x41c]
test al, al
je 0x1000169a
mov cl, byte [0x100031b0]
xor eax, eax
mov byte [esp + 0x110], cl
mov ecx, 0x40
lea edi, [esp + 0x111]
lea edx, [esp + 0xd40]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x520]
push edx
lea ecx, [esp + 0x420]
push eax
lea edx, [esp + 0x21c]
push ecx
push edx
push str.http:__xiuxiu.hd.meitu.com_1_uninstall.php_q_sr_sh_sc_s
lea eax, [esp + 0x124]
push 0x104
push eax
call esi
push 0
push 0
lea ecx, [esp + 0x134]
push str.xiuxiu
push ecx
call fcn.10001000
add esp, 0x2c
lea edx, [esp + 0x110]
push edx
call ebx
pop edi
pop esi
pop ebx
add esp, 0xe38
ret