Function at 0x1002f6d0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10156da5
mov eax, dword fs:[0]
push eax
mov eax, 0x1068
call fcn.1014edc0
mov eax, dword [0x101b900c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x1028]
push eax
call fcn.10031700
mov dword [ebp - 4], 0
cmp dword [ebp - 0x1018], 0
je 0x1002ffa5
push 0xf
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 0
lea ecx, [ebp - 0x1074]
push str.Qingniao_Chrome
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
call fcn.10003600
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1074]
push eax
lea edx, [ebp - 0x1028]
lea ecx, [ebp - 0x105c]
call fcn.1007a270
add esp, 4
mov esi, eax
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1028]
cmp eax, esi
je 0x1002f7c7
mov ecx, eax
call fcn.10003590
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x1028], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1018], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002f80b
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f801
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030033
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002f86b
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f861
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030038
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
push 0xa
mov dword [ebp - 0x104c], eax
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x1048], eax
push str.config.ini
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov dword [ebp - 0x104c], eax
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
call fcn.10003600
mov byte [ebp - 4], 3
lea eax, [ebp - 0x105c]
push eax
lea edx, [ebp - 0x1028]
lea ecx, [ebp - 0x1074]
call fcn.1007a270
add esp, 4
mov esi, eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x1028]
cmp eax, esi
je 0x1002f91d
mov ecx, eax
call fcn.10003590
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x1028], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1018], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002f961
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f957
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003003d
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002f9c1
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f9b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030042
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
call fcn.1007e940
test al, al
je 0x1002ffa5
push 0x1000
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.10121fd0
add esp, 0xc
lea eax, [ebp - 0x1028]
cmp dword [ebp - 0x1014], 8
cmovae eax, dword [ebp - 0x1028]
push eax
push 0x800
lea eax, [ebp - 0x1010]
push eax
push 0x10182c58
push str.OldVersionForUpdate
push str.AppLoadInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x10182c58
lea eax, [ebp - 0x1010]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002fa6e
test dx, dx
je 0x1002fa6a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002fa6e
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002fa48
xor eax, eax
jmp 0x1002fa73
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002ffa5
lea eax, [ebp - 0x1040]
push eax
call fcn.10031700
mov byte [ebp - 4], 5
cmp dword [ebp - 0x1030], 0
je 0x1002ff3b
push str.Qingniao_Chrome
lea ecx, [ebp - 0x105c]
call fcn.10003520
mov byte [ebp - 4], 6
lea eax, [ebp - 0x105c]
push eax
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x1074]
call fcn.1007a270
add esp, 4
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1040]
push eax
call fcn.100034b0
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002fb1b
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fb11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030047
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002fb7c
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fb72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003004c
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
push str.Application
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
call fcn.10003520
mov byte [ebp - 4], 8
lea eax, [ebp - 0x105c]
push eax
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x1074]
call fcn.1007a270
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1040]
push eax
call fcn.100034b0
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002fc1c
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fc12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030051
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002fc7d
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fc73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030056
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
mov word [ebp - 0x105c], ax
lea ecx, [ebp - 0x105c]
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1048], 7
push eax
call fcn.10003520
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x105c]
push eax
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x1074]
call fcn.1007a270
add esp, 4
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1040]
push eax
call fcn.100034b0
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002fd1f
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fd15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003005b
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002fd80
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fd76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030060
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
push str.chrome.dll
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
call fcn.10003520
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x105c]
push eax
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x1074]
call fcn.1007a270
add esp, 4
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1040]
push eax
call fcn.100034b0
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x1060]
cmp edx, 8
jb 0x1002fe20
mov ecx, dword [ebp - 0x1074]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fe16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030065
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1064], 0
mov dword [ebp - 0x1060], 7
mov word [ebp - 0x1074], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002fe81
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fe77
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003006a
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
lea ecx, [ebp - 0x1040]
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
call fcn.1007e940
test al, al
je 0x1002ff3b
lea edx, [ebp - 0x1040]
lea ecx, [ebp - 0x105c]
call fcn.100867a0
mov byte [ebp - 4], 0xe
mov ecx, edi
push eax
call fcn.100034b0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1048]
cmp edx, 8
jb 0x1002ff12
mov ecx, dword [ebp - 0x105c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ff08
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003006f
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x104c], 0
cmp dword [edi + 0x10], eax
mov dword [ebp - 0x1048], 7
mov word [ebp - 0x105c], ax
setne byte [ebp - 0x1041]
jmp 0x1002ff42
mov byte [ebp - 0x1041], 0
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x102c]
cmp edx, 8
jb 0x1002ff86
mov ecx, dword [ebp - 0x1040]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ff7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030074
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1030], 0
mov dword [ebp - 0x102c], 7
mov word [ebp - 0x1040], ax
jmp 0x1002ffac
mov byte [ebp - 0x1041], 0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1014]
cmp edx, 8
jb 0x1002fff3
mov ecx, dword [ebp - 0x1028]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ffe9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030079
push edx
push ecx
call fcn.1010a295
add esp, 8
xor eax, eax
mov dword [ebp - 0x1018], 0
mov word [ebp - 0x1028], ax
mov al, byte [ebp - 0x1041]
mov dword [ebp - 0x1014], 7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10109ef1
mov esp, ebp
pop ebp
ret 4
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
call fcn.10129e39
int3