Function at 0x10048e56
Capabilities:
Query service status
Terminate process

Disassembly:
mov eax, 0x1006a8a7
call fcn.10069248
sub esp, 0xfc
push ebx
push esi
mov dword [ebp - 0x1c], 0x7d214c40
mov esi, ecx
push edi
mov byte [ebp - 0x31], dl
xor edx, edx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x2c], 0x2b5725d3
push 1
mov dword [ebp - 0x3c], esi
pop ebx
cmp dword [ebp - 0x1c], edx
jne 0x10048ea7
mov eax, dword [ebp - 0x1c]
mov ecx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x59c45c1e
cmp dword [ebp - 0x10], edx
je 0x10048ea9
mov ecx, ebx
xor eax, eax
cmp ecx, 0x5052061f
push 6
setne al
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], 0xfffffffb
jmp 0x10048eed
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x30], 0xa3691f6f
mov dword [ebp - 0x10], edx
jmp 0x10048ee4
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x19
jg 0x10048edb
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff4
jge 0x10048ec8
mov edi, dword [0x1006f8bc]
mov dword [ebp - 0x1c], 0x5c5735e4
mov dword [ebp - 0x10], 0x700d
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x38], edi
cmp dword [ebp - 0x1c], edx
jne 0x10048f6a
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
sub ecx, eax
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffa
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setl bl
add eax, 0xda44a5d9
imul ecx, ebx
xor edx, edx
add eax, ecx
cmp eax, dword [ebp - 0x1c]
jle 0x10048f67
mov eax, edx
jmp 0x10048f6c
xor ebx, ebx
inc ebx
mov eax, ebx
neg eax
jne 0x10048f73
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
sub eax, 0xa
mov byte [ebp - 0x15], dl
cmp eax, 0xfff7
jbe 0x10048fb4
cmp byte [ebp - 0x15], 0
je 0x10048f93
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor edx, edx
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10048fc7
push edx
push 0xc5d
push 0x5d6
push 0x17c2
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
jmp 0x10048fc5
cmp byte [ebp - 0x15], 0
je 0x10048fc7
push edx
push edx
push edx
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor edx, edx
cmp byte [ebp - 0x31], 0
mov eax, 0xffff
mov ebx, dword [ebp + 8]
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
je 0x100490ba
xor ecx, ecx
inc ecx
cmp edi, ecx
jne 0x100490ba
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], 0xa7fe64fd
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0xae07ea4c
mov dword [ebp - 0x24], 0xcc7c
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], edx
jmp 0x10049020
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10049016
mov dword [ebp - 0x14], edx
jmp 0x1004903c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], 0x52fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1004902b
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0xfffffffa
setg cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xc34
setl al
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x70]
neg eax
je 0x1004908a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
mov dword [ebx + 8], 4
setne cl
mov dword [ebx + 0xc], 0x1006f8bc
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp esi, edi
jge 0x10049a9b
xor edi, edi
mov dword [ebp - 0x14], edx
inc edi
lea ecx, [ebp - 0x7c]
push edi
call fcn.10016555
xor ebx, ebx
lea ecx, [ebp - 0x94]
push 2
mov dword [ebp - 4], ebx
call fcn.10016555
mov dword [ebp - 0x24], 0x505bc980
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x20], ebx
jmp 0x10049106
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0x31aa08
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100490f6
mov dword [ebp - 0x20], ebx
jmp 0x10049123
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0x6928694a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10049110
mov eax, dword [ebp - 0x14]
cmp edi, eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jle 0x1004913e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, 0xfffd
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0xffffffff
setge cl
sub edx, ecx
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
je 0x1004917f
mov dword [ebp - 0x14], ebx
jmp 0x10049178
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0x2aff6358
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10049168
jmp 0x100491e3
mov dword [ebp - 0x1c], 0x1e043eef
mov dword [ebp - 0x44], 0x339b8842
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], 0xecc90c63
mov dword [ebp - 0x28], 0xc17a3f0a
cmp dword [ebp - 0x1c], ebx
je 0x100491da
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
dec dword [ebp - 0x24]
cmp eax, ecx
mov eax, edi
cmovl eax, ebx
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x10], 0xd0fe
test eax, eax
jne 0x100491d4
mov eax, dword [ebp - 0x94]
cmp dword [eax], ebx
jne 0x100491d4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x94]
call fcn.100165d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.100165d7
xor edx, edx
mov dword [ebp - 0x2c], ebx
mov edi, 0x1006f8c0
test esi, esi
jle 0x100496a3
xor esi, esi
inc esi
mov eax, dword [edi]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x28], 0xec3203bd
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], edx
jmp 0x10049242
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], 0x8108531d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10049234
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x1004925c
push edx
push 0x359
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov dword [ebp - 0x10], 0xfffffffb
cmp dword [ebp - 0x10], 4
jne 0x10049368
xor ebx, ebx
mov dword [ebp - 0x14], 0x7c11
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x1c], 0xab1943c6
mov dword [ebp - 0x1c], 0xaf0a9b27
push esi
call fcn.10016555
push 4
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], esi
call fcn.10016555
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x20], ebx
jmp 0x100492c9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xd5befa1e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100492b6
mov dword [ebp - 0x20], ebx
jmp 0x100492e6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0x9bca
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x100492d3
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
cmp eax, 0xcf415d72
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
cmovne esi, ebx
xor edx, edx
cmp ecx, eax
setge dl
add edx, esi
mov dword [ebp - 0x1c], edx
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x10]
setle dl
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, 0xe0f758fc
setne dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xb8]
call fcn.100165d7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.100165d7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
push 1
pop esi
je 0x1004926f
mov ebx, dword [ebp - 0x2c]
mov esi, dword [edi + 4]
mov ecx, 0xffff
mov dword [ebp - 0x1c], 0x6915a136
add edi, 8
mov dword [ebp - 0x24], 0x1780eec2
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
imul eax, dword [ebp - 0x24], 0x6eab
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
sub eax, edx
jne 0x100493d1
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov byte [ebp - 0x15], cl
cmp byte [ebp - 0x15], cl
je 0x100493f9
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
xor ecx, ecx
test esi, esi
jne 0x10049400
add edi, 8
mov dword [ebp - 0x1c], 0xe387
xor esi, esi
mov dword [ebp - 0x10], 9
inc esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2c], 0xf83943cd
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x20], ecx
jmp 0x10049434
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x40], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004942a
mov dword [ebp - 0x20], ecx
jmp 0x1004944c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x48], 0x7bb5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1004943e
inc dword [ebp - 0x1c]
je 0x100494a9
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x10]
imul eax, ecx, 7
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
cmp ecx, dword [ebp - 0x1c]
jle 0x100494a7
mov edx, esi
jmp 0x100494ab
xor ecx, ecx
mov edx, ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x24]
je 0x100494bd
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setne dl
xor ecx, ecx
cmp edx, 0x9ed080c1
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
sub edx, eax
je 0x10049667
mov dword [ebp - 0x2c], 0x7cdd5376
xor edx, edx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], 0xffffffff
push 3
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], edx
pop ecx
jmp 0x10049520
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xd8], 0x9934b93d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1004950f
mov dword [ebp - 0x20], edx
jmp 0x1004953b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf0], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1004952a
cmp dword [ebp - 0x24], edx
je 0x1004956f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
sub ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x1c]
je 0x10049571
cmp dword [ebp - 0x28], edx
jne 0x10049571
mov eax, edx
add eax, 0x53e8af80
cmp eax, dword [ebp - 0x30]
jg 0x1004963f
cmp dword [ebp - 0x48], edx
jne 0x1004963f
xor ecx, ecx
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x40]
cmp eax, 9
mov eax, dword [ebp - 0x30]
setge cl
sub eax, ecx
mov ecx, 0xc342871e
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb edx, edx
xor ecx, ecx
neg edx
imul edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, 5
setle cl
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0x10], 0
jne 0x100495da
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setl dl
mov dword [ebp - 0x2c], edx
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x14], edx
jmp 0x10049637
mov dword [ebp - 0x20], 0xfffffffe
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10049634
push 0x1921
call dword [sym.imp.GDI32.dll_RealizePalette]
xor edx, edx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffe
jl 0x10049617
jmp 0x10049653
mov dword [ebp - 0x28], edx
jmp 0x1004964e
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x40], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10049644
mov byte [ebp - 0x15], dl
cmp byte [ebp - 0x15], 0
je 0x10049693
push 0x15f8
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x10], 0xa78915ce
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10], 0xfffffffb
mov eax, dword [ebp - 0x48]
cmp ecx, eax
setge dl
mov dword [ebp - 0x10], edx
xor edx, edx
add edi, dword [ebp - 0x44]
inc ebx
mov dword [ebp - 0x2c], ebx
cmp ebx, dword [ebp - 0x3c]
jl 0x1004920f
mov esi, dword [edi]
mov dword [ebp - 0x14], 0x2c03342e
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 3
mov dword [ebp - 0x20], esi
jne 0x10049714
push 4
lea ecx, [ebp - 0x88]
call fcn.10016555
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x100496e6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0x9aed
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100496d3
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x88]
cmp dword [eax + 4], edx
jne 0x1004970d
call fcn.100165d7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
je 0x100496bf
jmp 0x10049712
call fcn.100165d7
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jne 0x10049749
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
cmp eax, ebx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xffffffff
setl cl
cmp ecx, dword [ebp - 0x14]
jle 0x1004974c
mov eax, edx
jmp 0x1004974e
xor ebx, ebx
inc ebx
mov eax, ebx
add eax, 0x477a
jne 0x1004975c
mov ecx, edx
cmp dword [ebp - 0x14], edx
je 0x1004975e
mov ecx, ebx
mov eax, dword [ebp - 0x24]
imul eax, ecx
xor ecx, ecx
push 2
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0xd258
mov eax, dword [ebp - 0x14]
setne cl
sub eax, ecx
lea ecx, [ebp - 0xac]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.10016555
xor edx, edx
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x10], edx
jmp 0x100497b0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100497a0
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edx
jl 0x100497e6
push 2
pop ebx
mov dword [ebp - 0x10], 0xfffffffb
mov dword [ebp - 0x10], edx
jmp 0x100497dc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100497cd
dec dword [ebp - 0x24]
jns 0x100497c1
lea ecx, [ebp - 0xac]
call fcn.100165d7
mov ebx, dword [edi + 4]
add edi, 8
mov dword [ebp - 0x14], 6
xor ecx, ecx
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x10], 0x324067bc
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x10], ecx
jmp 0x1004982e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x54], 0xec2e0cf5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10049820
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 2
jg 0x1004998c
xor edi, edi
xor ebx, ebx
inc edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x54], ebx
jne 0x1004989f
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x4c]
je 0x10049872
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x54]
cmp dword [ebp - 0x4c], ebx
je 0x1004987e
mov edx, edi
cmp dword [ebp - 0x50], ebx
jne 0x10049880
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x54]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x7153413f
setne al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x54]
mov eax, dword [ebp - 0x14]
cmp eax, edi
setl dl
sub edx, ecx
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x1c], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp + eax*4 - 0x54]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor eax, eax
imul esi, edx
cmp esi, 0xfffffff9
setge al
xor ecx, ecx
cmp eax, 0xfffffff7
setl cl
xor eax, eax
cmp ecx, 0x3585
setl al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x54]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], ebx
jmp 0x10049970
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10049935
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x10049932
push 0x1ea9
push ebx
push 0x224a
push 0x2fc
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x10049914
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ebx
jl 0x1004996d
mov dword [ebp - 0x3c], 0xaed0
mov dword [ebp - 0x1c], 9
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], 0x395f87b7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x28]
jns 0x10049947
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1004990c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x10049846
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x28], 0xffffffe3
cmp dword [ebp - 0x28], 0xfffffff5
jle 0x100499c7
xor ebx, ebx
mov dword [ebp - 0x10], ebx
jmp 0x100499b2
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x100499af
push ebx
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x100499a0
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff5
jg 0x1004999b
mov ebx, dword [ebp - 0x30]
test ebx, ebx
jne 0x10049a98
cmp byte [ebp - 0x31], bl
je 0x100499e3
cmp dword [ebp - 0x38], 1
jne 0x100499e3
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 4]
mov ebx, dword [edi]
add edi, 8
push esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], edi
call fcn.1004c1c5
mov edi, eax
xor eax, eax
pop ecx
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x64]
push eax
push esi
mov dword [ebp - 0x3c], edi
call fcn.1004aa38
xor ecx, ecx
test esi, esi
mov esi, dword [ebp - 0x60]
jle 0x10049a75
mov eax, ecx
and eax, 0x80000001
jns 0x10049a2f
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, ebx
add eax, ecx
add eax, ebx
imul eax, dword [ebp - 0x38]
cdq
idiv dword [ebp - 0x20]
xor eax, eax
cmp word [esi + edx*2], ax
je 0x10049a5b
xor edi, edi
lea eax, [edx + 1]
cdq
idiv dword [ebp - 0x20]
cmp word [esi + edx*2], di
jne 0x10049a4b
mov edi, dword [ebp - 0x3c]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x24]
mov al, byte [edx + eax]
mov byte [ecx + edi], al
inc ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
jl 0x10049a21
jmp 0x10049a78
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov dword [ebx + 4], edi
test esi, esi
je 0x10049a9b
push esi
call fcn.10050f49
pop ecx
xor ecx, ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
jmp 0x10049a9d
mov ebx, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x14], 0xf7fd
mov dword [ebp - 0x1c], 0x609d70ca
mov dword [ebp - 0x20], 0xfffffff8
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jle 0x10049ac6
cmp dword [ebp - 0x14], ecx
jne 0x10049ac6
xor esi, esi
mov edx, ecx
inc esi
jmp 0x10049acb
xor esi, esi
inc esi
mov edx, esi
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffe
sbb eax, eax
or ecx, 0xffffffff
inc eax
sub ecx, eax
imul ecx, edx
cmp ecx, dword [ebp - 0x14]
jne 0x10049bd2
xor ecx, ecx
mov dword [ebp - 0x38], 0x881826fb
mov dword [ebp - 0x10], ecx
jmp 0x10049b08
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe4], 0x4392
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10049af7
mov byte [ebp - 0x15], cl
mov dword [ebp - 0x2c], 0x7a5a
cmp dword [ebp - 0x2c], 0x7ae1
jle 0x10049b71
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x108]
cdq
push edx
push eax
call fcn.1000a20e
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10049b45
mov eax, dword [eax]
push eax
call fcn.10050d73
pop ecx
xor eax, eax
lea ecx, [ebp - 0x108]
push ebx
inc eax
push eax
call fcn.10016de1
inc edi
cmp edi, 0x471b
jl 0x10049b27
inc esi
cmp esi, 0x54ad
jl 0x10049b25
mov ebx, dword [ebp + 8]
cmp byte [ebp - 0x15], 0
je 0x10049b87
push 0x131f
push 0xe91
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp dword [ebp - 0x2c], 0x76ce
jge 0x10049b9b
push 0x10008bc4
call fcn.10050d73
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
setl dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
jmp 0x10049c8a
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0x8bf9cc53
mov dword [ebp - 0x10], 6
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x28], ecx
jne 0x10049c0f
mov edx, ecx
cmp dword [ebp - 0x10], ecx
je 0x10049c11
mov edx, esi
dec dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
imul ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x28]
jle 0x10049c7b
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10049c7d
mov ecx, esi
jmp 0x10049c7f
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 5
sete al
mov dword [ebp - 0x3c], eax
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], eax
inc esi
cmp dword [ebp - 0x1c], esi
jg 0x10049d0b
xor ebx, ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.10016555
mov dword [ebp - 0x10], ebx
jmp 0x10049cbd
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0x6ed9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10049caa
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x10049cd8
push ebx
push ebx
push ebx
push 0x19e5
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov dword [ebp - 0x14], ebx
jmp 0x10049cf0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0x3e0c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10049cdd
lea ecx, [ebp - 0xa0]
call fcn.100165d7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10049c99
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret