Function at 0x1001731f
Capabilities:
Query service status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
push ebx
mov bl, dl
mov dword [ebp - 0x14], 5
xor edx, edx
mov dword [ebp - 0x44], ecx
mov byte [ebp - 1], dl
push esi
push edi
cmp byte [ebp - 1], dl
je 0x10017351
push edx
push edx
push 0x670
push edx
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
xor edx, edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x10017362
call dword [sym.imp.USER32.dll_DestroyCaret]
xor edx, edx
test bl, bl
je 0x10017e9c
mov dword [ebp - 8], 8
mov dword [ebp - 0x14], 0x7383cc4
mov dword [ebp - 8], edx
jmp 0x1001738b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x64], 0xfffffffe
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x1001737d
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor edi, edi
mov esi, dword [sym.imp.USER32.dll_GetDC]
inc edi
mov dword [ebp - 8], edx
jmp 0x10017467
mov dword [ebp - 0xc], 0x149febb6
mov dword [ebp - 0xc], edx
jmp 0x10017406
mov dword [ebp - 0x14], edx
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x100173d2
push edx
push edx
push 0x15f0
call ebx
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor edx, edx
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x64], 0xfffffff6
jg 0x100173e6
mov eax, dword [ebp - 0xc]
mov ecx, edi
add eax, 9
jne 0x100173e8
mov ecx, edx
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x64], 0x5b49
jle 0x100173fc
mov eax, edx
cmp dword [ebp - 0x60], edx
je 0x100173fe
mov eax, edi
add eax, ecx
mov dword [ebp - 0x14], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jle 0x100173b4
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x10017433
push 0x1a37
push 0x1c7c
push 0x40
push 0x13dd
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor edx, edx
mov dword [ebp - 0xc], edi
cmp dword [ebp - 0xc], edx
jl 0x10017464
mov dword [ebp - 0x14], 0x4145c174
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov byte [ebp - 1], dl
cmp byte [ebp - 1], 0
je 0x1001745f
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
xor edx, edx
dec dword [ebp - 0xc]
jns 0x1001743b
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x100173a8
mov dword [ebp - 8], 0x659d568d
xor ebx, ebx
mov dword [ebp - 0x10], 0xc2076acb
mov dword [ebp - 0x18], 0x3b00b722
mov dword [ebp - 0x14], 0x4475678d
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ebx
jmp 0x100174a4
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x10017496
push 4
mov dword [ebp - 0xc], ebx
pop esi
jmp 0x100174bf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x74], 0x8cae2fe8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x100174b1
cmp dword [ebp - 8], ebx
jne 0x100174cc
mov eax, dword [ebp - 8]
inc dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 8]
sub ecx, eax
je 0x100174e0
mov ecx, edi
cmp dword [ebp - 0x70], ebx
jne 0x100174e2
mov ecx, ebx
mov eax, dword [ebp - 0x10]
sub ecx, eax
mov edx, dword [ebp - 0x70]
xor eax, eax
cmp ecx, 0xffffffff
setle al
xor ecx, ecx
cmp eax, 0xeca6d78
setg cl
sub edx, ecx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 8]
sub edx, 0xf529
neg edx
sbb edx, edx
inc edx
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
add eax, ecx
cmp eax, dword [ebp - 0x18]
jg 0x1001753c
mov ecx, ebx
cmp dword [ebp - 0x70], ebx
je 0x1001753e
mov ecx, edi
mov eax, dword [ebp - 0x10]
add eax, 0xecb4
add eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x18], 0xc397
push 0xfffffffffffffffa
pop ecx
sub eax, dword [ebp - 8]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], 0xfffffffe
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], ebx
jmp 0x10017596
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc4], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x10017589
mov dword [ebp - 0xc], ebx
jmp 0x100175ae
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0x90ae735
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x100175a0
cmp dword [ebp - 8], ebx
jne 0x100175c8
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, ebx
cmp dword [ebp - 0x10], edi
jge 0x100175ca
mov eax, edi
cmp eax, dword [ebp - 0x14]
jge 0x100175d4
cmp dword [ebp - 0x10], ebx
jne 0x100175d6
mov edi, ebx
mov ecx, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
cmp ecx, eax
mov esi, dword [ebp - 8]
setg dl
sub esi, edx
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp edi, 0xc134
mov edi, dword [ebp + 8]
setge cl
mov dword [ebp - 0xbc], esi
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setge dl
sub edx, eax
sub edx, 6
mov dword [ebp - 0x10], edx
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp esi, eax
mov eax, dword [ebp - 8]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x18], ecx
mov dword [edi], 0x10
cmp dword [edi], 0xffffffff
jne 0x10017f58
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov eax, 0xd32ffab8
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 8], 0x79b347d1
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x50]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ebx
jmp 0x100176f6
xor ecx, ecx
inc ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 8], ebx
jmp 0x100176dd
mov dword [ebp - 0x10], 0xef6f0c3d
mov dword [ebp - 0x14], 0x6c7e7c0c
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x100176da
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x7c]
neg eax
cmp eax, dword [ebp - 0x14]
jle 0x100176d0
mov eax, ebx
cmp dword [ebp - 0x7c], ebx
je 0x100176d2
mov eax, ecx
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x10]
jns 0x100176b5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jle 0x1001769b
mov ecx, dword [ebp - 0x80]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 8], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x10017684
mov dword [ebp - 0x14], 0xd149
mov dword [ebp - 8], 0xc63c4078
mov dword [ebp - 0x14], 0x6ae3
mov dword [ebp - 8], ebx
jmp 0x10017720
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x2c], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x10017716
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setg dl
imul eax, dword [ebp - 8], 0x2f5c55c3
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setge cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne bl
xor edx, edx
sub ebx, eax
mov eax, dword [ebp - 0x2c]
cmp ebx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x1457
setg al
xor ebx, ebx
cmp eax, dword [ebp - 0x2c]
jg 0x1001780a
mov dword [ebp - 0x10], 0x1be3
mov dword [ebp - 0x14], 0x7f39cee2
cmp dword [ebp - 8], ebx
je 0x100177a4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp eax, 0x2803
setg cl
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jne 0x100177c2
cmp dword [ebp - 0x14], ebx
jne 0x100177c2
mov eax, ebx
jmp 0x100177c5
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
mov byte [ebp - 1], bl
jge 0x100177e6
cmp byte [ebp - 1], bl
je 0x10017810
push ebx
push 0x388
push 0x11f0
push ebx
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
jmp 0x10017810
cmp byte [ebp - 1], bl
je 0x100177f8
push ebx
push ebx
call esi
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017810
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
jmp 0x10017810
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x14], 0xad386cce
inc ecx
mov dword [ebp - 0x14], 0x6c74aa0d
mov dword [ebp - 8], ebx
jmp 0x1001783b
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x20], 6
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001782d
mov dword [ebp - 0x20], ebx
jmp 0x10017876
mov dword [ebp - 8], ebx
jmp 0x10017858
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x48], 0x3bc6e5c7
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x1001784a
dec dword [ebp - 0x48]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10017873
push ebx
call dword [sym.imp.KERNEL32.dll_RtlCaptureContext]
xor ecx, ecx
inc ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 7
jle 0x10017845
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], 0x2eaa29c1
mov dword [ebp - 0x14], 0xfa42b483
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ebx
jmp 0x100178ac
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xd0], 0xb9b55bb2
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x1001789b
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x100178f5
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100178da
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100178ed
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
dec dword [ebp - 0x10]
jns 0x100178be
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], 0x3a34c865
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0xc], 0x515fdc8d
mov dword [ebp - 0x18], 4
mov dword [ebp - 8], 0xa6d0811f
mov dword [ebp - 0x10], ebx
jmp 0x1001792a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x8c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001791d
cmp dword [ebp - 0x1c], ebx
je 0x10017971
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
je 0x10017952
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0xb719
setne cl
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], eax
jl 0x100179fe
mov dword [ebp - 0x10], ebx
jmp 0x10017995
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], 0x9653e3f3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10017984
mov dword [ebp - 0xc], ebx
jmp 0x100179f6
mov dword [ebp - 0x14], 0xe32883e7
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100179ba
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
mov dword [ebp - 8], 2
cmp dword [ebp - 8], ebx
jl 0x100179f3
inc dword [ebp - 0x14]
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x100179ee
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x100179e9
push 1
call esi
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
dec dword [ebp - 0x18]
jns 0x100179d5
dec dword [ebp - 8]
jns 0x100179c6
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xffffffe2
jge 0x100179a0
jmp 0x10017a1f
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10017a1f
push 0x19c4
push 0x25f3
push 0x1fda
call esi
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x88]
neg eax
push 3
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xa36042c8
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xc]
setl cl
xor edx, edx
cmp ecx, 0xfffffff7
setg dl
xor ecx, ecx
cmp edx, eax
pop edx
setle cl
xor eax, eax
cmp ecx, 0xfffffff8
setg al
neg eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0x5ed06576
mov dword [ebp - 8], 0x951ad386
mov dword [ebp - 0x10], ebx
jmp 0x10017a9a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb4], 0xe9714a02
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10017a89
push 2
mov dword [ebp - 8], ebx
pop ecx
jmp 0x10017ad7
mov dword [ebp - 0x10], ebx
jmp 0x10017abd
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa8], 0xf47a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10017aac
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0xb4], ebx
jne 0x10017adc
mov eax, dword [ebp - 0xa8]
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jle 0x10017aa7
mov dword [ebp - 0x14], 0xf2fdad5a
xor ecx, ecx
mov dword [ebp - 0x1c], 0xffff
inc ecx
mov dword [ebp - 0xc], 0xa86ba47c
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], 0x6dbac6b9
mov dword [ebp - 0x10], ebx
jmp 0x10017b1a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x98], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10017b0d
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
test eax, eax
jne 0x10017b2d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 2
setg cl
xor edx, edx
mov dword [ebp - 0xc], ecx
mov ecx, 0x7cb3
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, 0xfd07
setg bl
xor ecx, ecx
test eax, eax
setg cl
xor edx, edx
cmp ecx, ebx
setl dl
xor ecx, ecx
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp edx, eax
setg cl
cmp ecx, 0x1c57511e
jg 0x10017ba9
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
xor ebx, ebx
cmp dword [ebp - 0xc], eax
jl 0x10017bbb
cmp dword [ebp - 0x1c], ebx
jne 0x10017bbb
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x18], ebx
je 0x10017c2c
mov dword [ebp - 0x10], 0xd402a53e
mov dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x6516035e
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], 4
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x1c]
mov dword [ebp - 8], edx
jmp 0x10017cc3
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
jmp 0x10017c42
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x30], 0xe9700a5f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x10017c34
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
test eax, eax
jne 0x10017c7b
cmp dword [ebp - 0x18], ebx
jne 0x10017c7b
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x30]
cmp eax, 0xfdeb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
setl cl
add edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl cl
cmp ecx, 0xffffffff
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x18]
jle 0x10017cb6
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
xor ecx, ecx
test eax, eax
setns cl
mov dword [ebp - 0x10], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], 0xd5e48d32
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 8], 0x16
jmp 0x10017d7e
mov dword [ebp - 0x18], 0xf5f4
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x14], 0xc1932e3c
mov dword [ebp - 0x1c], 0xc23e
mov dword [ebp - 0x14], 0x3dd972c4
mov dword [ebp - 0x10], ebx
jmp 0x10017d1f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10017d12
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 0x14], eax
je 0x10017d3e
mov eax, ecx
cmp dword [ebp - 8], ebx
jne 0x10017d40
mov eax, ebx
mov dword [ebp - 0xa0], eax
xor edx, edx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 1
setne dl
imul edx, dword [ebp - 0x18]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
test eax, eax
setg cl
mov dword [ebp - 0x14], ecx
dec dword [ebp - 8]
pop ecx
cmp dword [ebp - 8], 0xffffffe5
jge 0x10017ce3
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10017d9f
push 0x14b3
call esi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x891ba802
mov dword [ebp - 0xc], ebx
jmp 0x10017dbc
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x24], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 1
jl 0x10017db2
mov dword [ebp - 0xc], ebx
jmp 0x10017dd5
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], 0x632667a8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x10017dc7
mov dword [ebp - 0x3c], ebx
jmp 0x10017e5d
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x14], 0x3af7806a
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp + eax*4 - 0x24]
mov ecx, dword [ebp - 0x10]
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xffffffff
setge al
xor edx, edx
imul eax, dword [ebp - 0x24]
imul eax, eax, 0x1362
add eax, 0x8dc1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x24]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setle dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x24]
cmp ebx, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x3c], ebx
jne 0x10017e66
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x10017de0
mov dword [ebp - 0x10], ebx
jmp 0x10017e7c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xec], 0x4145c174
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10017e6b
mov eax, dword [ebp - 0x44]
dec dword [eax]
mov eax, 0xd32ffab8
dec dword [edi]
cmp dword [edi], 0xffffffff
je 0x10017647
jmp 0x10017f58
mov dword [ebp - 8], 3
mov dword [ebp - 0x18], 0x2250db85
mov dword [ebp - 0xc], 0xb000cd9d
mov dword [ebp - 0x44], 0x8939f5fa
mov eax, dword [ebp - 8]
neg eax
push 0xfffffffffffffff7
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 8]
sbb edx, edx
imul eax, dword [ebp - 8]
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 8]
setle cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 8]
setge bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], ebx
jmp 0x10017f2b
mov dword [ebp - 0x18], ebx
jmp 0x10017f22
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017f1f
push ebx
call dword [sym.imp.KERNEL32.dll_RtlCaptureContext]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
jne 0x10017f10
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x19
jle 0x10017f0b
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10017f58
push 0x135b
push 0x1bb1
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret