Function at 0x10016e4c
Capabilities:
Get disk size
Get session user name
Log keystrokes via polling
Modify service
Query service status

Disassembly:
mov eax, 0x1008e3b5
call fcn.1008dfcc
sub esp, 0xdc
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x80], ecx
inc edi
mov dword [ebp - 0x70], edx
push edi
lea ecx, [ebp - 0xb8]
call fcn.10014de1
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0x81c2900
mov dword [ebp - 0x14], ebx
jmp 0x10016e98
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0x1713b910
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10016e85
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x10016f4a
mov dword [ebp - 0x24], 0x751c76d7
mov dword [ebp - 0x24], ebx
jmp 0x10016f38
push 2
lea ecx, [ebp - 0x7c]
call fcn.10014de1
mov dword [ebp - 0x14], ebx
jmp 0x10016ed7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0xe1b61bab
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10016ec7
mov eax, dword [ebp - 0x7c]
mov dword [eax], ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], ebx
jmp 0x10016ef9
cmp byte [ebp - 0xd], bl
je 0x10016ef6
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
mov byte [ebp - 0xd], bl
jle 0x10016eea
cmp byte [ebp - 0xd], bl
je 0x10016f1a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
mov eax, dword [ebp - 0x7c]
dec dword [eax]
jns 0x10016ee2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb8]
cmp dword [eax + ecx*4], ebx
lea ecx, [ebp - 0x7c]
call fcn.10014e63
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x10016eb8
dec dword [ebp - 0x20]
jns 0x10016ea9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.10014e63
push 0xfffffffffffffff7
mov dword [ebp - 0x18], 0x9244
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0xd4db1d70
mov dword [ebp - 0x14], ebx
jmp 0x10016f7c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10016f72
cmp dword [ebp - 0x18], ebx
je 0x10016fae
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], ebx
push 3
pop esi
cmp dword [ebp - 0x1c], ebx
jl 0x10017063
push esi
lea ecx, [ebp - 0xc4]
call fcn.10014de1
mov dword [ebp - 0x14], ebx
jmp 0x10016fea
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc4]
mov dword [eax + ecx*4], 0x531364f2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10016fd7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x30]
cmp dword [ebp - 0x28], ebx
jne 0x10016ffe
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x30]
add ecx, 0x1552b9cb
mov eax, dword [ebp - 0xc4]
imul edx, ecx
xor ecx, ecx
cmp edx, dword [eax + 8]
mov eax, dword [ebp - 0x30]
setge cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x30]
cmp ebx, eax
mov eax, dword [ebp - 0x18]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setle cl
mov dword [ebp + eax*4 - 0x30], ecx
lea ecx, [ebp - 0xc4]
call fcn.10014e63
dec dword [ebp - 0x1c]
push 0
pop ebx
jns 0x10016fc6
mov dword [ebp - 0x18], 0x8cccddd
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x20], 0x6c51
mov dword [ebp - 0x1c], 0x77dcda72
mov dword [ebp - 0x14], 0xb4d258d0
push esi
call fcn.10014de1
mov dword [ebp - 0x24], 0xb30b137d
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x14], ebx
jmp 0x100170b4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0xa3a7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100170a1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
je 0x100170da
mov eax, edi
cmp dword [ebp - 0x18], ebx
jne 0x100170dc
mov eax, ebx
xor ecx, ecx
cmp eax, 0xdf8e3bf1
mov eax, dword [ebp - 0x1c]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor ebx, ebx
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x10017115
mov edx, edi
cmp dword [ebp - 0x1c], ebx
jne 0x10017117
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, 0x637b3047
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp eax, ecx
setl dl
xor eax, eax
add edx, dword [ebp - 0x1c]
cmp edx, 0x8eaf6082
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x18]
je 0x1001714e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ebx
jmp 0x100171ab
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x100171a2
mov dword [ebp - 0x20], ebx
jmp 0x10017199
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x24], ebx
jl 0x10017196
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x24]
jns 0x1001717c
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffd
jne 0x10017170
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jge 0x1001716b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
je 0x1001715f
lea ecx, [ebp - 0xa0]
call fcn.10014e63
mov dword [ebp - 0x14], 0x928c176b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100171e9
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xfc8
push 0x1981
push 0x19e5
push ebx
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
mov dword [ebp - 0x14], 0xffffffe5
jmp 0x10017216
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017213
push 0x1917
push ebx
push 0x5c6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jle 0x100171f2
push 0xfffffffffffffffb
pop esi
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x14], 6
push 3
call fcn.10014de1
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], ebx
jmp 0x1001724e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001723e
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0x17
jg 0x10017371
push 3
lea ecx, [ebp - 0x6c]
call fcn.10014de1
mov dword [ebp - 0x28], 0x3f2f34e4
mov dword [ebp - 0x34], 0xebdb88dc
mov dword [ebp - 0x14], ebx
jmp 0x1001728e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001727e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x10017356
mov esi, dword [ebp - 0x6c]
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
cmp dword [eax], ebx
je 0x10017324
cmp dword [ebp - 0x20], ebx
jne 0x100172f9
mov eax, dword [ebp - 0x6c]
xor edx, edx
cmp dword [eax + 8], 0xf748
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
inc edx
cmp edx, 0x6aa1
setge cl
add eax, ecx
mov dword [ebp - 0x28], eax
jne 0x100172f9
mov ecx, ebx
jmp 0x100172fc
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x24]
imul eax, ecx
cmp eax, dword [ebp - 0x34]
je 0x10017311
cmp dword [ebp - 0x14], ebx
je 0x10017311
xor eax, eax
inc eax
jmp 0x10017313
mov eax, ebx
add eax, 0xffff9dd5
jne 0x1001731f
cmp dword [esi + 4], ebx
je 0x10017324
xor eax, eax
inc eax
jmp 0x10017326
mov eax, ebx
mov dword [ebp - 0x1c], eax
xor ecx, ecx
imul eax, dword [ebp - 0x1c], 7
cmp eax, 0x1f7b
mov eax, dword [ebp - 0x6c]
setl cl
sub ecx, 0x765e4bc
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [eax]
add ecx, dword [esi + 4]
mov dword [edi + 8], ecx
dec dword [ebp - 0x14]
jns 0x100172b3
lea ecx, [ebp - 0x6c]
call fcn.10014e63
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x17
jle 0x10017261
xor edi, edi
push 0xfffffffffffffffb
inc edi
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd0]
call fcn.10014e63
mov dword [ebp - 0x34], esi
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 0x8f9c3281
cmp dword [ebp - 0x48], ebx
je 0x100173b8
cmp dword [ebp - 0x50], ebx
je 0x100173b0
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x14], ebx
jne 0x100173b8
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x48]
test eax, eax
jne 0x100173c9
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x48]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xec6e
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x50]
setge cl
cmp ecx, 0xdf47f28a
sbb ecx, ecx
inc ecx
add eax, ecx
jne 0x10017406
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x10017408
mov eax, edi
cmp eax, dword [ebp - 0x14]
jle 0x10017426
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017462
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x10017462
push edi
lea ecx, [ebp - 0xac]
call fcn.10014de1
mov dword [ebp - 0x14], ebx
jmp 0x1001744a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], 0x47f9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10017437
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0xac]
dec dword [eax]
call fcn.10014e63
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x14], 0x8e56f9b2
mov dword [ebp - 0x2c], 0xae5a60d0
mov dword [ebp - 0x14], 0x6bdde0bc
mov dword [ebp - 0x14], 0xfffffffd
jmp 0x100174a9
mov dword [ebp - 0x28], 0xffffffff
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100174a1
push ebx
push ebx
push 0x5e7
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
cmp dword [ebp - 0x28], ebx
jne 0x100174af
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe8
jge 0x10017483
mov dword [ebp - 0x18], ebx
jmp 0x100174c5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe8], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100174b4
push 2
mov dword [ebp - 0x18], ebx
pop esi
jmp 0x100174e4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x94], 0x1ad67a4b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100174d3
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xdb505206
mov dword [ebp - 0x2c], 0xfc558bac
mov dword [ebp - 0x2c], 0x214c405b
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0x7b8f5f49
mov dword [ebp - 0x2c], 0x30cc2fdc
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
push edi
call fcn.10014de1
mov dword [ebp - 0x24], 0x5d367296
mov dword [ebp - 0x14], ebx
jmp 0x1001755f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x831eb239
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001754c
dec dword [ebp - 0x24]
lea ecx, [ebp - 0xdc]
call fcn.10014e63
inc dword [ebp - 0x90]
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], 0x1824a8c6
mov dword [ebp - 0x14], 0xf
jmp 0x100175a5
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100175a2
push ebx
call dword [sym.imp.USER32.dll_RegisterClassW]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jne 0x10017592
neg dword [ebp - 0x14]
xor ecx, ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7084
setge cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov ecx, dword [ebp - 0x1c]
setge dl
sub edx, 0x4cb8
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x4b0b
setg al
xor edx, edx
cmp eax, 0xfffffffd
setg dl
sub ecx, 0x26ff23b1
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setl al
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x52cb
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xffffffe3
jl 0x10017747
push 3
lea ecx, [ebp - 0x5c]
call fcn.10014de1
mov dword [ebp - 0x14], ebx
jmp 0x10017651
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10017641
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x1001772c
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
cmp dword [eax + ecx*4], ebx
jne 0x10017680
cmp dword [ebp - 0x18], ebx
jne 0x10017680
mov edx, ebx
jmp 0x10017683
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, 0x8b9628ea
setl cl
cmp eax, ecx
sbb ecx, ecx
imul eax, dword [edi + 8], 0x37b3
inc ecx
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setge dl
xor ebx, ebx
cmp edx, dword [edi + 4]
setne bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
cmp dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x5c]
setg bl
add ebx, dword [eax + esi*4]
neg ebx
je 0x100176e4
xor ebx, ebx
cmp dword [ebp - 0x14], ebx
je 0x100176e6
xor esi, esi
inc esi
jmp 0x100176e8
xor ebx, ebx
mov esi, ebx
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x5c]
push 2
cmp esi, dword [eax + ecx*4]
pop esi
setge dl
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], ebx
jmp 0x1001771b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017718
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MapDialogRect]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10017701
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10017666
cmp dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x5c]
call fcn.10014e63
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe3
jge 0x10017632
xor edi, edi
inc edi
mov dword [ebp - 0x2c], 0x7dfa860b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017762
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017773
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x2f4f
push ebx
push 0x423
call fcn.1001b5b6
mov dword [ebp - 0x20], 4
add esp, 0xc
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x18], 0xffff
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x20], ebx
jmp 0x10017907
mov dword [ebp - 0x24], 0x5dae5a60
lea ecx, [ebp - 0x8c]
push edi
call fcn.10014de1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x100177de
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 0xcdead9ba
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100177cb
cmp dword [ebp - 0x20], 0xfdeb7727
ja 0x10017816
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0x8f4a
setge cl
xor eax, eax
cmp ecx, 0x4307a329
setne al
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
cmp edx, 0x9102
jl 0x1001786e
mov dword [ebp - 0x1c], ebx
jmp 0x10017866
mov dword [ebp - 0x28], 0xa28c
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001785e
push ebx
push 0x297
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [ebp - 0x28], ebx
jne 0x100178df
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffe
jg 0x1001783b
jmp 0x100178df
mov dword [ebp - 0x14], 0xc4f32b7b
mov dword [ebp - 0x1c], 0x8abff5ec
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x14], ebx
je 0x100178a8
mov eax, dword [ebp - 0x1c]
mov ecx, edi
sub ecx, eax
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov ecx, edi
cmp dword [ebp - 0x24], ebx
jne 0x100178aa
mov ecx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x38]
jle 0x100178c1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, 0xfdef05de
mov eax, dword [ebp - 0x14]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x3b3bbbb5
setle cl
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100178f9
push 0xfd2
push 0x1c10
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
lea ecx, [ebp - 0x8c]
call fcn.10014e63
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff1
jge 0x100177ad
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017928
push 0x19e4
call dword [sym.imp.USER32.dll_GetKeyState]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017939
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov dword [ebp - 0x14], ebx
jmp 0x10017aa0
mov dword [ebp - 0x2c], 0xb4e1265a
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 0xfffc
mov dword [ebp - 0x28], 0x54c97515
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], 0x3e52509e
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x24], ebx
jmp 0x10017980
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10017972
mov esi, ebx
cmp dword [ebp - 0x20], ebx
je 0x1001798e
mov esi, edi
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
sub edx, 0x65420764
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
xor eax, eax
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x38], eax
je 0x100179cf
mov eax, ebx
cmp dword [ebp - 0x28], ebx
je 0x100179d1
mov eax, edi
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x18]
setne cl
xor ebx, ebx
cmp ecx, eax
setne bl
xor edx, edx
sub ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ebx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1c], ebx
jmp 0x10017a3c
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x40], ebx
je 0x10017a1d
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10017a2b
push ebx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
jmp 0x10017a2b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10017a39
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10017a03
cmp dword [ebp - 0x14], ebx
jne 0x10017aaa
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x20], 0x19
je 0x10017a9a
push 2
pop esi
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x24], esi
jmp 0x10017a8b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x10017a88
push ebx
push 0x25c1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x16
jle 0x10017a65
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x19
jne 0x10017a59
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 5
je 0x10017941
mov dword [ebp - 0x20], 0x90ac204e
mov dword [ebp - 0x18], 0xb143e95a
mov dword [ebp - 0x20], ebx
jmp 0x10017b61
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x1c], ebx
jmp 0x10017ada
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], 0x95e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10017acc
mov dword [ebp - 0x1c], ebx
jmp 0x10017af2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c], 0xbf390197
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10017ae4
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], ebx
jl 0x10017b0b
mov dword [ebp - 0x18], 0x576c3a0b
dec dword [ebp - 0x3c]
jns 0x10017aff
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x28], 0xffff
cmp eax, dword [ebp - 0x18]
je 0x10017b24
mov ecx, edi
cmp dword [ebp - 0x60], ebx
jne 0x10017b26
mov ecx, ebx
mov eax, dword [ebp - 0x60]
add eax, ecx
jne 0x10017b34
mov ecx, ebx
cmp dword [ebp - 0x28], ebx
je 0x10017b36
mov ecx, edi
xor eax, eax
cmp ecx, 0xfffffff8
setge al
sub eax, 0x168a6459
cmp dword [ebp - 0x20], eax
jne 0x10017b4d
cmp dword [ebp - 0x18], ebx
jne 0x10017b6b
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10017b5e
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jne 0x10017ac0
mov eax, dword [ebp - 0x20]
mov ecx, 0x3e8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x70]
cdq
idiv ecx
mov ecx, dword [ebp - 0x80]
mov esi, edx
mov edi, eax
call fcn.10016dda
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret