Function at 0x10014776
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0xc424]
mov eax, 0xc424
call fcn.10043e70
push 0xffffffffffffffff
push 0x1005fdce
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x1007ef24]
xor eax, ebp
mov dword [ebp + 0xc420], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
push 0x1ff
lea eax, [ebp + 0xc101]
push ebx
push eax
mov byte [ebp + 0xc100], bl
call fcn.10042a90
add esp, 0xc
push 0x200
lea eax, [ebp + 0xc100]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp byte [ebp + 0xc100], bl
je 0x10014f65
lea edi, [ebp + 0xc100]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x100147f8
push 6
pop ecx
mov esi, str.hardpolMyIEDatamain.ini
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push 7
mov byte [ebp + 0xc3c0], bl
xor eax, eax
pop ecx
lea edi, [ebp + 0xc3c1]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebx
stosb byte es:[edi], al
call fcn.10043e25
push edx
push eax
lea eax, [ebp + 0xc3c0]
push 0x10065b4c
push eax
call fcn.100436a6
add esp, 0x14
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc3c0]
push eax
push str.FLAG8
mov esi, str.SYSTEM
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 7
pop ecx
xor eax, eax
mov byte [ebp + 0xc340], bl
lea edi, [ebp + 0xc341]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 7
pop ecx
xor eax, eax
mov byte [ebp + 0xc400], bl
lea edi, [ebp + 0xc401]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp + 0xc100]
push eax
push 0x20
lea eax, [ebp + 0xc340]
push eax
push 0x100643c0
push str.FLAG10
push esi
call edi
lea eax, [ebp + 0xc100]
push eax
push 0x20
lea eax, [ebp + 0xc400]
push eax
push 0x10065750
push str.FLAG7
push esi
call edi
mov esi, str.o2nr3k2c0o23
lea edi, [ebp + 0xc300]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
lea edi, [ebp + 0xc30d]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 6
pop ecx
mov esi, str.vnetservices.l0086.com.cn
lea edi, [ebp + 0xbc00]
rep movsd dword es:[edi], dword [esi]
push 0x1e6
lea eax, [ebp + 0xbc1a]
push ebx
push eax
movsw word es:[edi], word [esi]
call fcn.10042a90
push 6
pop ecx
mov esi, str.vnetservices.l0086.com.cn
lea edi, [ebp + 0xb800]
rep movsd dword es:[edi], dword [esi]
push 0x1e6
lea eax, [ebp + 0xb81a]
push ebx
push eax
movsw word es:[edi], word [esi]
call fcn.10042a90
push 0x1fff
lea eax, [ebp + 1]
push ebx
push eax
mov byte [ebp], bl
call fcn.10042a90
mov esi, str.UpdateSetting.asmx
lea edi, [ebp + 0xba00]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x1ed
lea eax, [ebp + 0xba13]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.10042a90
push 0xfff
lea eax, [ebp + 0xa001]
push ebx
push eax
mov byte [ebp + 0xa000], bl
call fcn.10042a90
push 0x3ff
lea eax, [ebp + 0xb401]
push ebx
push eax
mov byte [ebp + 0xb400], bl
call fcn.10042a90
add esp, 0x48
mov esi, 0xff
push esi
lea eax, [ebp + 0xbf01]
push ebx
push eax
mov byte [ebp + 0xbf00], bl
call fcn.10042a90
push esi
lea eax, [ebp + 0xbe01]
push ebx
push eax
mov byte [ebp + 0xbe00], bl
call fcn.10042a90
push esi
lea eax, [ebp + 0xc001]
push ebx
push eax
mov byte [ebp + 0xc000], bl
call fcn.10042a90
add esp, 0x24
push esi
lea eax, [ebp + 0xbf00]
push eax
lea eax, [ebp + 0xc300]
mov edi, 0x10081520
push eax
mov ecx, edi
call fcn.1000b697
push esi
lea eax, [ebp + 0xbe00]
push eax
lea eax, [ebp + 0xc340]
push eax
mov ecx, edi
call fcn.1000b697
push esi
lea eax, [ebp + 0xc000]
push eax
lea eax, [ebp + 0xc400]
push eax
mov ecx, edi
call fcn.1000b697
lea eax, [ebp + 0xc000]
push eax
lea eax, [ebp + 0xbe00]
push eax
lea eax, [ebp + 0xbf00]
push eax
lea eax, [ebp + 0xb400]
push str.__xml_version_1.0__encoding_utf_8____r_n_soap:Envelope_xmlns:xsi_http:__www.w3.org_2001_XMLSchema_instance__xmlns:xsd_http:__www.w3.org_2001_XMLSchema__xmlns:soap_http:__schemas.xmlsoap.org_soap_envelope____r_n_soap:Body___r_n_c_xmlns_http:__tempuri.org_____r_n_s1__s__s1___r_n_s2__s__s2___r_n_s3__s__s3___r_n__c___r_n__soap:Body___r_n__soap:Envelope__r_n
push eax
call fcn.100436a6
lea eax, [ebp + 0xb400]
add esp, 0x14
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10014a56
sub eax, esi
lea ecx, [ebp + 0xbc00]
push ecx
push eax
mov dword [ebp - 0x14], eax
mov eax, ecx
push eax
lea eax, [ebp + 0xa000]
push str.Host:__s_r_nContent_Type:_text_xml__charsetutf_8_r_nContent_Length:__d_r_nAccept:_xml_r_nSOAPAction:__http:__tempuri.org_c__r_n_r_n
push eax
call fcn.100436a6
add esp, 0x14
push ebx
push ebx
push ebx
push ebx
push 1
push ebx
lea ecx, [ebp - 0x2c]
call fcn.100298b5
push ebx
push ebx
push 0x50
lea eax, [ebp + 0xb800]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.1002a471
push ebx
push ebx
push ebx
push 1
mov ecx, eax
push ebx
lea eax, [ebp + 0xba00]
push eax
push 0x10064ab0
mov dword [ebp - 0x18], ecx
call fcn.1002a669
mov esi, eax
cmp esi, ebx
je 0x10014f59
push 0xffffffffffffffff
push 0x10000000
lea eax, [ebp + 0xa000]
push eax
mov ecx, esi
call fcn.10029190
lea eax, [ebp + 0xa000]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10014aee
push dword [ebp - 0x14]
lea ecx, [ebp + 0xb400]
push ecx
sub eax, edx
push eax
lea eax, [ebp + 0xa000]
push eax
mov ecx, esi
call fcn.10029e15
lea eax, [ebp - 0x34]
push eax
mov ecx, esi
call fcn.100291c3
cmp dword [ebp - 0x34], 0xc8
lea eax, [ebp]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], ebx
je 0x10014b55
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
mov edi, dword [ebp - 0x18]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 4]
jmp 0x10014f59
mov eax, dword [esi]
push 0xfa0
push dword [ebp - 0x14]
mov ecx, esi
call dword [eax + 0x34]
cmp eax, ebx
jbe 0x10014b74
add dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1f40
jle 0x10014b9b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [ebp - 4], ebx
jmp 0x10014bad
add dword [ebp - 0x14], eax
jmp 0x10014b55
lea ecx, [ebp - 0x2c]
call fcn.10029f18
lea eax, [ebp]
push str._cResult_
push eax
call fcn.10043620
mov dword [ebp - 0x14], eax
lea eax, [ebp]
push str.__cResult_
push eax
call fcn.10043620
mov esi, 0x3fff
push esi
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x2001]
push ebx
push eax
mov byte [ebp + 0x2000], bl
call fcn.10042a90
mov ecx, dword [ebp - 0x14]
add esp, 0x1c
cmp ecx, ebx
je 0x10014f59
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x10014f59
add ecx, 9
sub eax, ecx
cmp eax, esi
jg 0x10014f59
push eax
push ecx
lea eax, [ebp + 0x2000]
push eax
call fcn.10043ac0
push esi
lea eax, [ebp + 0x6001]
push ebx
push eax
mov byte [ebp + 0x6000], bl
call fcn.10042a90
add esp, 0x18
push esi
lea eax, [ebp + 0x6000]
push eax
lea eax, [ebp + 0x2000]
push eax
mov ecx, edi
call fcn.1000a924
push 0x4000
lea eax, [ebp + 0x2000]
push ebx
push eax
call fcn.10042a90
add esp, 0xc
lea eax, [ebp + 0x6000]
push eax
lea eax, [ebp + 0x2000]
push eax
mov ecx, edi
call fcn.10006c26
xor eax, eax
push 7
pop esi
mov byte [ebp + 0xc3e0], bl
mov ecx, esi
lea edi, [ebp + 0xc3e1]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [ebp + 0xc3a0], bl
mov ecx, esi
lea edi, [ebp + 0xc3a1]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [ebp + 0xc360], bl
mov ecx, esi
lea edi, [ebp + 0xc361]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x3ff
stosb byte es:[edi], al
lea eax, [ebp + 0xb001]
push ebx
push eax
mov byte [ebp + 0xb000], bl
call fcn.10042a90
xor eax, eax
mov byte [ebp + 0xc320], bl
mov ecx, esi
lea edi, [ebp + 0xc321]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [ebp + 0xc380], bl
mov ecx, esi
lea edi, [ebp + 0xc381]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp + 0x2000]
push str.Width_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, esi
mov esi, 0x10063df0
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x20
jae 0x10014f59
push eax
lea eax, [ebp + 0xc3e0]
push edi
push eax
call fcn.10043ac0
lea eax, [ebp + 0x2000]
push str.Height_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, 8
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x20
jae 0x10014f59
push eax
lea eax, [ebp + 0xc3a0]
push edi
push eax
call fcn.10043ac0
lea eax, [ebp + 0x2000]
push str.Position_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, 0xa
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x20
jae 0x10014f59
push eax
lea eax, [ebp + 0xc360]
push edi
push eax
call fcn.10043ac0
lea eax, [ebp + 0x2000]
push str.JsFilePath_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, 0xc
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x400
jae 0x10014f59
push eax
lea eax, [ebp + 0xb000]
push edi
push eax
call fcn.10043ac0
lea eax, [ebp + 0x2000]
push str.VersionSettings_VersionNumber_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, 0x1f
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x20
jae 0x10014f59
push eax
lea eax, [ebp + 0xc320]
push edi
push eax
call fcn.10043ac0
lea eax, [ebp + 0x2000]
push str.Frequentness_
push eax
call fcn.10043620
mov edi, eax
add esp, 0x14
cmp edi, ebx
je 0x10014f59
add edi, 0xe
push esi
push edi
call fcn.10043620
cmp eax, ebx
pop ecx
pop ecx
je 0x10014f59
sub eax, edi
cmp eax, 0x20
jae 0x10014f59
push eax
lea eax, [ebp + 0xc380]
push edi
push eax
call fcn.10043ac0
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
add esp, 0xc
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc3e0]
push eax
push str.FLAG3
mov ebx, str.SYSTEM
push ebx
call edi
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc3a0]
push eax
push str.FLAG4
push ebx
call edi
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc360]
push eax
push str.FLAG5
push ebx
call edi
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xb000]
push eax
push str.FLAG6
push ebx
call edi
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc320]
push eax
push str.FLAG7
push ebx
call edi
lea eax, [ebp + 0xc100]
push eax
lea eax, [ebp + 0xc380]
push eax
push str.FLAG9
push ebx
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.1002a009
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xc420]
xor ecx, ebp
call fcn.10042977
add ebp, 0xc424
leave
ret