Function at 0x10021680
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bc978
mov eax, dword fs:[0]
push eax
mov eax, 0x10b4
call fcn.100898c0
mov eax, dword [0x100fc03c]
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, 0x100dbf68
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 0x100216f3
sub ecx, edx
sar ecx, 1
push ecx
push 0x100dbf68
lea ecx, [ebp - 0x10ac]
call fcn.10002eb0
lea eax, [ebp - 0x10ac]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x1034]
push esi
push eax
call fcn.1000d5d0
add esp, 0xc
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x10021775
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002176b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021bc2
push edx
push ecx
call fcn.10088fde
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.1000bf00
add esp, 4
test al, al
je 0x10021b3b
push 0x1000
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.1008bb90
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 0x100db8d8
push str.EntryFlag
push str.ServiceRunInfo
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x10021b3b
cmp word [ebp - 0x1010], 0
je 0x10021b3b
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 0x10021850
sub ecx, edx
lea eax, [ebp - 0x1010]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10ac]
call fcn.10002eb0
lea eax, [ebp - 0x10ac]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x1094]
push eax
call fcn.1003bba0
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1098]
cmp edx, 8
jb 0x100218d0
mov ecx, dword [ebp - 0x10ac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100218c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021bc7
push edx
push ecx
call fcn.10088fde
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.1001b940
add esp, 8
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.10016880
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.1001e0c0
add esp, 4
test al, al
je 0x10021b0a
cmp dword [ebp - 0x106c], 0
je 0x10021b0a
lea eax, [ebp - 0x107c]
push eax
lea eax, [ebp - 0x104c]
push eax
call fcn.1003bb10
mov edx, 0x100df55c
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x104c]
call fcn.1000f560
mov edx, 0x100df55c
lea ecx, [ebp - 0x104c]
call fcn.1000f5e0
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.10016440
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 0x10021a92
cmp dword [esi + 0x14], 8
jb 0x10021a0e
mov esi, dword [esi]
push esi
call fcn.10091b5b
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 0x10021a30
mov ecx, dword [ecx]
push ecx
call fcn.10091b5b
mov ecx, ebx
add esp, 4
or ecx, dword [ebp - 0x10b0]
mov esi, eax
mov edi, edx
je 0x10021a92
mov ecx, esi
or ecx, edi
je 0x10021a92
lea eax, [ebp - 0x10c0]
push eax
call fcn.1000bd20
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, edi
jb 0x10021a92
ja 0x10021a6b
cmp ecx, esi
jbe 0x10021a92
sub ecx, esi
sbb eax, edi
test eax, eax
ja 0x10021a92
jb 0x10021a7d
cmp ecx, 0xe10
jae 0x10021a92
mov ecx, dword [ebp - 0x10b4]
mov eax, dword [ebp - 0x10b0]
mov dword [ecx], ebx
mov bl, 1
mov dword [ecx + 4], eax
jmp 0x10021a94
xor bl, bl
lea ecx, [ebp - 0x101c]
mov byte [ebp - 4], 0x20
call fcn.10009b40
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x1038]
cmp edx, 8
jb 0x10021ae7
mov ecx, dword [ebp - 0x104c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10021add
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021bcc
push edx
push ecx
call fcn.10088fde
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 0x10021b0c
xor bl, bl
lea ecx, [ebp - 0x107c]
mov byte [ebp - 4], 0x1a
call fcn.100167f0
lea ecx, [ebp - 0x1064]
mov byte [ebp - 4], 0x15
call fcn.100167f0
lea ecx, [ebp - 0x1094]
mov byte [ebp - 4], 2
call fcn.100167f0
jmp 0x10021b3d
xor bl, bl
mov dword [ebp - 4], 0x36
mov edx, dword [ebp - 0x1020]
cmp edx, 8
jb 0x10021b80
mov ecx, dword [ebp - 0x1034]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10021b76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10021bd1
push edx
push ecx
call fcn.10088fde
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.10088f98
mov esp, ebp
pop ebp
ret
call fcn.100907c4
call fcn.100907c4
call fcn.100907c4
call fcn.100907c4
int3