Function at 0x1002e204
Capabilities:
Allocate thread local storage
Create pipe
Create thread
Delete registry key
Get geographical location
Get keyboard layout
Get memory capacity
Get session user name
Query environment variable

Disassembly:
mov eax, 0x100768a0
call fcn.10076228
mov eax, 0x134c
call fcn.100729e0
mov dword [ebp - 0x30], 0x722a
mov eax, 0x6f2e
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], eax
xor eax, eax
mov dword [ebp - 0x10], 0x46158d32
mov dword [ebp - 0x18], 0xc6a3f154
mov dword [ebp - 0x99c], eax
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], eax
push 4
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x10], eax
pop ecx
mov byte [ebp - 0x91], dl
cmp dword [ebp - 0x10], ecx
jge 0x1002e290
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd0c], 0x9a20b287
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e278
xor eax, eax
push ebx
push esi
push edi
push 3
mov dword [ebp - 0x10], eax
pop ebx
jmp 0x1002e2ac
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe10], 0xb40e11a7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e29b
mov eax, dword [ebp - 0x6d8]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x6d8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd00]
cmp eax, 0x58905b8b
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
push 1
setge dl
xor ecx, ecx
cmp eax, edx
pop edi
setg cl
xor edx, edx
mov dword [ebp - 0xe10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x18]
neg edx
sbb edx, edx
lea eax, [edx + 0x10000]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0xd00]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x10]
jle 0x1002e340
xor eax, eax
cmp dword [ebp - 0xd00], eax
je 0x1002e342
mov eax, edi
jmp 0x1002e342
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x99c], eax
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002e373
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44c], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e35b
xor eax, eax
mov dword [ebp - 0x10], 0x87013dce
mov dword [ebp - 0x40], 0xe2b7
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jge 0x1002e3a4
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x96c], 0x7f825e7a
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x1002e38c
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], edi
jge 0x1002e3c4
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x1f0], 0x2a83
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x1002e3ac
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ecx
jge 0x1002e3e0
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x900], edi
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jl 0x1002e3cc
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
push 0xffffffffffffffff
mov dword [ebp - 0x10], eax
pop edx
jmp 0x1002e479
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002e425
mov eax, dword [ebp - 0x1c]
push 4
mov dword [ebp + eax*4 - 0x1208], edx
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], eax
jl 0x1002e40e
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1002e470
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002e458
push eax
push 0xfdb
push 0x440
push 0x197a
push 0x20ee
push 0x1096
push 0x1478
push eax
call esi
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x96c]
dec dword [ebp - 0x1c]
pop eax
jns 0x1002e42d
push 2
pop ecx
or edx, 0xffffffff
dec dword [ebp - 0x1f0]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002e3f1
mov eax, dword [ebp - 0x964]
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x8fc], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], 0xffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x8fc]
xor eax, eax
mov dword [ebp - 0x964], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002e4db
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c], 0x4cd45360
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e4c3
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002e4fb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x100], 0x8c6a53d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002e4e3
xor eax, eax
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], ecx
jg 0x1002e572
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 0x18], 0xe9fb1c03
mov dword [ebp - 0x24], 0xd9d75405
mov dword [ebp - 0x34], eax
neg dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
sub ecx, 0x61fc2da8
cmp eax, ecx
mov eax, dword [ebp - 0x34]
push 0xfffffffffffffff7
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x100]
setl bl
xor ecx, ecx
cmp eax, ebx
setle cl
xor eax, eax
cmp ecx, 0x1f78
setl al
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x100]
pop eax
cmp dword [ebp - 0x100], eax
push 0
pop eax
jle 0x1002e50c
push 3
pop ebx
mov dword [ebp - 0x128], edi
cmp dword [ebp - 0x128], eax
jl 0x1002e628
mov dword [ebp - 0x30], 0xc234ac01
xor ecx, ecx
mov dword [ebp - 0x30], 0xfffffffc
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp + eax*4 - 0x44c]
cmp eax, edi
mov eax, dword [ebp - 0x128]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x128]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x128]
sete cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x44c]
imul eax, ecx
mov ecx, 0x244d
sub ecx, eax
mov eax, dword [ebp - 0x128]
cmp ecx, eax
mov eax, dword [ebp - 0x128]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x44c]
cmp edx, eax
mov eax, dword [ebp - 0x128]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp + eax*4 - 0x44c]
add eax, 0x83ac
add eax, ecx
mov dword [ebp - 0x448], eax
dec dword [ebp - 0x128]
jns 0x1002e584
xor eax, eax
mov dword [ebp - 0x30], 0x722a
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002e652
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3f0], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e63a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002e672
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x144], 0x4cd45360
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e65a
xor eax, eax
mov dword [ebp - 0x140], edi
cmp dword [ebp - 0x140], eax
jl 0x1002e72b
mov dword [ebp - 0x30], 0xc234ac01
xor ecx, ecx
mov dword [ebp - 0x30], 0xfffffffc
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp + eax*4 - 0x3f0]
cmp eax, edi
mov eax, dword [ebp - 0x140]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x140]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x140]
sete cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x3f0]
imul eax, ecx
mov ecx, 0x244d
sub ecx, eax
mov eax, dword [ebp - 0x140]
cmp ecx, eax
mov eax, dword [ebp - 0x140]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3f0]
cmp edx, eax
mov eax, dword [ebp - 0x140]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x140]
mov eax, dword [ebp + eax*4 - 0x3f0]
add eax, 0x83ac
add eax, ecx
mov dword [ebp - 0x3ec], eax
dec dword [ebp - 0x140]
jns 0x1002e684
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x30], 0x722a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002e752
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x440], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e73a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002e772
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x134], 0x4cd45360
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e75a
xor eax, eax
mov dword [ebp - 0x130], edi
cmp dword [ebp - 0x130], eax
jl 0x1002e82b
mov dword [ebp - 0x30], 0xc234ac01
xor ecx, ecx
mov dword [ebp - 0x30], 0xfffffffc
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp + eax*4 - 0x440]
cmp eax, edi
mov eax, dword [ebp - 0x130]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x130]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x130]
sete cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x440]
imul eax, ecx
mov ecx, 0x244d
sub ecx, eax
mov eax, dword [ebp - 0x130]
cmp ecx, eax
mov eax, dword [ebp - 0x130]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x440]
cmp edx, eax
mov eax, dword [ebp - 0x130]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp + eax*4 - 0x440]
add eax, 0x83ac
add eax, ecx
mov dword [ebp - 0x43c], eax
dec dword [ebp - 0x130]
jns 0x1002e784
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x2c], 0xb7c7ce53
or edx, 0xffffffff
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x58], 0xfffffffe
mov dword [ebp - 0x58], 0xfffffffe
mov dword [ebp - 0x40], 0x40b319b
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002e87d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x758], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002e865
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1002ea13
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], 0xee491ba6
mov dword [ebp - 0x40], 0x32d38ca8
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x90], 4
mov dword [ebp - 0x8c], 4
mov dword [ebp - 0x88], 4
mov dword [ebp - 0x84], 4
mov dword [ebp - 0x30], 0xd1b4
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002e8ef
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5ec], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002e8d7
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
jl 0x1002e9f0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0x50fa8fad
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0x5ef13550
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002e936
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1228], 0x253d9751
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002e91e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002e94c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd24], 0xbf68
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e93b
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x758], 0
je 0x1002e99a
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x758]
cmp eax, 0xd271
setne cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x758]
mov eax, dword [ebp - 0x2c]
test eax, eax
setg cl
xor eax, eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], eax
je 0x1002e99c
mov edx, edi
jmp 0x1002e99e
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
push 0
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ebx, ebx
mov eax, dword [ebp + eax*4 - 0x758]
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle bl
xor ecx, ecx
shl ebx, 2
cmp ebx, eax
pop eax
push 3
setne cl
pop ebx
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0xd20]
dec dword [ebp - 0x28]
push 0xffffffffffffffff
pop edx
jns 0x1002e8fb
push 2
pop ecx
or edx, edx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002ea10
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5ec], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002e9f8
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x1002e885
mov dword [ebp - 0x40], edx
mov ecx, 0x6f2e
mov dword [ebp - 0x718], ecx
mov dword [ebp - 0x714], ecx
mov dword [ebp - 0x710], ecx
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 0x10], 0x46158d32
mov dword [ebp - 0x18], 0xc6a3f154
mov dword [ebp - 0xafc], eax
mov dword [ebp - 0xaf8], eax
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xaf0], eax
push 4
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002ea85
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd34], 0x9a20b287
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ea6d
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002ea9b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf18], 0xb40e11a7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ea8a
mov eax, dword [ebp - 0x718]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x718]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd28]
cmp eax, 0x58905b8b
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0xf18], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x70c]
mov ecx, dword [ebp - 0x18]
neg edx
sbb edx, edx
lea eax, [edx + 0x10000]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0xd28]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, dword [ebp - 0x10]
jle 0x1002eb2a
cmp dword [ebp - 0xd28], eax
je 0x1002eb2a
mov eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xafc], eax
xor eax, eax
mov dword [ebp - 0x10], 0x87013dce
mov dword [ebp - 0x40], 0xe2b7
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
jge 0x1002eb69
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x93c], 0x7f825e7a
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jl 0x1002eb51
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], edi
jge 0x1002eb89
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x200], 0x2a83
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x1002eb71
xor eax, eax
push 2
mov dword [ebp - 0x3c], eax
pop ecx
cmp dword [ebp - 0x3c], ecx
jge 0x1002eba8
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x880], edi
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jl 0x1002eb94
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jg 0x1002ec48
or edx, 0xffffffff
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002ebeb
mov eax, dword [ebp - 0x1c]
push 4
mov dword [ebp + eax*4 - 0x12c8], edx
inc dword [ebp - 0x1c]
pop eax
cmp dword [ebp - 0x1c], eax
jl 0x1002ebd4
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1002ec36
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002ec1e
push eax
push 0xfdb
push 0x440
push 0x197a
push 0x20ee
push 0x1096
push 0x1478
push eax
call esi
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x93c]
dec dword [ebp - 0x1c]
pop eax
jns 0x1002ebf3
push 2
pop ecx
or edx, 0xffffffff
dec dword [ebp - 0x200]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002ebb7
mov eax, dword [ebp - 0x934]
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x18], 0xffff
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x200]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x934], edi
xor eax, eax
mov dword [ebp - 0x30], 0x722a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002eca8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfc], 0x8c6a53d0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002ec90
xor eax, eax
push 0xfffffffffffffff7
pop esi
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], esi
jg 0x1002ed1c
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 0x18], 0xe9fb1c03
mov dword [ebp - 0x24], 0xd9d75405
mov dword [ebp - 0x34], eax
neg dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
sub ecx, 0x61fc2da8
cmp eax, ecx
mov eax, dword [ebp - 0x34]
push 0
setle dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0xfc]
setl bl
xor ecx, ecx
cmp eax, ebx
setle cl
xor eax, eax
cmp ecx, 0x1f78
setl al
mov dword [ebp - 0x24], eax
dec dword [ebp - 0xfc]
pop eax
cmp dword [ebp - 0xfc], esi
jle 0x1002ecb9
push 3
pop ebx
mov dword [ebp - 0x468], edi
or edx, 0xffffffff
mov dword [ebp - 0x464], edi
mov dword [ebp - 0x460], edi
mov dword [ebp - 0x45c], edi
mov dword [ebp - 0x18], edx
push 9
pop esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xc3b7c39c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002ed67
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x158], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002ed4f
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002ed81
push 0x1584
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
xor eax, eax
or edx, 0xffffffff
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], eax
jl 0x1002ee54
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x464]
cmp dword [ebp + eax*4 - 0x158], 0
jne 0x1002ee52
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], eax
jl 0x1002ee46
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], eax
jmp 0x1002edcd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x240], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002edc0
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x158], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x158]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x464]
jne 0x1002ee0d
mov eax, dword [ebp - 0x464]
mov eax, dword [ebp + eax*4 - 0x158]
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x18], 0xfff7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
push 0
mov eax, dword [ebp + eax*4 - 0x158]
mov dword [ebp - 0x18], 0xd9a54e57
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x240]
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x10]
pop eax
jns 0x1002edb8
dec dword [ebp - 0x464]
jns 0x1002ed93
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1002ee73
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3fc], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ee5f
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002ee96
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x50c], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ee7e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002eeac
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5f8], 0xe1dfe009
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ee9b
mov dword [ebp - 0x50c], 0xfffffff4
mov ebx, 0x76a47cde
jmp 0x1002ef57
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], 0x98cafa32
mov eax, dword [ebp - 0x50c]
sub eax, dword [ebp - 0x50c]
mov dword [ebp - 0x5f8], eax
cmp dword [ebp - 0x18], edx
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x18]
cmp eax, 0xe665969a
sbb eax, eax
inc eax
test eax, eax
jg 0x1002ef07
xor eax, eax
cmp dword [ebp - 0x5f8], eax
je 0x1002ef09
mov eax, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xffffffe9
jmp 0x1002ef4b
mov dword [ebp - 0x9bc], ebx
mov dword [ebp - 0x9b8], ebx
mov dword [ebp - 0x9b4], ebx
mov dword [ebp - 0x9b0], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9b4]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5f8], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1c
jle 0x1002ef15
inc dword [ebp - 0x50c]
cmp dword [ebp - 0x50c], 0x16
jne 0x1002eec5
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002ef86
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x13c], 0x4cd45360
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002ef6e
xor eax, eax
mov dword [ebp - 0x30], 0x5ef889a2
push 4
mov dword [ebp - 0x3c], eax
pop ecx
cmp dword [ebp - 0x3c], ecx
jge 0x1002efb0
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xdb4], 0xfffb
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jl 0x1002ef98
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], edi
jge 0x1002efd0
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0xbbc], 0
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x1002efb8
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x1002efe6
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x5fc], 0
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
jl 0x1002efd5
mov edx, dword [ebp - 0xdac]
mov eax, dword [ebp - 0xdac]
neg edx
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x5fc], ecx
mov dword [ebp - 0x138], edi
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
cmp dword [ebp - 0x138], eax
jl 0x1002f6c3
xor esi, esi
inc esi
mov dword [ebp - 0x2c], 0x8a87013d
mov dword [ebp - 0x40], 0xb4b5a9ce
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x18], 0xfff8
push 3
pop ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x20], 0x87f9bd85
mov dword [ebp - 0x30], 0x2a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f082
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x530], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f06e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002f0a2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x67c], 0xfcb44481
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002f08a
xor eax, eax
push 2
mov dword [ebp - 0x2c], eax
pop edx
cmp dword [ebp - 0x2c], edx
jg 0x1002f20c
mov edi, 0xfffe
mov dword [ebp - 0x1c], 0x60e704f3
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x48], 0xf89f2e07
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x1002f0ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc3c], 0x7e784b52
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002f0d5
xor eax, eax
mov dword [ebp - 0x1c], 0xa66e
cmp dword [ebp - 0x1c], eax
je 0x1002f147
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x530]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x530]
cmp eax, 8
setg cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x530]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
inc edx
je 0x1002f145
mov ecx, esi
jmp 0x1002f149
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, dword [ebp + eax*4 - 0x530]
je 0x1002f160
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f162
mov edx, esi
jmp 0x1002f164
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
neg eax
sbb eax, eax
add eax, 0x52fcb1a
neg eax
sbb eax, eax
add eax, 0x6ee4
cmp edi, eax
sbb eax, eax
neg eax
add ecx, eax
mov eax, dword [ebp - 0x67c]
imul ecx, eax
mov eax, dword [ebp - 0x34]
sub eax, ecx
jne 0x1002f1a9
cmp dword [ebp - 0x48], eax
je 0x1002f1ab
mov eax, esi
mov dword [ebp - 0xc3c], eax
mov eax, dword [ebp - 0x54]
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x530]
mov eax, dword [ebp - 0x2c]
sub ecx, dword [ebp + eax*4 - 0x530]
xor eax, eax
cmp dword [ebp - 0x18], ecx
jl 0x1002f1d9
cmp dword [ebp - 0x18], eax
je 0x1002f1d9
mov eax, esi
xor ecx, ecx
cmp eax, 0x426cefc6
push 2
setle cl
xor eax, eax
cmp ecx, 0x39d2
pop edx
setg al
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x2c]
push 0
pop eax
cmp dword [ebp - 0x2c], edx
jle 0x1002f0b6
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
push 3
pop ecx
dec dword [ebp - 0x20]
mov dword [ebp - 0x30], 0xc234ac01
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x20], edx
or edx, 0xffffffff
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x18], 0x7b568be1
mov dword [ebp - 0x24], 0x5752
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], 0xcc702b5b
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x1002f264
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x3e4], 0x20bd2ab
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x1002f24c
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x1002f284
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1a8], 0x57257ea0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x1002f26c
xor eax, eax
push 4
mov dword [ebp - 0x38], eax
pop edx
cmp dword [ebp - 0x38], edx
jge 0x1002f2a3
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x7e8], esi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f28f
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002f2b9
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xe28], 0x65392fb3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002f2a8
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f2d2
cmp dword [ebp - 0x20], eax
je 0x1002f2d2
mov eax, esi
mov ecx, dword [ebp - 0x20]
sub ecx, 0xcbbbc254
add ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x3e4]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x7e8]
mov eax, dword [ebp - 0x7e8]
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x7dc]
jle 0x1002f32d
mov eax, dword [ebp - 0x7e8]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
inc dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x20]
sete cl
xor edx, edx
sub ecx, 5
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
add edx, 0x9d05
cmp eax, edx
setge cl
xor eax, eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x24], eax
jne 0x1002f3ba
mov eax, dword [ebp - 0x7e8]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
neg ecx
sbb ecx, ecx
or eax, 0xffffffff
inc ecx
cmp eax, ecx
sbb eax, eax
xor edx, edx
lea ecx, [eax - 0x59a37449]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0xe24], edx
test edx, edx
jne 0x1002f3ba
xor eax, eax
jmp 0x1002f3bc
mov eax, esi
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], 0xef72d4ea
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x1002f3e0
push eax
call ebx
push eax
call edi
mov dword [ebp - 0x20], 0xffffffe5
jmp 0x1002f41e
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x1002f41b
push 0xd2a
push eax
push eax
push 0x266a
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff6
jl 0x1002f3e9
push 7
mov dword [ebp - 0x10], 0x490c4d8e
pop eax
mov dword [ebp - 0x1c], 0xa1241a59
mov dword [ebp - 0x48], eax
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x1002f45d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x544], 0xd3df
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1002f445
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002f623
mov dword [ebp - 0x4c], 0xf402e31d
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], 0xaf1ba137
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x4c], eax
jl 0x1002f620
mov dword [ebp - 0x2c], 0xfc257a10
mov dword [ebp - 0x40], 0x43f36fc7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002f4b9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x270], 0x478144ad
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002f4a0
xor eax, eax
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], esi
jg 0x1002f588
mov dword [ebp - 0x20], 0xc590f023
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], eax
jl 0x1002f500
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002f4f8
push eax
push eax
push 0x8e8
push 0x21b3
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x1002f4da
push 2
pop edx
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x544], 0
jne 0x1002f55f
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x544]
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x544], ecx
mov eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0x421d
mov eax, dword [ebp - 0x270]
mov eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x544]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
cmp edx, eax
push 0
sbb eax, eax
add eax, 0x8e296e91
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x26c]
pop eax
cmp dword [ebp - 0x26c], esi
jle 0x1002f4cb
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffeb
jge 0x1002f617
mov dword [ebp - 0x34], 0x2a05
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002f603
mov dword [ebp - 0x24], 0xfff9
cmp dword [ebp - 0x34], eax
je 0x1002f5f7
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setl dl
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x24], edx
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
xor eax, eax
sub edx, 0xac04
cmp edx, 0xffff
setne al
cmp dword [ebp - 0x4c], eax
jne 0x1002f5f5
mov eax, esi
jmp 0x1002f5f7
xor eax, eax
mov dword [ebp - 0x26c], eax
inc dword [ebp - 0x28]
push 0
pop eax
cmp dword [ebp - 0x28], 0x19
jg 0x1002f5a9
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffeb
jl 0x1002f595
push 2
xor eax, eax
pop edx
dec dword [ebp - 0x4c]
jns 0x1002f489
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1002f465
mov eax, dword [ebp - 0x138]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0x3fc]
cmp eax, esi
mov eax, dword [ebp - 0x138]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x138]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x138]
sete cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x3fc]
imul eax, ecx
mov ecx, 0x244d
sub ecx, eax
mov eax, dword [ebp - 0x138]
cmp ecx, eax
mov eax, dword [ebp - 0x138]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3fc]
cmp edx, eax
mov eax, dword [ebp - 0x138]
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp + eax*4 - 0x3fc]
add eax, 0x83ac
add eax, ecx
mov dword [ebp - 0x3f8], eax
dec dword [ebp - 0x138]
pop eax
jns 0x1002f02d
mov dword [ebp - 0x18], 5
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1002f6ed
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfbc], 0x9841
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f6d5
xor eax, eax
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002f750
mov dword [ebp - 0x20], 0xbb6748f6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f726
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfbc], 0x7fd1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f70e
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002f74b
push eax
push 0x2518
push 0xd78
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 4
xor eax, eax
pop ecx
dec dword [ebp - 0x18]
jns 0x1002f6ff
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002f777
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfd4], 0x9841
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f75f
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002f7d4
mov dword [ebp - 0x20], 0xbb6748f6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f7aa
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfd4], 0x7fd1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f792
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002f7cf
push eax
push 0x2518
push 0xd78
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 4
xor eax, eax
pop ecx
dec dword [ebp - 0x18]
jns 0x1002f783
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002f7fb
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfec], 0x9841
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f7e3
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002f858
mov dword [ebp - 0x20], 0xbb6748f6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f82e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfec], 0x7fd1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f816
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002f853
push eax
push 0x2518
push 0xd78
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 4
xor eax, eax
pop ecx
dec dword [ebp - 0x18]
jns 0x1002f807
xor edx, edx
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x38], eax
inc edx
cmp dword [ebp - 0x38], edx
jge 0x1002f882
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xca8], 0x8eac8b13
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f86a
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002f8a2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1b0], 0x3fcb50bf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f88a
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002f8c2
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xbcc], 0x29729cf3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f8aa
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002f8e4
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x11c8], 0xf63588c5
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002f8cb
xor eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_CreatePipe]
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002f902
push 0x651
push eax
push eax
push eax
call ebx
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], eax
jl 0x1002f9ba
push 2
pop ecx
push 4
pop edi
mov dword [ebp - 0x20], 0x2a1e
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x30], 0x1dfd9475
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0xa3735b26
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0x956e74e8
mov dword [ebp - 0x30], 0xe043eef7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002f96d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1074], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f955
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002f9b4
mov dword [ebp - 0x20], eax
jmp 0x1002f9a3
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002f99d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1248], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002f985
xor eax, eax
inc dword [ebp - 0x18]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1002f977
dec dword [ebp - 0x1b0]
jns 0x1002f91a
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002f9e1
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xd18], 0x8eac8b13
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f9c9
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002fa01
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1fc], 0x3fcb50bf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002f9e9
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002fa21
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc0c], 0x29729cf3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002fa09
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jge 0x1002fa43
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x10e4], 0xf63588c5
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 3
jl 0x1002fa2a
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002fa5b
push 0x651
push eax
push eax
push eax
call ebx
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x1fc], eax
push 2
pop ecx
cmp dword [ebp - 0x1fc], eax
jl 0x1002fb13
push 4
pop edi
mov dword [ebp - 0x20], 0x2a1e
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x30], 0x1dfd9475
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0xa3735b26
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0x956e74e8
mov dword [ebp - 0x30], 0xe043eef7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002fac6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1044], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002faae
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002fb0d
mov dword [ebp - 0x20], eax
jmp 0x1002fafc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002faf6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1348], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002fade
xor eax, eax
inc dword [ebp - 0x18]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1002fad0
dec dword [ebp - 0x1fc]
jns 0x1002fa73
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
mov dword [ebp - 0x10], 0x4cd4536
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002fb41
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x224], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002fb29
xor eax, eax
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], eax
jl 0x1002fcdc
xor esi, esi
mov edi, 0xfff9
inc esi
mov dword [ebp - 0x18], 0x3314648a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002fb7e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x194], 0x98311173
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002fb65
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002fba8
push eax
push 0x91b
push 0x22f7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], esi
jg 0x1002fcc4
mov dword [ebp - 0x18], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp + eax*4 - 0x224]
mov dword [ebp - 0x18], 0xfffffffd
mov eax, dword [ebp - 0x220]
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x194]
cmp eax, ecx
mov eax, dword [ebp - 0x194]
setl dl
add edx, 0x9d5fb08a
neg edx
mov eax, dword [ebp + eax*4 - 0x224]
sbb edx, edx
xor ecx, ecx
add edx, 2
cmp edx, 0xb818f8f6
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x190]
cmp ecx, eax
mov ecx, dword [ebp - 0x194]
setle dl
cmp edi, edx
sbb eax, eax
neg eax
cmp eax, esi
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp + eax*4 - 0x224]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
imul eax, eax, 5
test eax, eax
jne 0x1002fc5e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x194]
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x224]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], eax
je 0x1002fc8d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x194]
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x224]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x194]
cmp dword [ebp - 0x194], esi
jle 0x1002fbba
xor eax, eax
dec dword [ebp - 0x10]
jns 0x1002fb55
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
xor edx, edx
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
inc edx
push 3
pop ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002fd02
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc94], 0x8eac8b13
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002fcea
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002fd22
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1b8], 0x3fcb50bf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002fd0a
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], edx
jge 0x1002fd42
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xc9c], 0x29729cf3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x1002fd2a
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ecx
jge 0x1002fd62
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x10f0], 0xf63588c5
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x1002fd4a
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002fd7a
push 0x651
push eax
push eax
push eax
call ebx
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x1b8], eax
push 2
pop ecx
cmp dword [ebp - 0x1b8], eax
jl 0x1002fe32
push 4
pop esi
mov dword [ebp - 0x20], 0x2a1e
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x30], 0x1dfd9475
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0xa3735b26
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], 0x956e74e8
mov dword [ebp - 0x30], 0xe043eef7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002fde5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfc4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002fdcd
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002fe2c
mov dword [ebp - 0x20], eax
jmp 0x1002fe1b
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fe15
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1268], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fdfd
xor eax, eax
inc dword [ebp - 0x18]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1002fdef
dec dword [ebp - 0x1b8]
jns 0x1002fd92
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], 0x7e71f09a
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x28], 0x13
cmp dword [ebp - 0x28], 0xffffffe7
je 0x1002ff0e
or edi, 0xffffffff
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002fe81
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x66c], 0xe6e3245f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002fe69
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002feb8
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x66c]
test eax, eax
setne cl
xor eax, eax
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x1002feb5
push 0x211d
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor edx, edx
inc edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jle 0x1002fe86
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x66c]
cmp eax, dword [ebp - 0x34]
jge 0x1002fee6
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x34], eax
je 0x1002fee8
mov ecx, edx
mov eax, dword [ebp - 0x28]
sub ecx, eax
neg ecx
push 0
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe7
pop eax
push 2
pop ecx
jne 0x1002fe57
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
mov dword [ebp - 0x20], 0xfffffff9
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1002ff34
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x12e8], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002ff20
xor eax, eax
mov dword [ebp - 0x20], 0xd
cmp dword [ebp - 0x20], 0xffffffef
jl 0x1002ffb1
mov dword [ebp - 0x1c], 0xe1e2c0d3
mov dword [ebp - 0x1c], 0x20fe6e32
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x1002ffa5
mov dword [ebp - 0x18], 0x928fbc78
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002ffa0
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002ff83
push 0x651
push eax
push eax
push eax
call ebx
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1002ff9b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x1002ff6e
dec dword [ebp - 0x1c]
jns 0x1002ff5b
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffef
jge 0x1002ff41
xor edx, edx
inc edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x40], 0xc6f1bf50
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffff5
je 0x1002ffea
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x1002ffdc
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
jne 0x1002ffc4
xor edx, edx
xor eax, eax
inc edx
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
push 3
mov dword [ebp - 0x10], eax
pop ebx
cmp dword [ebp - 0x10], ebx
jge 0x10030013
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x578], 0x41651328
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002fffb
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10030036
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc34], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1003001e
xor eax, eax
cmp dword [ebp - 0x578], eax
jne 0x10030065
mov eax, dword [ebp - 0x574]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x578]
neg eax
sbb eax, eax
add eax, 0x5253282e
neg eax
sbb eax, eax
inc eax
cmp eax, ebx
je 0x10030065
mov eax, dword [ebp - 0x578]
mov eax, dword [ebp - 0x18]
mov ecx, edx
sub ecx, eax
jne 0x10030078
xor eax, eax
cmp dword [ebp - 0x578], eax
je 0x1003007a
mov eax, edx
mov ecx, 0x951a
sub ecx, eax
mov eax, dword [ebp - 0x578]
sub ecx, eax
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0xc34], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x100300b0
push 0x239c
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x24], 5
or ecx, 0xffffffff
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], 0x69f4981f
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100300e3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x764], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100300cf
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030103
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11e0], 0x9884cb8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100300eb
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10030115
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor eax, eax
push 2
pop ecx
xor ebx, ebx
mov dword [ebp - 0x4c], ecx
inc ebx
cmp dword [ebp - 0x4c], eax
jl 0x10030260
or esi, 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0x22ba7b7e
mov dword [ebp - 0x18], 0xf985589b
mov dword [ebp - 0x10], 0x7dcda720
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x10030251
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0x3489
mov dword [ebp - 0x1c], eax
jmp 0x1003016e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe8], 0xfbbd0a70
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003015d
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x764]
mov eax, dword [ebp - 0xe8]
imul ecx, eax, 6
mov eax, dword [ebp - 0xe8]
sub ecx, eax
mov eax, dword [ebp - 0xe8]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
cmp ecx, esi
setl dl
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x75c]
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
xor eax, eax
cmp dword [ebp - 0xe8], ebx
jg 0x100301e4
cmp dword [ebp - 0x4c], eax
je 0x100301e4
mov eax, ebx
cmp eax, dword [ebp - 0xe8]
jge 0x100301ff
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x764], 0
jne 0x100301ff
xor eax, eax
mov edx, eax
jmp 0x10030201
mov edx, ebx
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x764]
mov eax, dword [ebp - 0x34]
imul eax, edx
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
jl 0x1003022b
xor eax, eax
cmp dword [ebp - 0xe8], eax
je 0x1003022d
mov ecx, ebx
jmp 0x1003022f
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x10]
sub ecx, eax
xor eax, eax
cmp ecx, 0x26ff23b1
push 0
setne al
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x20]
pop eax
jns 0x1003014e
push 2
pop ecx
dec dword [ebp - 0x4c]
jns 0x1003012a
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov dword [ebp - 0x10], 0xbdba76aa
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030287
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x210], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003026f
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x10030324
mov edi, dword [ebp - 0x58]
mov dword [ebp - 0x18], edi
xor ecx, ecx
mov dword [ebp - 0x40], 0xfdb7b241
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x210], ecx
je 0x100302bc
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x210], ecx
mov eax, ebx
jne 0x100302be
mov eax, ecx
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x100302f6
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x210]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x210]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x210]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
mov eax, ebx
xor edx, edx
cmp eax, 0x62d7bc3
mov eax, dword [ebp - 0x20c]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x10030296
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030347
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x100c], 0x9841
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003032f
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffc
or ecx, 0xffffffff
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x20], 0xca4e8652
mov dword [ebp - 0x18], 0x7d1dc6b7
mov dword [ebp - 0x34], 0x6fec1b16
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x34], 0x65ee6d54
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030395
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc68], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030380
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x100303c7
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
je 0x100303cc
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x100303cf
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0xc60], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setg dl
xor eax, eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], eax
je 0x10030420
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x10030432
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xc68], 9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x10030407
jmp 0x10030430
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10030432
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov dword [ebp - 0x24], 3
push 0xfffffffffffffff8
pop edx
cmp dword [ebp - 0x24], eax
jl 0x10030880
push 4
pop edi
mov dword [ebp - 0x20], 0xbb6748f6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10030646
or esi, 0xffffffff
mov dword [ebp - 0x2c], 0xa48bbca6
mov dword [ebp - 0x18], 0x30b9
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x40], 0x4c5f6b4a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1003049d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1288], 0x265d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030485
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xf
jle 0x100305cb
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x4c], 0x6c93846f
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x10], eax
jne 0x100305a0
imul eax, dword [ebp - 0x2c], 0x2a8d
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x9507
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp dword [ebp - 0x10], ecx
jle 0x100305a0
mov dword [ebp - 0x34], 0xf2c9a130
mov dword [ebp - 0x1c], 0x58b
mov dword [ebp - 0x4c], 0xf9491450
cmp dword [ebp - 0x10], eax
je 0x10030559
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x10030532
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 0x4c]
sub eax, 0xfffc
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x1c]
jg 0x10030557
mov edx, ebx
jmp 0x1003055b
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp edx, eax
setle cl
mov dword [ebp - 0x4c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x4c]
sub edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
setg cl
xor edi, edi
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x1c], edi
jne 0x100305c6
jmp 0x100305b7
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x100305b9
push 0x3f0
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xf
jg 0x100304aa
push 4
xor eax, eax
pop edi
mov dword [ebp - 0x2c], 3
cmp dword [ebp - 0x2c], eax
jl 0x10030620
mov dword [ebp - 0x30], 0x942fafec
mov dword [ebp - 0x30], 0xa458230b
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0x62cc684c
mov dword [ebp - 0x18], 0x3368
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030618
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10fc], 0x82e70d5d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100305ff
xor eax, eax
dec dword [ebp - 0x18]
dec dword [ebp - 0x2c]
jns 0x100305d7
mov eax, dword [ebp - 0x20]
push 0
mov dword [ebp + eax*4 - 0x100c], 0x7fd1
inc dword [ebp - 0x20]
pop eax
cmp dword [ebp - 0x20], edi
jl 0x1003045e
mov esi, dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push 0xfffffffffffffff8
pop edx
mov dword [ebp - 0x10], 0xd16df251
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1003066f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xeb8], 0xa8c6a53d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030656
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030691
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeb8], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030678
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffff0
jl 0x100306ae
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff0
jge 0x1003069a
xor eax, eax
mov dword [ebp - 0x18], eax
or edi, 0xffffffff
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x18], edi
jne 0x100306e1
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10030748
push eax
push eax
push 0xb4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x10030746
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030702
xor edi, edi
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x228], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100306eb
xor eax, eax
or edi, 0xffffffff
cmp dword [ebp - 0x228], eax
jne 0x1003071b
mov eax, dword [ebp - 0x228]
cmp dword [ebp - 0x18], eax
jg 0x1003071b
xor eax, eax
mov edx, eax
jmp 0x1003071d
mov edx, ebx
mov eax, dword [ebp - 0x228]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x34], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp eax, 0x7979b389
setg cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
xor eax, eax
mov byte [ebp - 0x11], al
mov dword [ebp - 0x10], 0x24a8c6a5
mov dword [ebp - 0x10], eax
jmp 0x1003078d
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1003078a
push 0x1c4a
push 0x2f2
push 0x7fd
push 0x96a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_IntersectClipRect]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1b
je 0x10030757
mov dword [ebp - 0x10], 0xffffffe7
cmp dword [ebp - 0x10], 0xffffffeb
jg 0x100307f6
push 0xfffffffffffffff7
pop edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], eax
jmp 0x100307e8
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x15
jne 0x100307e5
mov ecx, 0x50db8561
mov dword [ebp - 0xa9c], ecx
mov dword [ebp - 0xa98], ecx
mov dword [ebp - 0xa94], ecx
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa9c], eax
jne 0x100307e5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x15
je 0x100307bc
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100307ab
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffeb
jle 0x100307a3
cmp byte [ebp - 0x11], 0
push 4
je 0x1003086a
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0xe53d8da8
mov dword [ebp - 0x30], 0xe0b4074d
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x18], 0x7543
mov dword [ebp - 0x1c], eax
pop edi
cmp dword [ebp - 0x1c], edi
jge 0x1003084a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1328], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030832
xor eax, eax
inc dword [ebp - 0x18]
push eax
push 0x2518
push 0xd78
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
jmp 0x1003086b
pop edi
dec dword [ebp - 0x24]
push 0
pop eax
push 0xfffffffffffffff8
pop edx
jns 0x10030448
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [sym.imp.GDI32.dll_UpdateColors]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], 0x1af6658d
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x24], 0x4415e40c
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffff2
jge 0x100308d7
or ecx, 0xffffffff
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100308c8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
or ecx, 0xffffffff
mov eax, dword [ebp - 0x40]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff2
push 0
pop eax
jl 0x100308a9
mov dword [ebp - 0x2c], 0xffffffe8
jmp 0x100309ef
mov dword [ebp - 0x1c], 0x887cf2e5
mov dword [ebp - 0x34], 0x5e04a276
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xc
jne 0x100309ec
mov dword [ebp - 0x800], 0x2df3d37a
mov dword [ebp - 0x7fc], 0x2df3d37a
mov dword [ebp - 0x7f8], 0x2df3d37a
mov dword [ebp - 0x7f4], 0x2df3d37a
mov dword [ebp - 0x34], 0x7276cc72
imul eax, dword [ebp - 0x800], 0x5fe4
test eax, eax
je 0x100309d6
mov dword [ebp - 0x20], 0xccc89593
mov dword [ebp - 0x20], 0xa
cmp dword [ebp - 0x20], 6
jl 0x100309dd
xor esi, esi
inc esi
mov dword [ebp - 0x18], 0x7855
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x100309dd
mov dword [ebp - 0x34], esi
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x800]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp eax, esi
setle cl
sub edx, ecx
mov dword [ebp - 0x34], edx
je 0x1003099c
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003099c
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setg dl
xor eax, eax
cmp dword [ebp - 0x18], edx
jne 0x100309c1
mov ecx, esi
cmp dword [ebp - 0x2c], eax
jne 0x100309c3
mov ecx, eax
mov eax, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 6
jge 0x1003095a
jmp 0x100309dd
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x100309ea
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xc
je 0x100308fe
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffea
jl 0x100308e3
mov dword [ebp - 0x10], 0x4cd4536
mov dword [ebp - 0x40], 5
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030a2a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x294], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030a12
xor eax, eax
xor esi, esi
inc esi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10030bbf
mov edi, 0xfff9
mov dword [ebp - 0x18], 0x3314648a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030a67
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x17c], 0x98311173
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030a4e
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030a91
push eax
push 0x91b
push 0x22f7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], esi
jg 0x10030bad
mov dword [ebp - 0x18], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x17c]
mov eax, dword [ebp + eax*4 - 0x294]
mov dword [ebp - 0x18], 0xfffffffd
mov eax, dword [ebp - 0x290]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x17c]
cmp eax, ecx
mov eax, dword [ebp - 0x17c]
setl dl
add edx, 0x9d5fb08a
neg edx
mov eax, dword [ebp + eax*4 - 0x294]
sbb edx, edx
xor ecx, ecx
add edx, 2
cmp edx, 0xb818f8f6
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x178]
cmp ecx, eax
mov ecx, dword [ebp - 0x17c]
setle dl
cmp edi, edx
sbb eax, eax
neg eax
cmp eax, esi
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [ebp + eax*4 - 0x294]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
imul eax, eax, 5
test eax, eax
jne 0x10030b47
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x294]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], eax
je 0x10030b76
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x294]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x17c]
cmp dword [ebp - 0x17c], esi
jle 0x10030aa3
xor eax, eax
dec dword [ebp - 0x10]
jns 0x10030a3e
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
push 2
pop ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030be2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x108c], 0x1713
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030bca
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jg 0x10030c0f
mov dword [ebp - 0x18], 0x7e55
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x18], 0x83846275
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10030bea
xor eax, eax
mov dword [ebp - 0x10], 0x4cd4536
mov dword [ebp - 0x40], 5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030c3d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x258], 8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030c25
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10030dcc
mov edi, 0xfff9
mov dword [ebp - 0x18], 0x3314648a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10030c77
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x188], 0x98311173
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10030c5e
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030ca1
push eax
push 0x91b
push 0x22f7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
xor eax, eax
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], esi
jg 0x10030dbd
mov dword [ebp - 0x18], 0xfffffff6
xor edx, edx
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp + eax*4 - 0x258]
mov dword [ebp - 0x18], 0xfffffffd
mov eax, dword [ebp - 0x254]
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x188]
cmp eax, ecx
mov eax, dword [ebp - 0x188]
setl dl
add edx, 0x9d5fb08a
neg edx
mov eax, dword [ebp + eax*4 - 0x258]
sbb edx, edx
xor ecx, ecx
add edx, 2
cmp edx, 0xb818f8f6
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x184]
cmp ecx, eax
mov ecx, dword [ebp - 0x188]
setle dl
cmp edi, edx
sbb eax, eax
neg eax
cmp eax, esi
sbb eax, eax
neg eax
imul ecx, eax
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp + eax*4 - 0x258]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
imul eax, eax, 5
test eax, eax
jne 0x10030d57
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x258]
cmp eax, ecx
setge dl
xor eax, eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], eax
je 0x10030d86
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x188]
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setne cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x188]
cmp dword [ebp - 0x188], esi
jle 0x10030cb3
dec dword [ebp - 0x10]
jns 0x10030c4e
mov edi, dword [sym.imp.USER32.dll_ValidateRect]
mov ecx, dword [ebp - 0x58]
or edx, 0xffffffff
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x18], 0x7b568be1
mov dword [ebp - 0x24], 0x5752
push 3
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], 0xcc702b5b
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x10030e1d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x418], 0x20bd2ab
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x10030e05
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], esi
jge 0x10030e3d
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x1e0], 0x57257ea0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], esi
jl 0x10030e25
xor eax, eax
push 4
mov dword [ebp - 0x38], eax
pop edx
cmp dword [ebp - 0x38], edx
jge 0x10030e5c
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x818], esi
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x10030e48
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x10030e72
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0xe40], 0x65392fb3
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10030e61
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030e8b