Function at 0x10015390
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b3358
mov eax, dword fs:[0]
push eax
mov eax, 0x10b4
call fcn.100ac4a0
mov eax, dword [0x100f101c]
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, 0x100d2804
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 0x10015403
sub ecx, edx
sar ecx, 1
push ecx
push 0x100d2804
lea ecx, [ebp - 0x10ac]
call fcn.100039c0
lea eax, [ebp - 0x10ac]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x1034]
push esi
push eax
call fcn.10008000
add esp, 0xc
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x10015485
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001547b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100158d2
push edx
push ecx
call fcn.1007fceb
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.10006900
add esp, 4
test al, al
je 0x1001584b
push 0x1000
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.10081e90
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 0x100d5934
push str.EntryFlag
push str.ServiceRunInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x1001584b
cmp word [ebp - 0x1010], 0
je 0x1001584b
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 0x10015560
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10ac]
call fcn.100039c0
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x1094]
push eax
call fcn.1002c8a0
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x100155e0
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100155d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100158d7
push edx
push ecx
call fcn.1007fceb
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.10052a80
add esp, 8
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.10009ad0
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.100120d0
add esp, 4
test al, al
je 0x1001581a
cmp dword [ebp - 0x106c], 0
je 0x1001581a
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x104c]
push eax
call fcn.1002c810
mov edx, 0x100d58f0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x104c]
call fcn.10008ee0
mov edx, 0x100d58f0
lea ecx, [ebp - 0x104c]
call fcn.10008f60
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.10009650
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 0x100157a2
cmp dword [esi + 0x14], 8
jb 0x1001571e
mov esi, dword [esi]
push esi
call fcn.1009086c
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 0x10015740
mov ecx, dword [ecx]
push ecx
call fcn.1009086c
mov ecx, ebx
add esp, 4
or ecx, dword [ebp - 0x10b0]
mov esi, eax
mov edi, edx
je 0x100157a2
mov ecx, esi
or ecx, edi
je 0x100157a2
lea eax, [ebp - 0x10c0]
push eax
call fcn.100065f0
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edi
jb 0x100157a2
ja 0x1001577b
cmp ecx, esi
jbe 0x100157a2
sub ecx, esi
sbb eax, edi
test eax, eax
ja 0x100157a2
jb 0x1001578d
cmp ecx, 0xe10
jae 0x100157a2
mov ecx, dword [ebp - 0x10b4]
mov eax, dword [ebp - 0x10b0]
mov dword [ecx], ebx
mov bl, 1
mov dword [ecx + 4], eax
jmp 0x100157a4
xor bl, bl
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 0x20
call fcn.10004d30
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x100157f7
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100157ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100158dc
push edx
push ecx
call fcn.1007fceb
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 0x1001581c
xor bl, bl
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.10009a40
lea ecx, [ebp - 0x1064]
mov byte [ebp - 4], 0x15
call fcn.10009a40
lea ecx, [ebp - 0x1094]
mov byte [ebp - 4], 2
call fcn.10009a40
jmp 0x1001584d
xor bl, bl
mov dword [ebp - 4], 0x36
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x10015890
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10015886
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100158e1
push edx
push ecx
call fcn.1007fceb
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.1007f947
mov esp, ebp
pop ebp
ret
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
int3