Function at 0x100166b0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100be498
mov eax, dword fs:[0]
push eax
mov eax, 0x10b4
call fcn.100b7420
mov eax, dword [0x1010001c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10b4], edx
mov esi, ecx
mov ecx, 0x100de834
mov dword [ebp - 0x109c], 0
xor eax, eax
mov dword [ebp - 0x1098], 0
mov dword [ebp - 0x109c], 0
mov dword [ebp - 0x1098], 7
mov word [ebp - 0x10ac], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10016723
sub ecx, edx
sar ecx, 1
push ecx
push 0x100de834
lea ecx, [ebp - 0x10ac]
call fcn.10003a30
lea eax, [ebp - 0x10ac]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x1034]
push esi
push eax
call fcn.10008350
add esp, 0xc
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x100167a5
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001679b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10016bf2
push edx
push ecx
call fcn.1008a52b
add esp, 8
xor eax, eax
mov dword [ebp - 0x109c], 0
mov dword [ebp - 0x1098], 7
mov word [ebp - 0x10ac], ax
lea eax, [ebp - 0x1034]
mov byte [ebp - 4], 2
push eax
call fcn.10006940
add esp, 4
test al, al
je 0x10016b6b
push 0x1000
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.1008c730
add esp, 0xc
lea eax, [ebp - 0x1034]
cmp dword [ebp - 0x1020], 8
cmovae eax, dword [ebp - 0x1034]
push eax
push 0x800
lea eax, [ebp - 0x1010]
push eax
push 0x100e1bcc
push str.EntryFlag
push str.ServiceRunInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x10016b6b
cmp word [ebp - 0x1010], 0
je 0x10016b6b
xor eax, eax
mov dword [ebp - 0x109c], 0
lea ecx, [ebp - 0x1010]
mov dword [ebp - 0x1098], 0
mov dword [ebp - 0x109c], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x1098], 7
mov word [ebp - 0x10ac], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10016880
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10ac]
call fcn.10003a30
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x1094]
push eax
call fcn.100360c0
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x10016900
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100168f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10016bf7
push edx
push ecx
call fcn.1008a52b
add esp, 8
xor eax, eax
mov dword [ebp - 0x109c], 0
mov dword [ebp - 0x1098], 7
mov word [ebp - 0x10ac], ax
lea eax, [ebp - 0x1094]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x1064]
push eax
call fcn.1005c8c0
add esp, 8
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.10009e40
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x107c]
cmp dword [ebp - 0x1050], 0x10
lea ecx, [ebp - 0x1064]
mov edx, dword [ebp - 0x1054]
cmovae ecx, dword [ebp - 0x1064]
push eax
call fcn.10012f00
add esp, 4
test al, al
je 0x10016b3a
cmp dword [ebp - 0x106c], 0
je 0x10016b3a
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x104c]
push eax
call fcn.10036030
mov edx, 0x100e1b88
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x104c]
call fcn.10009250
mov edx, 0x100e1b88
lea ecx, [ebp - 0x104c]
call fcn.100092d0
xorps xmm0, xmm0
mov dword [ebp - 0x1014], 0
movq qword [ebp - 0x101c], xmm0
mov dword [ebp - 0x101c], 0
mov dword [ebp - 0x1018], 0
mov dword [ebp - 0x1014], 0
lea eax, [ebp - 0x101c]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x104c]
push 0x3b
push eax
call fcn.100099c0
mov ecx, dword [ebp - 0x1018]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x101c]
add esp, 0x14
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jb 0x10016ac2
cmp dword [esi + 0x14], 8
jb 0x10016a3e
mov esi, dword [esi]
push esi
call fcn.1009b10c
mov ecx, dword [ebp - 0x101c]
add esp, 4
add ecx, 0x18
mov dword [ebp - 0x10b0], edx
mov ebx, eax
cmp dword [ecx + 0x14], 8
jb 0x10016a60
mov ecx, dword [ecx]
push ecx
call fcn.1009b10c
mov ecx, ebx
add esp, 4
or ecx, dword [ebp - 0x10b0]
mov esi, eax
mov edi, edx
je 0x10016ac2
mov ecx, esi
or ecx, edi
je 0x10016ac2
lea eax, [ebp - 0x10c0]
push eax
call fcn.10006630
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edi
jb 0x10016ac2
ja 0x10016a9b
cmp ecx, esi
jbe 0x10016ac2
sub ecx, esi
sbb eax, edi
test eax, eax
ja 0x10016ac2
jb 0x10016aad
cmp ecx, 0xe10
jae 0x10016ac2
mov ecx, dword [ebp - 0x10b4]
mov eax, dword [ebp - 0x10b0]
mov dword [ecx], ebx
mov bl, 1
mov dword [ecx + 4], eax
jmp 0x10016ac4
xor bl, bl
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 0x20
call fcn.10004d70
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x10016b17
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10016b0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10016bfc
push edx
push ecx
call fcn.1008a52b
add esp, 8
xor eax, eax
mov dword [ebp - 0x103c], 0
mov dword [ebp - 0x1038], 7
mov word [ebp - 0x104c], ax
mov byte [ebp - 4], 0x1b
jmp 0x10016b3c
xor bl, bl
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.10009db0
lea ecx, [ebp - 0x1064]
mov byte [ebp - 4], 0x15
call fcn.10009db0
lea ecx, [ebp - 0x1094]
mov byte [ebp - 4], 2
call fcn.10009db0
jmp 0x10016b6d
xor bl, bl
mov dword [ebp - 4], 0x36
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x10016bb0
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10016ba6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10016c01
push edx
push ecx
call fcn.1008a52b
add esp, 8
xor eax, eax
mov dword [ebp - 0x1024], 0
mov dword [ebp - 0x1020], 7
mov word [ebp - 0x1034], ax
mov dword [ebp - 4], 0xffffffff
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1008a187
mov esp, ebp
pop ebp
ret
call fcn.1008e2b2
call fcn.1008e2b2
call fcn.1008e2b2
call fcn.1008e2b2
int3