Function at 0x1002c38e
Capabilities:
Accept command line arguments
Allocate thread local storage
Create process on windows
Delete registry value
Enumerate files on windows
Get common file path
Get geographical location
Get memory capacity
Log keystrokes via polling
Parse pe header
Set environment variable
Terminate process

Disassembly:
mov eax, 0x10079394
call fcn.100780f8
mov eax, 0x1684
call fcn.10060670
push ebx
push esi
mov esi, 0xbf34fda0
mov byte [ebp - 0x6d], dl
mov dword [ebp - 0x3c], esi
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], 0x708ef6b8
mov dword [ebp - 0x24], eax
inc ebx
push edi
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x24], ebx
jge 0x1002c3df
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xec8], 0xe164caf
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002c3c7
xor eax, eax
push 2
mov dword [ebp - 0x24], eax
pop edi
jmp 0x1002c3f8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd44], 0xe790e864
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1002c3e7
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x3c], eax
jmp 0x1002c456
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1002c437
dec dword [ebp - 0x44]
dec dword [ebp - 0x14]
jns 0x1002c42f
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002c453
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0xd44], 0
jne 0x1002c451
dec dword [ebp - 0x14]
jns 0x1002c43f
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x1002c420
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x14], 0x708ef6b8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002c485
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd7c], 0xe164caf
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002c46d
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002c49b
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xedc], 0xe790e864
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1002c48a
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x3c], eax
jmp 0x1002c4f9
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1002c4da
dec dword [ebp - 0x44]
dec dword [ebp - 0x14]
jns 0x1002c4d2
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002c4f6
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0xedc], 0
jne 0x1002c4f4
dec dword [ebp - 0x14]
jns 0x1002c4e2
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x1002c4c3
movdqa xmm0, xmmword [0x10007cb0]
lea eax, [ebp - 0xfa4]
push eax
lea eax, [ebp - 0xfb4]
mov dword [ebp - 0x24], 0x69fdf99f
push eax
lea ecx, [ebp - 0x1438]
movdqu xmmword [ebp - 0xfb4], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x21d]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9a0]
push dword [esi]
call fcn.10015e01
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 4
cmp dword [ebp - 0x24], 0xfffffff2
push 3
pop ecx
jle 0x1002c698
jmp 0x1002c56c
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], eax
jl 0x1002c609
push edi
lea ecx, [ebp - 0x4d4]
call fcn.10015dbf
xor eax, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x10], eax
jmp 0x1002c5a2
push dword [ebp - 0x10]
call fcn.10015e2c
mov dword [eax], 3
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x4d4]
cmp dword [ebp - 0x10], edi
jl 0x1002c591
push ebx
call fcn.10015e2c
xor ebx, ebx
xor esi, esi
inc esi
mov dword [eax], ebx
jmp 0x1002c5de
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x9a0]
call fcn.10015e2c
push esi
lea ecx, [ebp - 0x4d4]
mov dword [eax], 0x92c5eb20
call fcn.10015e2c
inc dword [eax]
push esi
lea ecx, [ebp - 0x4d4]
call fcn.10015e2c
cmp dword [eax], 3
jle 0x1002c5bc
lea ecx, [ebp - 0x4d4]
mov byte [ebp - 4], bl
call fcn.10015e27
dec dword [ebp - 0x3c]
push 1
pop ebx
jns 0x1002c57b
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, dword [ebp - 0x3c]
jl 0x1002c624
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x1002c626
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
shl edx, 2
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x24]
jne 0x1002c64b
xor eax, eax
mov edi, eax
cmp dword [ebp - 0x3c], eax
je 0x1002c64d
mov edi, ebx
push 2
lea ecx, [ebp - 0x9a0]
call fcn.10015e2c
mov edx, dword [ebp - 0x3c]
mov esi, eax
add edx, 3
xor eax, eax
add edx, edi
imul edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
push 2
pop edi
cmp edx, ecx
mov ecx, dword [ebp - 0x3c]
setge al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esi], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff2
jg 0x1002c567
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9a0]
call fcn.10015e27
mov dword [ebp - 0x3c], 0xbf34fda0
xor eax, eax
mov dword [ebp - 0x14], 0x708ef6b8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002c6d7
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd88], 0xe164caf
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002c6bf
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002c6ed
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd58], 0xe790e864
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1002c6dc
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setg dl
add edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x3c], eax
jmp 0x1002c74b
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1002c72c
dec dword [ebp - 0x44]
dec dword [ebp - 0x14]
jns 0x1002c724
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002c748
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0xd58], 0
jne 0x1002c746
dec dword [ebp - 0x14]
jns 0x1002c734
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
jle 0x1002c715
push 3
pop eax
mov dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x71c]
push eax
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], edi
push 3
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x1002c78a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x8a8], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002c776
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x1002c7b1
push 3
pop ebx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x71c]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002c795
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x8a4]
lea ecx, [ebp - 0x71c]
sub eax, dword [ebp - 0x8a0]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov esi, dword [ebp - 0x2c]
push eax
call fcn.10015e2c
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [eax], esi
cmp esi, dword [ebp - 0x8a4]
jne 0x1002c804
push ebx
lea ecx, [ebp - 0x71c]
call fcn.10015e2c
mov ecx, dword [ebp - 0x8a0]
xor edx, edx
cmp ecx, 0xffffffff
setg dl
mov dword [eax], edx
jmp 0x1002c841
mov dword [ebp - 0x30], 0x652d0da0
xor eax, eax
mov dword [ebp - 0x2c], 8
cmp dword [ebp - 0x2c], 0xfffffffa
je 0x1002c824
cmp dword [ebp - 0x30], eax
jne 0x1002c824
dec dword [ebp - 0x2c]
jmp 0x1002c814
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002c841
push eax
push 0x8f5
push 0x1741
call edi
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x71c]
call fcn.10015e27
movdqa xmm0, xmmword [0x10007cb0]
lea eax, [ebp - 0x1124]
push eax
lea eax, [ebp - 0x1134]
mov dword [ebp - 0x24], 0x69fdf99f
push eax
lea ecx, [ebp - 0x1580]
movdqu xmmword [ebp - 0x1134], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x199]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xc4c]
push dword [esi]
call fcn.10015e01
push 3
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], 4
cmp dword [ebp - 0x24], 0xfffffff2
jle 0x1002c9e8
jmp 0x1002c8ba
push 3
pop eax
push 2
pop esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jl 0x1002c957
push esi
lea ecx, [ebp - 0x4c8]
call fcn.10015dbf
xor eax, eax
mov byte [ebp - 4], 4
push 3
mov dword [ebp - 0x10], eax
pop edi
lea ecx, [ebp - 0x4c8]
cmp dword [ebp - 0x10], esi
jge 0x1002c900
push dword [ebp - 0x10]
call fcn.10015e2c
mov dword [eax], edi
inc dword [ebp - 0x10]
jmp 0x1002c8e6
push ebx
call fcn.10015e2c
and dword [eax], 0
jmp 0x1002c92d
push dword [ebp - 0x3c]
lea ecx, [ebp - 0xc4c]
call fcn.10015e2c
push ebx
lea ecx, [ebp - 0x4c8]
mov dword [eax], 0x92c5eb20
call fcn.10015e2c
inc dword [eax]
push ebx
lea ecx, [ebp - 0x4c8]
call fcn.10015e2c
cmp dword [eax], edi
jle 0x1002c90b
push 3
pop eax
lea ecx, [ebp - 0x4c8]
mov byte [ebp - 4], al
call fcn.10015e27
dec dword [ebp - 0x3c]
jns 0x1002c8ce
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, dword [ebp - 0x3c]
jl 0x1002c972
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x1002c974
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
shl edx, 2
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x24]
jne 0x1002c999
xor eax, eax
mov edi, eax
cmp dword [ebp - 0x3c], eax
je 0x1002c99b
mov edi, ebx
push esi
lea ecx, [ebp - 0xc4c]
call fcn.10015e2c
mov edx, dword [ebp - 0x3c]
mov esi, eax
add edx, 3
xor eax, eax
add edx, edi
imul edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
cmp edx, ecx
mov ecx, dword [ebp - 0x3c]
setge al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esi], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff2
jg 0x1002c8b7
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4c]
call fcn.10015e27
mov dword [ebp - 0x48], 0x75c9
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], 0x373ee763
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002ca2a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd94], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002ca12
xor eax, eax
push 3
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x1002ca4d
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1650], 0x31d2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002ca35
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002ca5d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
dec dword [ebp - 0x44]
lea ecx, [ebp - 0x1a8]
push 2
pop esi
push esi
call fcn.10015dbf
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x10], 0xeaa32b1c
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002caa9
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002ca8e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x1002cbf6
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x18], 0xf039d3cd
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002cae3
push 0x1b82
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002cbe7
mov dword [ebp - 0x30], 0xbc00eadd
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x44]
push dword [ebp - 0x14]
neg esi
sbb esi, esi
neg esi
call fcn.10015e2c
xor edx, edx
push ebx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
xor ebx, ebx
lea ecx, [ebp - 0x1a8]
cmp dword [eax], 0xea0c
setne bl
xor esi, esi
inc esi
push esi
call fcn.10015e2c
mov ecx, dword [ebp - 0x34]
xor edx, edx
sub ebx, ecx
mov ecx, dword [ebp - 0x18]
cmp ebx, ecx
setg dl
dec edx
cmp edx, dword [eax]
jl 0x1002cb72
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
push esi
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
push esi
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x1a8]
push esi
call fcn.10015e2c
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
push dword [ebp - 0x14]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1a8]
setle bl
call fcn.10015e2c
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
cmp ecx, 0xabbf
je 0x1002cbc3
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1a8]
call fcn.10015e2c
push 0
pop eax
mov dword [ebp - 0x38], 0xb332e0c2
dec dword [ebp - 0x14]
push 1
pop ebx
jns 0x1002caef
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1002cab5
push 2
pop esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a8]
call fcn.10015e27
mov dword [ebp - 0x3c], 0xbf34fda0
lea ecx, [ebp - 0x964]
mov dword [ebp - 0x2c], 5
push ebx
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002cc4e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x964]
call fcn.10015e2c
mov dword [eax], 0x21aa2910
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002cc30
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x1002cd01
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x4c], 0xb6cd
mov dword [ebp - 0x48], 0x56a218f0
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], 0xe
jg 0x1002ccfe
mov dword [ebp - 0x30], 0x5e1abe8f
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x38], 0xbf35dd75
mov dword [ebp - 0x10], eax
jmp 0x1002ccad
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1530], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002cc9c
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1530]
mov eax, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffed
jl 0x1002cce1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffed
jge 0x1002ccd0
xor eax, eax
push eax
lea ecx, [ebp - 0x964]
call fcn.10015e2c
mov ecx, dword [ebp - 0x4c]
push 0
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xe
pop eax
jle 0x1002cc82
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffff5
jne 0x1002cc56
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x964]
call fcn.10015e27
push 3
pop eax
mov dword [ebp - 0x14], 0x708ef6b8
lea ecx, [ebp - 0xae4]
push eax
call fcn.10015dbf
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002cd6d
push 3
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0xae4]
call fcn.10015e2c
mov dword [eax], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002cd4c
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x1002cda4
jmp 0x1002cd79
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002cd8c
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x10]
lea ecx, [ebp - 0xae4]
call fcn.10015e2c
cmp dword [eax], 0
jne 0x1002cda4
dec dword [ebp - 0x10]
jns 0x1002cd77
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xae4]
call fcn.10015e27
push 3
pop eax
mov dword [ebp - 0x14], 4
lea ecx, [ebp - 0x6b4]
push eax
call fcn.10015dbf
mov dword [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x30], 0x84eb300a
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002ce06
push 3
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x6b4]
call fcn.10015e2c
mov dword [eax], 0x86e871d9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002cde5
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002ce22
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
mov dword [ebp - 0x14], 0x14
jmp 0x1002cf17
mov dword [ebp - 0x40], 0xe1ca2961
mov dword [ebp - 0x18], 0xe44142b9
mov dword [ebp - 0x40], eax
jmp 0x1002cf0b
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jg 0x1002cf08
mov dword [ebp - 0x10], 0x478c9dff
lea ecx, [ebp - 0x6b4]
push dword [ebp - 0x40]
call fcn.10015e2c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0x9c7c6f1f
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], eax
je 0x1002ce95
push esi
lea ecx, [ebp - 0x6b4]
call fcn.10015e2c
cmp dword [eax], 0
jne 0x1002ce95
xor eax, eax
mov esi, eax
jmp 0x1002ce97
mov esi, ebx
push dword [ebp - 0x40]
lea ecx, [ebp - 0x6b4]
call fcn.10015e2c
xor edx, edx
push 2
cmp esi, dword [eax]
mov eax, dword [ebp - 0x40]
setl dl
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
neg esi
sbb esi, esi
xor ecx, ecx
neg esi
sub esi, eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xdc6d
mov eax, dword [ebp - 0x14]
setne cl
imul esi, ecx
add esi, 0xfffffffd
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, eax
mov eax, dword [ebp - 0x10]
pop esi
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x1002ce57
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], esi
jle 0x1002ce44
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
je 0x1002ce2e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6b4]
call fcn.10015e27
mov dword [ebp - 0x2c], 0xb110c93b
push 0xfffffffffffffffa
pop eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1b
jle 0x1002d074
push 3
pop ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], 0xe9942c3b
mov dword [ebp - 0x44], 0x1361131e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002cf98
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1344], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002cf80
xor eax, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1002d067
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x5a4]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1344], ecx
mov eax, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub ecx, 0x3efc
neg ecx
sbb ecx, ecx
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x5b0]
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
cmp ecx, 0xfffffffd
setl dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x5b0]
cmp eax, edx
setle cl
mov dword [ebp - 0x44], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x5b0]
mov eax, dword [ebp - 0x44]
cmp eax, 0x846c
setge cl
xor eax, eax
add edx, ecx
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
je 0x1002d059
call edi
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
dec dword [ebp - 0x20]
jns 0x1002cfa4
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x1b
jg 0x1002cf67
mov dword [ebp - 0x34], 0x90c4d8e5
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002d09e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xef0], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002d08a
xor eax, eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp - 0x34], eax
jl 0x1002d0fa
push 3
pop ebx
push ebx
lea ecx, [ebp - 0xdfc]
call fcn.10015dbf
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x10], eax
jmp 0x1002d0db
push dword [ebp - 0x10]
call fcn.10015e2c
mov dword [eax], 9
inc dword [ebp - 0x10]
lea ecx, [ebp - 0xdfc]
cmp dword [ebp - 0x10], ebx
jl 0x1002d0ca
dec dword [ebp - 0x44]
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
dec dword [ebp - 0x34]
jns 0x1002d0a9
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0xef0]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002d125
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xda0], 0xe164caf
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002d10d
xor eax, eax
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0x342f3d47
mov dword [ebp - 0x48], 0xa98c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x16
jge 0x1002d33a
push 3
pop eax
push eax
lea ecx, [ebp - 0x4e0]
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x10], eax
push 3
pop eax
cmp dword [ebp - 0x10], eax
jge 0x1002d188
push eax
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4e0]
call fcn.10015e2c
or dword [eax], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002d16c
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.10015e2c
mov dword [eax], 0xffffffee
jmp 0x1002d304
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.10015dbf
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002d1d4
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1b8]
call fcn.10015e2c
or dword [eax], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002d1b9
xor eax, eax
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10015e2c
lea ecx, [ebp - 0x1b8]
mov dword [eax], 0xfffffff2
xor eax, eax
push eax
call fcn.10015e2c
cmp dword [eax], 7
je 0x1002d2e7
xor eax, eax
mov dword [ebp - 0x18], 0x90069f30
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x1b8]
push eax
mov dword [ebp - 0x30], 0xfffffffd
call fcn.10015e2c
xor ebx, ebx
lea ecx, [ebp - 0x1b8]
push ebx
mov esi, eax
call fcn.10015e2c
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x1002d248
push ebx
lea ecx, [ebp - 0x1b8]
call fcn.10015e2c
cmp dword [eax], ebx
jne 0x1002d248
xor eax, eax
mov edx, eax
jmp 0x1002d24d
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
push ebx
setne cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
call fcn.10015e2c
mov ecx, dword [ebp - 0x44]
xor edx, edx
cmp ecx, 0x9f7c
mov esi, eax
mov ecx, dword [ebp - 0x28]
setl dl
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [ebp - 0x18]
setle bl
xor eax, eax
cmp ebx, ecx
lea ecx, [ebp - 0x1b8]
setl al
xor ebx, ebx
cmp dword [esi], eax
setne bl
xor eax, eax
push eax
call fcn.10015e2c
sub ebx, 0x1f6f49c2
mov ecx, dword [eax]
mov eax, dword [ebp - 0x18]
add ecx, ebx
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
lea ecx, [ebp - 0x1b8]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
push ebx
mov dword [ebp - 0x30], eax
call fcn.10015e2c
push ebx
lea ecx, [ebp - 0x1b8]
inc dword [eax]
call fcn.10015e2c
cmp dword [eax], 7
jne 0x1002d1fd
inc ebx
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa
call fcn.10015e27
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.10015e2c
inc dword [eax]
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.10015e2c
cmp dword [eax], 0xe
jle 0x1002d19f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4e0]
call fcn.10015e27
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x16
jl 0x1002d147
push 2
xor eax, eax
pop esi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x1002d35a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf04], 0xe790e864
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002d342
xor eax, eax
mov dword [ebp - 0x40], 0xd4e06482
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002d388
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd6c], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002d370
xor eax, eax
mov dword [ebp - 0x40], 0x17
jmp 0x1002d4e3
mov dword [ebp - 0x2c], 0x6d4f2887
mov dword [ebp - 0x30], 0xad0d7276
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002d3c2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x314], 0xe446df3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002d3aa
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x1002d4e0
movdqa xmm0, xmmword [0x10007ca0]
lea eax, [ebp - 0xfe4]
push eax
lea eax, [ebp - 0xff4]
push eax
lea ecx, [ebp - 0x1448]
movdqu xmmword [ebp - 0xff4], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x21a]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x97c]
push dword [esi]
call fcn.10015e01
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x30], 0xaea0
mov dword [ebp - 0x44], 0x99da9727
cmp dword [ebp - 0x40], eax
je 0x1002d463
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x97c]
push 3
pop eax
push eax
call fcn.10015e2c
mov ecx, dword [ebp - 0x310]
push 2
dec ecx
pop esi
mov dword [eax], ecx
lea ecx, [ebp - 0x97c]
push esi
call fcn.10015e2c
mov eax, dword [ebp - 0x40]
jmp 0x1002d466
push 2
pop esi
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x314]
cmp ecx, eax
push 3
setne dl
xor ebx, ebx
add edx, 0xef8a
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
pop eax
setl bl
sub ebx, eax
mov eax, dword [ebp - 0x2c]
neg ebx
sbb ebx, ebx
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x314]
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x314]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xd6c], ecx
lea ecx, [ebp - 0x97c]
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
dec dword [ebp - 0x2c]
jns 0x1002d3ce
xor ebx, ebx
xor eax, eax
inc ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 5
jne 0x1002d394
push 0xfffffffffffffff7
mov dword [ebp - 0x28], eax
pop esi
jmp 0x1002d52b
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], 0x9b41dbc4
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x48], 0x5e40c883
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0x1d127a4e
mov dword [ebp - 0x44], 0xb167d3d8
inc dword [ebp - 0x44]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002d4f5
mov eax, dword [ebp - 0x3c]
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
push ebx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
lea ecx, [ebp - 0x800]
setg dl
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x44], 0x6fb807cf
call fcn.10015dbf
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x44], 0x5457d670
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x1002d594
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xdc4], 0xc2a2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1002d57b
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002d5ac
push dword [ebp - 0x24]
lea ecx, [ebp - 0x800]
call fcn.10015e2c
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002d599
mov eax, dword [ebp - 0xdbc]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffff
jbe 0x1002d5df
xor ebx, ebx
lea ecx, [ebp - 0x800]
push ebx
call fcn.10015e2c
cmp dword [eax], ebx
jne 0x1002d5dc
xor eax, eax
inc ebx
mov ecx, eax
jmp 0x1002d5e1
xor ebx, ebx
inc ebx
mov ecx, ebx
xor eax, eax
cmp ecx, esi
lea ecx, [ebp - 0x800]
setg al
mov dword [ebp - 0x44], eax
xor eax, eax
push eax
call fcn.10015e2c
mov edx, dword [ebp - 0x44]
mov esi, eax
mov ecx, dword [ebp - 0xdb8]
xor eax, eax
cmp edx, ecx
setge al
xor edx, edx
sub eax, 0x7ca4e865
cmp eax, dword [esi]
mov eax, dword [ebp - 0xdbc]
setle dl
xor ecx, ecx
cmp eax, 0xc506
setl cl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x800]
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], eax
jg 0x1002db72
push 2
pop esi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0x76acb8f2
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x44], 0x73063d62
mov dword [ebp - 0x44], 0x7d6446bd
mov dword [ebp - 0x44], 0x53d8b3d3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002d697
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002d683
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002d6a9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [ebp - 0x28], 0xffffffe7
cmp dword [ebp - 0x28], 0xffffffef
jne 0x1002d7b2
jmp 0x1002d6be
xor eax, eax
mov dword [ebp - 0x24], 5
mov dword [ebp - 0x4c], 0xa8bc
mov dword [ebp - 0x38], 0xac89
mov dword [ebp - 0x44], 0x138b36ce
mov dword [ebp - 0x24], eax
jmp 0x1002d6f7
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002d6f4
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff5
jg 0x1002d6df
mov dword [ebp - 0x44], 0x62a4b15
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], ebx
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x1002d71a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x18], 0xdd711a53
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setl dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
cmp edx, dword [ebp - 0x24]
jg 0x1002d74b
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x648]
setge dl
xor ecx, ecx
sub eax, edx
cmp eax, 3
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
sub ecx, dword [ebp - 0x648]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x648]
cmp ecx, eax
setle dl
mov dword [ebp - 0x24], edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffef
je 0x1002d6bc
mov dword [ebp - 0x38], 0xffff
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1002d7e8
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x10c], 0xc69a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002d7d0
xor eax, eax
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x1002d80b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x12cc], 0x7d02268f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002d7f3
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002d821
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x138c], 0x44f4cc51
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002d810
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x44], 0x7b722ba7
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x108]
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x12c4], eax
mov eax, dword [ebp - 0x108]
add eax, 0x1966
mov dword [ebp - 0x1384], eax
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
je 0x1002d89a
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetBkColor]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x1002d926
push 0xfffffffffffffffe
pop edx
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0xf63069be
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x1002d8dd
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x8d4], 0xd4e793
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002d8c5
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002d8ef
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf74], edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002d8e2
inc dword [ebp - 0xf74]
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x44], eax
imul eax, dword [ebp - 0x30], 0xbf4d
push 0
sub eax, dword [ebp - 0x44]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x38]
dec dword [ebp - 0x14]
pop eax
jns 0x1002d8a9
mov dword [ebp - 0x34], 0xac64a684
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002d93f
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x1002d971
mov dword [ebp - 0x10], 0xb51dba33
mov dword [ebp - 0x10], 0xffffffe3
jmp 0x1002d968
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002d965
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff8
jg 0x1002d954
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0x13
jge 0x1002d944
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1002db63
movdqa xmm0, xmmword [0x10007cd0]
lea eax, [ebp - 0x1224]
push eax
lea eax, [ebp - 0x1234]
push eax
lea ecx, [ebp - 0x14e8]
movdqu xmmword [ebp - 0x1234], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x17e]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe14]
push dword [esi]
call fcn.10015e01
push 2
pop esi
push esi
lea ecx, [ebp - 0xba4]
mov dword [ebp - 4], 0xf
call fcn.10015dbf
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x34], 0xb5ca9869
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x1002da13
push dword [ebp - 0x24]
lea ecx, [ebp - 0xba4]
call fcn.10015e2c
mov dword [eax], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002d9f5
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1002da29
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x6dc], 0xa2961c0f
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002da18
push esi
lea ecx, [ebp - 0xe14]
call fcn.10015e2c
xor ebx, ebx
cmp dword [eax], ebx
jne 0x1002da57
push ebx
lea ecx, [ebp - 0xba4]
call fcn.10015e2c
cmp dword [eax], ebx
jne 0x1002da57
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x1002da5c
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x34], 0xa
cmp dword [ebp - 0x34], esi
jge 0x1002dac4
xor eax, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], 0xfffffff6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002da9d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1458], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002da85
xor eax, eax
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], bl
je 0x1002dab7
push eax
push eax
push 0x1bcc
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
xor ecx, ecx
xor eax, eax
inc ecx
dec dword [ebp - 0x44]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x1002da70
xor ebx, ebx
lea ecx, [ebp - 0xba4]
call fcn.10015e27
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe14]
call fcn.10015e27
push 3
mov dword [ebp - 0x48], ebx
lea ecx, [ebp - 0xee8]
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0x9a3df603
mov dword [ebp - 0x48], 0xfffffffa
mov dword [ebp - 0x48], 0xfffffffb
push esi
call fcn.10015dbf
xor ebx, ebx
mov dword [ebp - 4], 0x11
inc ebx
mov dword [ebp - 0x48], 0x5fcc
xor eax, eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x10], eax
jmp 0x1002db34
push dword [ebp - 0x10]
call fcn.10015e2c
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x10]
lea ecx, [ebp - 0xee8]
cmp dword [ebp - 0x10], esi
jl 0x1002db23
dec dword [ebp - 0x44]
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + eax*4 - 0xf04], 0
jne 0x1002db61
dec dword [ebp - 0x14]
jns 0x1002d983
xor eax, eax
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], eax
push 0
pop eax
jle 0x1002d651
mov dword [ebp - 0x40], 0xd4e06482
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002dba2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd78], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002db89
xor eax, eax
mov dword [ebp - 0x40], 0x17
jmp 0x1002dcf8
mov dword [ebp - 0x2c], 0x6d4f2887
mov dword [ebp - 0x30], 0xad0d7276
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002dbde
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x324], 0xe446df3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002dbc5
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x1002dcf5
movdqa xmm0, xmmword [0x10007ca0]
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1550]
movdqu xmmword [ebp - 0x1014], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x18a]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x994]
push dword [esi]
call fcn.10015e01
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x30], 0xaea0
mov dword [ebp - 0x44], 0x99da9727
cmp dword [ebp - 0x40], eax
je 0x1002dc7b
mov eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x994]
push 3
pop eax
push eax
call fcn.10015e2c
mov ecx, dword [ebp - 0x320]
dec ecx
push 2
mov dword [eax], ecx
lea ecx, [ebp - 0x994]
call fcn.10015e2c
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x324]
cmp ecx, eax
push 3
setne dl
xor ebx, ebx
add edx, 0xef8a
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
pop eax
setl bl
sub ebx, eax
mov eax, dword [ebp - 0x2c]
neg ebx
sbb ebx, ebx
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x324]
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x324]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0xd78], ecx
lea ecx, [ebp - 0x994]
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
dec dword [ebp - 0x2c]
jns 0x1002dbea
xor ebx, ebx
xor eax, eax
inc ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 5
jne 0x1002dbae
mov dword [ebp - 0x28], eax
jmp 0x1002dd41
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x48], 0x9b41dbc4
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x48], 0x5e40c883
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0x1d127a4e
mov dword [ebp - 0x44], 0xb167d3d8
inc dword [ebp - 0x44]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002dd07
push 3
pop eax
mov dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x860]
push eax
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], 0x13
push 3
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x1002dd84
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x758], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002dd70
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x1002ddab
push 3
pop ebx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x860]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002dd8f
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x754]
lea ecx, [ebp - 0x860]
sub eax, dword [ebp - 0x750]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov esi, dword [ebp - 0x2c]
push eax
call fcn.10015e2c
mov dword [eax], esi
cmp esi, dword [ebp - 0x754]
jne 0x1002ddf8
push ebx
lea ecx, [ebp - 0x860]
call fcn.10015e2c
mov ecx, dword [ebp - 0x750]
xor edx, edx
cmp ecx, 0xffffffff
setg dl
mov dword [eax], edx
jmp 0x1002de35
mov dword [ebp - 0x30], 0x652d0da0
xor eax, eax
mov dword [ebp - 0x2c], 8
cmp dword [ebp - 0x2c], 0xfffffffa
je 0x1002de18
cmp dword [ebp - 0x30], eax
jne 0x1002de18
dec dword [ebp - 0x2c]
jmp 0x1002de08
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002de35
push eax
push 0x8f5
push 0x1741
call edi
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x860]
call fcn.10015e27
mov dword [ebp - 0x28], 9
lea ecx, [ebp - 0xafc]
mov dword [ebp - 0x48], 0x45d811f0
mov eax, 0x3e0566a9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x48], 0xededb5ca
mov dword [ebp - 0x48], 0x8dd44ad3
mov dword [ebp - 0x48], 0x10fecafe
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 0xcb0], eax
mov dword [ebp - 0xcac], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x30], 0xf6e2
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], 0x7626a9d9
push ebx
call fcn.10015dbf
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x44], 0xffffffff
push 2
mov dword [ebp - 0x24], eax
pop edi
cmp dword [ebp - 0x24], edi
jge 0x1002dede
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x450], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1002dec6
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002df01
push dword [ebp - 0x24]
lea ecx, [ebp - 0xafc]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002dee6
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002df17
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x450], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x1002df06
inc dword [ebp - 0x18]
lea ecx, [ebp - 0xafc]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xcb8]
xor eax, eax
push eax
call fcn.10015e2c
mov eax, dword [eax]
add eax, 8
jne 0x1002df4e
cmp dword [ebp - 0x44c], eax
je 0x1002df50
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp ebx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, ebx
mov eax, dword [ebp - 0x44c]
setle cl
sub eax, ecx
lea ecx, [ebp - 0xafc]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
movdqa xmm0, xmmword [0x10007cb0]
lea eax, [ebp - 0x1144]
push eax
lea eax, [ebp - 0x1154]
mov dword [ebp - 0x24], 0x69fdf99f
push eax
lea ecx, [ebp - 0x1468]
movdqu xmmword [ebp - 0x1154], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x192]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9ac]
push dword [esi]
call fcn.10015e01
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x24], 4
cmp dword [ebp - 0x24], 0xfffffff2
jle 0x1002e10d
push 3
pop eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
jl 0x1002e07e
push 3
pop esi
push edi
lea ecx, [ebp - 0x4f8]
call fcn.10015dbf
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x10], eax
jmp 0x1002e022
push dword [ebp - 0x10]
call fcn.10015e2c
mov dword [eax], esi
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x4f8]
cmp dword [ebp - 0x10], edi
jl 0x1002e015
push ebx
call fcn.10015e2c
and dword [eax], 0
jmp 0x1002e05a
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x9ac]
call fcn.10015e2c
push ebx
lea ecx, [ebp - 0x4f8]
mov dword [eax], 0x92c5eb20
call fcn.10015e2c
inc dword [eax]
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.10015e2c
cmp dword [eax], esi
jle 0x1002e038
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0x15
call fcn.10015e27
dec dword [ebp - 0x3c]
jns 0x1002dffe
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, dword [ebp - 0x3c]
jl 0x1002e099
mov ecx, ebx
cmp dword [ebp - 0x24], eax
jne 0x1002e09b
mov ecx, eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
shl edx, 2
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x24]
jne 0x1002e0c0
xor eax, eax
mov edi, eax
cmp dword [ebp - 0x3c], eax
je 0x1002e0c2
mov edi, ebx
push 2
lea ecx, [ebp - 0x9ac]
call fcn.10015e2c
mov edx, dword [ebp - 0x3c]
mov esi, eax
add edx, 3
xor eax, eax
add edx, edi
imul edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
push 2
pop edi
cmp edx, ecx
mov ecx, dword [ebp - 0x3c]
setge al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esi], ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff2
jg 0x1002dfe7
or esi, 0xffffffff
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 4], esi
call fcn.10015e27
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], 0x819d3388
mov dword [ebp - 0x18], 0xb35b6890
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1002e15e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2a0], 0x7e06985b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1002e146
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002e183
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x24]
sub eax, 0x66b
je 0x1002e185
mov eax, ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x2a0], eax
jne 0x1002e19b
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov edi, 0x19c36c1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2a0]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
sub eax, 8
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
setg cl
xor eax, eax
cmp ecx, 0xad46
jg 0x1002e325
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002e218
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0xd9cec61c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e203
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002e226
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x29c]
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setl bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
cmp eax, esi
mov eax, dword [ebp - 0x3c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, edi
setge cl
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x7c]
jg 0x1002e29f
xor eax, eax
cmp dword [ebp - 0x7c], eax
je 0x1002e2a2
xor eax, eax
inc eax
mov edx, dword [ebp - 0x24]
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffc
cmp eax, edx
setne cl
xor eax, eax
inc eax
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x7c]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x7c]
setl bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x7c]
sete cl
cmp ecx, 8
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2a0]
add edx, 0x10000
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0xffcb
setne al
xor ebx, ebx
mov dword [ebp - 0x18], eax
xor eax, eax
inc ebx
jmp 0x1002e340
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], al
je 0x1002e340
push 0x1d62
push 0x19d1
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
mov dword [ebp - 0x40], 0xd4e06482
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e368
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf18], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e353
xor eax, eax
mov dword [ebp - 0x40], 0x17
jmp 0x1002e4c0
mov dword [ebp - 0x2c], 0x6d4f2887
mov dword [ebp - 0x30], 0xad0d7276
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e3a4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x334], 0xe446df3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e38b
xor eax, eax
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], eax
jl 0x1002e4bd
movdqa xmm0, xmmword [0x10007ca0]
lea eax, [ebp - 0x1024]
push eax
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x14f8]
movdqu xmmword [ebp - 0x1034], xmm0
call fcn.10015e3b
lea ecx, [ebp - 0x194]
mov esi, eax
call fcn.10008dd3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xc04]
push dword [esi]
call fcn.10015e01
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x30], 0xaea0
mov dword [ebp - 0x44], 0x99da9727
cmp dword [ebp - 0x40], eax
je 0x1002e441
mov eax, dword [ebp - 0x330]
lea ecx, [ebp - 0xc04]
push 3
pop eax
push eax
call fcn.10015e2c
mov ecx, dword [ebp - 0x330]
dec ecx
push 2
mov dword [eax], ecx
lea ecx, [ebp - 0xc04]
call fcn.10015e2c
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x334]
cmp ecx, eax
push 3
setne dl
xor ebx, ebx
add edx, 0xef8a
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
pop eax
setl bl
sub ebx, eax
mov eax, dword [ebp - 0x2c]
neg ebx
sbb ebx, ebx
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x334]
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x334]
sete dl
xor ecx, ecx
cmp edx, eax
setne cl
or esi, 0xffffffff
mov dword [ebp - 0xf18], ecx
lea ecx, [ebp - 0xc04]
mov dword [ebp - 4], esi
call fcn.10015e27
dec dword [ebp - 0x2c]
jns 0x1002e3b0
xor ebx, ebx
xor eax, eax
inc ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 5
jne 0x1002e374
mov dword [ebp - 0x28], eax
jmp 0x1002e505
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x48], 0x9b41dbc4
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], 0x5e40c883
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0x1d127a4e
mov dword [ebp - 0x44], 0xb167d3d8
inc dword [ebp - 0x44]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002e4cf
push 3
pop eax
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x818]
push eax
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], 0x18
push 3
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x1002e544
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x770], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1002e530
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jge 0x1002e56b
push 3
pop ebx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x818]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002e54f
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x76c]
lea ecx, [ebp - 0x818]
sub eax, dword [ebp - 0x768]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov esi, dword [ebp - 0x2c]
push eax
call fcn.10015e2c
mov dword [eax], esi
cmp esi, dword [ebp - 0x76c]
jne 0x1002e5b8
push ebx
lea ecx, [ebp - 0x818]
call fcn.10015e2c
mov ecx, dword [ebp - 0x768]
xor edx, edx
cmp ecx, 0xffffffff
setg dl
mov dword [eax], edx
jmp 0x1002e5f9
mov dword [ebp - 0x30], 0x652d0da0
xor eax, eax
mov dword [ebp - 0x2c], 8
cmp dword [ebp - 0x2c], 0xfffffffa
je 0x1002e5d8
cmp dword [ebp - 0x30], eax
jne 0x1002e5d8
dec dword [ebp - 0x2c]
jmp 0x1002e5c8
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002e5f9
push eax
push 0x8f5
push 0x1741
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x818]
call fcn.10015e27
mov dword [ebp - 0x28], 9
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x48], 0x45d811f0
mov eax, 0x3e0566a9
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x48], 0xededb5ca
mov dword [ebp - 0x48], 0x8dd44ad3
mov dword [ebp - 0x48], 0x10fecafe
mov dword [ebp - 0xc98], eax
mov dword [ebp - 0xc94], eax
mov dword [ebp - 0xc90], eax
mov dword [ebp - 0xc8c], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x30], 0xf6e2
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], 0x7626a9d9
push ebx
call fcn.10015dbf
mov dword [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x44], 0xffffffff
push 2
mov dword [ebp - 0x24], eax
pop esi
cmp dword [ebp - 0x24], esi
jge 0x1002e6a2
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x440], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002e68a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002e6c5
push dword [ebp - 0x24]
lea ecx, [ebp - 0x9c4]
call fcn.10015e2c
and dword [eax], 0
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002e6aa
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002e6db
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x440], 0xffffffff
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1002e6ca
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x9c4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc98]
xor eax, eax
push eax
call fcn.10015e2c
mov eax, dword [eax]
add eax, 8
jne 0x1002e712
cmp dword [ebp - 0x43c], eax
je 0x1002e714
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp ebx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, ebx
mov eax, dword [ebp - 0x43c]
setle cl
sub eax, ecx
lea ecx, [ebp - 0x9c4]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
or dword [ebp - 4], 0xffffffff
call fcn.10015e27
push 3
pop eax
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0xf4c]
mov dword [ebp - 0x48], ebx
push eax
call fcn.10015dbf
xor eax, eax
mov dword [ebp - 4], 0x1a
push 3
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0xe2c]
pop eax
push eax
call fcn.10015dbf
mov byte [ebp - 4], 0x1b
mov eax, 0xed09
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002e7c8
push 3
pop ebx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4c]
call fcn.10015e2c
mov dword [eax], 0xde713a47
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002e7a7
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002e7f2
push 3
pop ebx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe2c]
call fcn.10015e2c
or dword [eax], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002e7d4
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002e812
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x35c], 0x33ec
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002e7fa
xor eax, eax
inc dword [ebp - 0x35c]
mov dword [ebp - 0x10], 0xf
jmp 0x1002e83b
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
je 0x1002e838
push 0x2279
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 6
jg 0x1002e821
lea ecx, [ebp - 0xe2c]
call fcn.10015e27
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf4c]
call fcn.10015e27
mov dword [ebp - 0x2c], 0xa147b80b
xor eax, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], 0xdde9ab5c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0x968cb667
push 0xfffffffffffffff6
mov dword [ebp - 0x30], 0x9796a0b5
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
jmp 0x1002e897
cmp dword [ebp - 0x10], ebx
jl 0x1002e88a