Function at 0x10021d5e
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x340
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0xc8], 0
jmp 0x10021d8a
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 1
jge 0x10021da6
mov eax, dword [ebp - 0xc8]
mov dword [ebp + eax*4 - 0x298], 0x4a6847df
jmp 0x10021d7d
mov byte [ebp - 0x3b], 0
movzx eax, byte [ebp - 0x3b]
test eax, eax
je 0x10021dc1
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
mov dword [ebp - 0xc4], 0
jmp 0x10021dda
mov eax, dword [ebp - 0xc4]
dec eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jl 0x10021e80
mov dword [ebp - 0x8c], 0
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x10021e08
push 0x85f
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x8c], 0
jmp 0x10021e21
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jl 0x10021e7b
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0x2c0], 0x85c9e53e
mov dword [ebp - 0xcc], 0
jmp 0x10021e57
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jg 0x10021e79
mov dword [ebp - 0x164], 0x27d2703d
mov eax, dword [ebp - 0x164]
dec eax
mov dword [ebp - 0x164], eax
jmp 0x10021e4a
jmp 0x10021e14
jmp 0x10021dcd
movzx eax, byte [ebp + 8]
test eax, eax
je 0x100222b5
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x94], 0
jmp 0x10021eb8
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 3
jge 0x10021ed4
mov eax, dword [ebp - 0x94]
mov dword [ebp + eax*4 - 0x334], 0x9841b3c6
jmp 0x10021eab
mov dword [ebp - 0xc0], 0
jmp 0x10021eed
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 2
jg 0x10021f29
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x10021f0c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
mov byte [ebp - 0x49], 0
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x10021f27
push 0x1288
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
jmp 0x10021ee0
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x68], 0x401d1b98
mov dword [ebp - 0x2e0], 0xdd9c
mov dword [ebp - 0xe0], 8
mov dword [ebp - 0x1c], 0
jmp 0x10021f74
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10021f8a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x208], 0
jmp 0x10021f6d
mov dword [ebp - 0x1c], 0
jmp 0x10021f9a
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10021fb0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x200], 2
jmp 0x10021f93
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x2e8], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x208]
cmp dword [ebp + eax - 0x208], ecx
je 0x10021feb
push 0xfffffffffffffff8
pop eax
test eax, eax
je 0x10021feb
mov dword [ebp - 0x1e8], 1
jmp 0x10021ff2
and dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0x1e8]
jle 0x1002201b
xor eax, eax
inc eax
jne 0x1002201b
and dword [ebp - 0x1f0], 0
jmp 0x10022025
mov dword [ebp - 0x1f0], 1
cmp dword [ebp - 0x1f0], 0
ja 0x1002204a
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x200], 0
je 0x1002204a
mov dword [ebp - 0x238], 1
jmp 0x10022051
and dword [ebp - 0x238], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x200]
mov dword [ebp - 0x294], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x200]
mov dword [ebp - 0x68], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x200]
cmp dword [ebp - 0x68], eax
jge 0x10022092
mov dword [ebp - 0x1e0], 1
jmp 0x10022099
and dword [ebp - 0x1e0], 0
cmp dword [ebp - 0x1e0], 0
jg 0x100220ae
mov dword [ebp - 0x108], 1
jmp 0x100220b5
and dword [ebp - 0x108], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x208]
cmp dword [ebp - 0x108], eax
jl 0x100220d6
mov dword [ebp - 0x17c], 1
jmp 0x100220dd
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe8]
add ecx, dword [ebp - 0x17c]
imul ecx, ecx, 0x7258
imul eax, ecx
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x208], eax
mov dword [ebp - 0x68], 1
jmp 0x10022115
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jl 0x10022127
mov dword [ebp - 0x240], 0xfffffffa
jmp 0x1002210e
mov eax, dword [ebp - 0x248]
movzx eax, byte [eax]
test eax, eax
je 0x100222b0
mov dword [ebp - 0x14], 0x1f94964a
mov dword [ebp - 0x250], 0xfffffffc
mov dword [ebp - 0x9c], 0
jmp 0x10022162
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1002217b
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*4 - 0x40], 0x1928c176
jmp 0x10022155
mov dword [ebp - 0x14], 0
jmp 0x1002218b
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x1002228a
mov dword [ebp - 0x7c], 0x16580849
mov dword [ebp - 0x7c], 0
jmp 0x100221ac
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jg 0x10022285
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp + eax*4 - 0x40]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x14]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x40]
add ecx, 0xfffb
cmp dword [ebp + eax*4 - 0x40], ecx
je 0x100221e8
mov dword [ebp - 0x10c], 1
jmp 0x100221ef
and dword [ebp - 0x10c], 0
cmp dword [ebp - 0x14], 0x917ab6da
jbe 0x1002220d
cmp dword [ebp - 0x250], 0
je 0x1002220d
mov dword [ebp - 0x1d4], 1
jmp 0x10022214
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x1d4]
cmp eax, 1
jle 0x10022231
mov dword [ebp - 0x114], 1
jmp 0x10022238
and dword [ebp - 0x114], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x40]
cmp dword [ebp - 0x114], eax
jge 0x10022256
mov dword [ebp - 0x184], 1
jmp 0x1002225d
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
imul eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x14]
imul eax, dword [ebp + ecx*4 - 0x40]
imul eax, eax, 0xf5aa
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x40], eax
jmp 0x100221a5
jmp 0x10022184
mov byte [ebp - 0x37], 0
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x100222a5
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x85f
call dword [sym.imp.USER32.dll_GetSysColor]
jmp 0x1002346f
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x48], 0x58bd4dfb
mov dword [ebp - 0x124], 0xfffffff7
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0xb8], 0
jmp 0x100222f9
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 4
jge 0x10022315
mov eax, dword [ebp - 0xb8]
mov dword [ebp + eax*4 - 0x328], 0x4b0ad8ea
jmp 0x100222ec
mov eax, 0x3a23fe5e
test eax, eax
je 0x10022351
cmp dword [ebp - 0x6c], 0x1665
je 0x10022333
mov dword [ebp - 0x11c], 1
jmp 0x1002233a
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x11c], eax
jg 0x10022351
mov dword [ebp - 0x1bc], 1
jmp 0x10022358
and dword [ebp - 0x1bc], 0
mov dword [ebp - 0x48], 0x3d2d
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
cmp dword [ebp - 0x48], eax
jle 0x10022382
mov dword [ebp - 0x18c], 1
jmp 0x10022389
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x18c], eax
je 0x100223a0
mov dword [ebp - 0x260], 1
jmp 0x100223a7
and dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x6c]
shl eax, 2
test eax, eax
je 0x1002241c
mov dword [ebp - 0x2b4], 0x3ac9
mov dword [ebp - 0x2bc], 5
mov dword [ebp - 0x12c], 0xffffffff
mov dword [ebp - 0xa4], 0
jmp 0x100223f1
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x1002240d
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x2f0], 1
jmp 0x100223e4
mov eax, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x12c], eax
jmp 0x10022443
mov dword [ebp - 0x48], 3
jmp 0x1002242c
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jl 0x10022443
mov eax, dword [ebp - 0x48]
cmp dword [ebp + eax*4 - 0x328], 0
je 0x10022441
jmp 0x10022443
jmp 0x10022425
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x64], 0xf341
mov dword [ebp - 0x80], 0
jmp 0x10022475
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x1002248b
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x340], 0x4e2db58e
jmp 0x1002246e
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x64], 0
jmp 0x100224a2
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x12
jne 0x100224de
mov dword [ebp - 0x268], 0xf889
mov byte [ebp - 0x41], 0
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x100224d2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
mov dword [ebp - 0x268], 9
jmp 0x1002249b
mov dword [ebp - 4], 0x825e7a66
mov dword [ebp - 0x194], 0xfffffffe
mov dword [ebp - 0xac], 0
jmp 0x10022508
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 1
jge 0x10022524
mov eax, dword [ebp - 0xac]
mov dword [ebp + eax*4 - 0x134], 9
jmp 0x100224fb
mov dword [ebp - 4], 0
jmp 0x10022534
mov eax, dword [ebp - 4]
dec eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffec
jg 0x100226a2
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x21c], 0x54e7f13b
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1e4], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp + eax - 0x134], ecx
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x1e4], eax
jle 0x10022582
mov dword [ebp - 0x230], 1
jmp 0x10022589
and dword [ebp - 0x230], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x134]
cmp dword [ebp - 0x78], eax
jg 0x100225a7
mov dword [ebp - 0x13c], 1
jmp 0x100225ae
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
imul eax, dword [ebp - 0x13c]
sub eax, dword [ebp - 4]
add eax, 0x45a8
cmp eax, dword [ebp - 0x78]
jg 0x100225dd
mov dword [ebp - 0x1c4], 1
jmp 0x100225e4
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x1c4]
jge 0x100225fb
mov dword [ebp - 0x144], 1
jmp 0x10022602
and dword [ebp - 0x144], 0
cmp dword [ebp - 0x144], 0x2057
jne 0x1002261a
mov dword [ebp - 0x19c], 1
jmp 0x10022621
and dword [ebp - 0x19c], 0
cmp dword [ebp - 0x19c], 8
je 0x10022636
mov dword [ebp - 0x14c], 1
jmp 0x1002263d
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 4]
add eax, dword [ebp - 0x14c]
cmp dword [ebp - 0x78], eax
jne 0x10022654
mov eax, 0x79dc8669
test eax, eax
je 0x10022666
cmp dword [ebp - 0x78], 0
je 0x10022666
mov dword [ebp - 0x218], 1
jmp 0x1002266d
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 4]
cmp dword [ebp - 4], eax
jne 0x1002268a
mov dword [ebp - 0x1dc], 1
jmp 0x10022691
and dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x21c], eax
jmp 0x1002252d
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x100226b8
push 0
push 0
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov eax, dword [ebp - 0x244]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 1
mov dword [ebp - 0xbc], 0
jmp 0x100226fc
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 2
jge 0x10022718
mov eax, dword [ebp - 0xbc]
mov dword [ebp + eax*4 - 0xdc], 0xffffffff
jmp 0x100226ef
cmp dword [ebp - 0x10], 0xb274bf90
jb 0x1002272d
mov dword [ebp - 0x154], 1
jmp 0x10022734
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xbf0b
jle 0x10022752
mov dword [ebp - 0x1a4], 1
jmp 0x10022759
and dword [ebp - 0x1a4], 0
imul eax, dword [ebp - 0x1a4], 0x85c
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x5c], eax
jge 0x10022780
mov dword [ebp - 0x1cc], 1
jmp 0x10022787
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 8], 0
jne 0x100227a5
cmp dword [ebp - 8], 0
jne 0x100227a5
and dword [ebp - 0x15c], 0
jmp 0x100227af
mov dword [ebp - 0x15c], 1
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 8]
jl 0x100227ca
mov dword [ebp - 0x224], 1
jmp 0x100227d1
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2a0], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp + eax - 0xdc], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xdc]
mov dword [ebp - 8], eax
mov eax, 0xfaab39e2
test eax, eax
je 0x10022a06
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x24], 0
jmp 0x10022824
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x1002283a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x25c], 3
jmp 0x1002281d
mov dword [ebp - 0x24], 0
jmp 0x1002284a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x10022860
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x318], 0xea885c82
jmp 0x10022843
mov dword [ebp - 0x10], 0
jmp 0x10022870
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jg 0x10022a04
mov dword [ebp - 0x2dc], 0xfffffff6
mov dword [ebp - 0x2a8], 0xbc6a687e
mov dword [ebp - 0x2ec], 0x2b9cbadb
mov dword [ebp - 0xb4], 0
jmp 0x100228b1
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 4
jge 0x100228cd
mov eax, dword [ebp - 0xb4]
mov dword [ebp + eax*4 - 0x2d4], 0x435c5265
jmp 0x100228a4
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xdc]
mov dword [ebp + ecx*4 - 0xdc], eax
mov eax, 0xbefa025e
test eax, eax
je 0x100229c0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2d4]
push 4
pop ecx
shl ecx, 1
mov ecx, dword [ebp + ecx - 0x2d4]
dec ecx
push 4
pop edx
shl edx, 1
mov dword [ebp + edx - 0x2d4], ecx
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x25c], 0
jne 0x1002296a
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xdc], 0
je 0x10022941
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x25c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xdc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], 8
mov dword [ebp - 8], 8
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xdc]
mov dword [ebp - 0x2b0], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x318]
add eax, dword [ebp - 0x10]
je 0x1002299e
cmp dword [ebp - 0x5c], 0
je 0x1002299e
mov dword [ebp - 0xf4], 1
jmp 0x100229a5
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x100229c0
mov dword [ebp - 0x1ac], 1
jmp 0x100229c7
and dword [ebp - 0x1ac], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x25c]
imul eax, dword [ebp - 0x1ac]
test eax, eax
je 0x100229eb
mov dword [ebp - 0x16c], 1
jmp 0x100229f2
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0x254], eax
jmp 0x10022869
jmp 0x10022a4f
mov byte [ebp - 0x51], 0
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x10022a1c
push 0
push 0
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov dword [ebp - 0x60], 0
jmp 0x10022a2c
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x15
jne 0x10022a4f
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x10022a4d
push 0
push 0x23b9
push 0
call dword [sym.imp.ADVAPI32.dll_ControlService]
jmp 0x10022a25
cmp dword [ebp - 0xec], 0
jle 0x1002346f
mov dword [ebp - 0x18], 0x91a049fe
mov dword [ebp - 0x84], 0
jmp 0x10022a7c
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jge 0x10022a98
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x2fc], 0xe785c2f4
jmp 0x10022a6f
mov dword [ebp - 0x18], 0
jmp 0x10022aa8
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffffff6
jg 0x10022d8f
mov dword [ebp - 0xc], 8
mov dword [ebp - 0x90], 0xf86f25db
mov dword [ebp - 0x88], 0
jmp 0x10022adc
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 2
jge 0x10022af8
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0xd4], 0x124f84b8
jmp 0x10022acf
mov dword [ebp - 0xc], 1
jmp 0x10022b08
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x10022d8a
mov dword [ebp - 0x30], 0x8f3c34ee
mov dword [ebp - 0x70], 0x169ff4ca
mov dword [ebp - 0x30], 1
jmp 0x10022b30
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jl 0x10022d7f
mov dword [ebp - 0x50], 0xb055cc25
mov dword [ebp - 0x50], 1
jmp 0x10022b51
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x10022cb0
mov dword [ebp - 0xfc], 0x1ef9953e
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0xd4]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x50]
jle 0x10022b83
mov dword [ebp - 0x118], 1
jmp 0x10022b8a
and dword [ebp - 0x118], 0
cmp dword [ebp - 0x50], 0
je 0x10022c0c
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x18], eax
je 0x10022ba4
mov dword [ebp - 0x1ec], 1
jmp 0x10022bab
and dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1ec], eax
jl 0x10022bc2
mov dword [ebp - 0x174], 1
jmp 0x10022bc9
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x10022bf0
cmp dword [ebp - 0xc], 0
je 0x10022bf0
mov dword [ebp - 0x1b4], 1
jmp 0x10022bf7
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0xd4], ecx
jle 0x10022c27
mov dword [ebp - 0xf8], 1
jmp 0x10022c2e
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x70], eax
je 0x10022c4b
mov dword [ebp - 0x110], 1
jmp 0x10022c52
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x110], eax
jge 0x10022c69
mov dword [ebp - 0x120], 1
jmp 0x10022c70
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x120]
jge 0x10022c8a
mov dword [ebp - 0x128], 1
jmp 0x10022c91
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x128]
sub ecx, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xd4], ecx
jmp 0x10022b4a
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x90]
cmp dword [ebp + eax - 0xd4], ecx
je 0x10022cd1
mov dword [ebp - 0x130], 1
jmp 0x10022cd8
and dword [ebp - 0x130], 0
mov dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x130], eax
jge 0x10022cf6
mov dword [ebp - 0x138], 1
jmp 0x10022cfd
and dword [ebp - 0x138], 0
cmp dword [ebp - 0x18], 0x8f4
jge 0x10022d12
mov dword [ebp - 0x140], 1
jmp 0x10022d19
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x140]
jg 0x10022d33
mov dword [ebp - 0x22c], 1
jmp 0x10022d3a
and dword [ebp - 0x22c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xd4]
mov dword [ebp - 0x2c4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xd4]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ebp + ecx*4 - 0xd4]
imul ecx, dword [ebp - 0x90]
sub eax, ecx
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x2fc], eax
jmp 0x10022b29
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x70], eax
jmp 0x10022b01
jmp 0x10022aa1
mov dword [ebp - 0x28], 0xcea5d6c0
mov dword [ebp - 0x234], 0xa4c8
mov dword [ebp - 0x158], 0xfffffff8
mov dword [ebp - 0xf0], 0x66ef3b06
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x284], 2
mov dword [ebp - 0x280], 2
mov dword [ebp - 0x27c], 2
mov dword [ebp - 0x278], 2
mov dword [ebp - 0x214], 0xfffffffe
mov dword [ebp - 0x20], 0
jmp 0x10022e00
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x10022e13
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x74], 0xdd03
jmp 0x10022df9
mov dword [ebp - 0x20], 0
jmp 0x10022e23
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x10022e39
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x28c], 0xffffffff
jmp 0x10022e1c
mov dword [ebp - 0x28], 0
jmp 0x10022e49
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jle 0x10022e6b
mov dword [ebp - 0x24c], 0x4c8d3c89
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x74]
mov dword [ebp - 0x24c], eax
jmp 0x10022e42
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x28]
cmp dword [ebp + eax - 0x74], ecx
jne 0x10022f2f
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x28c]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x28c], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x28], 0x3ba6
jle 0x10022eba
mov dword [ebp - 0x148], 1
jmp 0x10022ec1
and dword [ebp - 0x148], 0
cmp dword [ebp - 0x148], 7
jb 0x10022ed6
mov dword [ebp - 0x150], 1
jmp 0x10022edd
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 1
jne 0x10022f0a
mov dword [ebp - 0x160], 1
jmp 0x10022f11
and dword [ebp - 0x160], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x74]
cmp dword [ebp - 0x160], eax
jge 0x10022f2f
mov dword [ebp - 0x168], 1
jmp 0x10022f36
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x168]
mov dword [ebp - 0x28], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x74]
cmp dword [ebp - 0x28], eax
jne 0x10022f5e
mov dword [ebp - 0x264], 1
jmp 0x10022f65
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
push 4
pop ecx
imul ecx, ecx, 3
imul eax, dword [ebp + ecx - 0x284]
test eax, eax
je 0x10022fa5
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x284], 0
je 0x10022fa5
mov dword [ebp - 0x178], 1
jmp 0x10022fac
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
sub eax, 9
je 0x10022fd3
push 0xfffffffffffffff6
pop eax
test eax, eax
je 0x10022fd3
mov eax, 0x3550e352
test eax, eax
je 0x10022fd3
mov dword [ebp - 0x180], 1
jmp 0x10022fda
and dword [ebp - 0x180], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x74]
cmp dword [ebp - 0x180], eax
jle 0x10022ff8
mov dword [ebp - 0x23c], 1
jmp 0x10022fff
and dword [ebp - 0x23c], 0
mov dword [ebp - 0x214], 0xf620a341
push 4
push 0x1000
push dword [ebp - 0xec]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x210]
add ecx, dword [eax + 0xc]
push ecx
push 0xb065
push 0xa2d6
call fcn.1002133f
pop ecx
pop ecx
call eax
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov dword [ebp - 0x98], 0
jmp 0x1002305a
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 3
jge 0x10023076
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x274], 0xad313dd3
jmp 0x1002304d
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x274], 0xb
jmp 0x100230a4
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x274]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x274], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x274], 0x1d
jge 0x1002316e
mov dword [ebp - 0xa0], 0
jmp 0x100230d1
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 2
jge 0x100230ed
mov eax, dword [ebp - 0xa0]
mov dword [ebp + eax*4 - 0x1f8], 0
jmp 0x100230c4
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x1f8], 0
jmp 0x1002311b
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1f8]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x1f8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1f8], 6
jle 0x10023169
mov byte [ebp - 0x34], 0
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x10023153
push 0
push 0x19aa
push 0x1ddb
push 0xed9
push 0xd39
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x10023167
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x10023100
jmp 0x10023089
mov dword [ebp - 0x58], 0x56834504
mov dword [ebp - 0x228], 1
mov dword [ebp - 0x2d8], 0xd3e9
mov dword [ebp - 0xa8], 0
jmp 0x100231a2
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jge 0x100231be
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x220], 0x82b4746a
jmp 0x10023195
cmp dword [ebp - 0x58], 0
je 0x100231da
mov byte [ebp - 0x38], 0
push 0
lea eax, [ebp - 0x38]
push eax
call fcn.10023473
pop ecx
pop ecx
jmp 0x10023352
mov dword [ebp - 0x1c0], 9
mov dword [ebp - 0xb0], 1
cmp dword [ebp - 0x58], 0
je 0x1002321a
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x220], 0xfaf0
mov eax, 0xfaf0
test eax, eax
je 0x1002321a
mov dword [ebp - 0x188], 1
jmp 0x10023221
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x188]
jg 0x1002323b
mov dword [ebp - 0x198], 1
jmp 0x10023242
and dword [ebp - 0x198], 0
imul eax, dword [ebp - 0xb0], 0xcb8f
cmp eax, 0xfffffffb
je 0x1002325d
mov dword [ebp - 0x190], 1
jmp 0x10023264
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x190], eax
je 0x10023275
cmp dword [ebp - 0x58], 0
jne 0x10023287
cmp dword [ebp - 0xb0], 0
jne 0x10023287
and dword [ebp - 0x1a0], 0
jmp 0x10023291
mov dword [ebp - 0x1a0], 1
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x1a0]
jge 0x100232ab
mov dword [ebp - 0x1a8], 1
jmp 0x100232b2
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x1a8]
jg 0x100232c9
mov dword [ebp - 0x1b0], 1
jmp 0x100232d0
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x1b0]
lea eax, [ecx + eax + 0x86d6]
imul eax, dword [ebp - 0xb0]
test eax, eax
je 0x10023300
cmp dword [ebp - 0xb0], 0
je 0x10023300
mov dword [ebp - 0x1b8], 1
jmp 0x10023307
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x1b8], eax
jle 0x1002331e
mov dword [ebp - 0x1c8], 1
jmp 0x10023325
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c0]
cmp dword [ebp - 0x1c8], eax
jne 0x1002333f
mov dword [ebp - 0x1d0], 1
jmp 0x10023346
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x228], eax
push 0x11f2
lea eax, [ebp - 0xe4]
push eax
push 0x76ba
push 0
push 0x4274
lea eax, [ebp - 0x1d8]
push eax
call fcn.10023547
add esp, 0x18
mov dword [ebp - 0x2c], 0
jmp 0x10023389
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x1002339f
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x308], 1
jmp 0x10023382
mov dword [ebp - 0x2c], 0
jmp 0x100233af
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x100233c5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x104], 0x2c70bb74
jmp 0x100233a8
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x104], 0
jmp 0x100233f3
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x104]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x104], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x104], 2
jg 0x1002343c
mov byte [ebp - 0x3a], 0
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x10023421
push 0x15e3
push 0x1445
push 0
call dword [sym.imp.USER32.dll_OffsetRect]
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x104]
cmp dword [ebp + eax*4 - 0x308], 0
je 0x1002343a
jmp 0x100233d8
jmp 0x100233d8
mov byte [ebp - 0x33], 0
movzx eax, byte [ebp - 0x33]
test eax, eax
je 0x10023457
push 0
push 0x221d
push 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
push dword [ebp - 0xec]
push 0
mov eax, dword [ebp - 0xe4]
push dword [eax]
call fcn.1002140c
add esp, 0xc
mov esp, ebp
pop ebp
ret