Function at 0x1002ffa8
Capabilities:
Accept command line arguments
Check os version
Create a process with modified i/o handles and window
Create directory
Create pipe
Create process on windows
Enumerate files on windows
Enumerate gui resources
Extract resource via kernel32 functions
Get common file path
Get file attributes
Get file size
Get geographical location
Get memory capacity
Parse pe header
Resume thread
Set environment variable

Disassembly:
mov eax, 0x1008a08a
call fcn.10088420
mov eax, 0x187c
call fcn.10084840
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x50], ecx
push edi
inc eax
mov byte [ebp - 0x5d], dl
mov ebx, 0x477862fd
lea ecx, [ebp - 0x105c]
mov dword [ebp - 0x24], ebx
push eax
call fcn.10017107
xor eax, eax
mov esi, 0x4dcc80fc
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003000b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x167c], 0xade2167f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002fff2
xor eax, eax
xor edi, edi
mov dword [ebp - 0x14], eax
inc edi
cmp dword [ebp - 0x14], edi
jge 0x10030038
push dword [ebp - 0x14]
lea ecx, [ebp - 0x105c]
call fcn.100171a5
mov dword [eax], edi
xor eax, eax
inc dword [ebp - 0x14]
inc eax
push eax
pop edi
cmp dword [ebp - 0x14], eax
jl 0x10030016
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x24], eax
or ecx, 0xffffffff
jmp 0x10030099
mov dword [ebp - 0x2c], 0xa756
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1003007d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x185c], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030064
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030093
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
or ecx, 0xffffffff
dec dword [ebp - 0x48]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jg 0x10030040
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x105c]
call fcn.10017189
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0xedc]
push edi
call fcn.10017107
mov dword [ebp - 4], edi
xor eax, eax
mov dword [ebp - 0x2c], esi
push 2
mov dword [ebp - 0x14], eax
pop ebx
cmp dword [ebp - 0x14], ebx
jge 0x100300e6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x168c], 0xade2167f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100300ce
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030110
push dword [ebp - 0x14]
lea ecx, [ebp - 0xedc]
call fcn.100171a5
mov dword [eax], edi
xor eax, eax
inc dword [ebp - 0x14]
inc eax
push eax
pop edi
cmp dword [ebp - 0x14], eax
jl 0x100300ee
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x24], eax
or esi, 0xffffffff
jmp 0x1003016a
mov dword [ebp - 0x2c], 0xa756
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030151
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x17f0], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030138
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030164
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
dec dword [ebp - 0x48]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jg 0x10030118
lea ecx, [ebp - 0xedc]
mov dword [ebp - 4], esi
call fcn.10017189
mov dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x144]
push ebx
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
jmp 0x100301b1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x144]
call fcn.100171a5
mov dword [eax], 0x89b54615
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003019a
mov dword [ebp - 0x14], 0xfffffff7
cmp dword [ebp - 0x14], 0xd
je 0x100303f0
push 3
lea ecx, [ebp - 0x15c]
call fcn.10017107
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa6c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], 0x64ea33a4
push ebx
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x1003021c
push dword [ebp - 0x40]
lea ecx, [ebp - 0x15c]
call fcn.100171a5
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jl 0x100301fd
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jge 0x10030242
push dword [ebp - 0x40]
lea ecx, [ebp - 0xa6c]
call fcn.100171a5
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jl 0x10030224
xor eax, eax
push eax
lea ecx, [ebp - 0x15c]
call fcn.100171a5
xor ebx, ebx
mov dword [eax], ebx
jmp 0x10030398
mov dword [ebp - 0x48], 0xe11a796d
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x3c], edi
push ebx
call fcn.100171a5
lea ecx, [ebp - 0x144]
push dword [eax]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x15c]
call fcn.100171a5
lea ecx, [ebp - 0x144]
push dword [eax]
call fcn.100171a5
mov ecx, dword [ebp - 0x10]
xor edx, edx
push ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x15c]
setg dl
mov dword [ebp - 0x48], edx
call fcn.100171a5
lea ecx, [ebp - 0x144]
push dword [eax]
call fcn.100171a5
push 2
lea ecx, [ebp - 0x15c]
mov esi, eax
call fcn.100171a5
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x10]
push 2
add ecx, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x15c]
sub edi, dword [esi]
neg edi
sbb edi, edi
inc edi
call fcn.100171a5
xor edx, edx
push ebx
cmp edi, dword [eax]
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x15c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x144]
call fcn.100171a5
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [eax]
cmp ecx, 0xb5c6eff3
lea ecx, [ebp - 0x144]
sbb esi, esi
xor edi, edi
inc edi
inc esi
push edi
call fcn.100171a5
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xa6c]
setl dl
xor ebx, ebx
cmp edx, dword [eax]
setg bl
xor eax, eax
push eax
call fcn.100171a5
mov dword [eax], ebx
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x15c]
call fcn.100171a5
xor ecx, ecx
push ebx
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x15c]
call fcn.100171a5
lea ecx, [ebp - 0x144]
push dword [eax]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x15c]
call fcn.100171a5
inc dword [eax]
push ebx
lea ecx, [ebp - 0x15c]
call fcn.100171a5
cmp dword [eax], edi
jle 0x10030257
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x100303c4
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
lea ecx, [ebp - 0xa6c]
call fcn.10017189
push 2
pop ebx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], bl
call fcn.10017189
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jne 0x100301c7
or esi, 0xffffffff
mov dword [ebp - 0x14], edi
xor eax, eax
cmp dword [ebp - 0x14], eax
jl 0x1003053a
mov dword [ebp - 0x48], 0x93dcedb1
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003042e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x424], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10030415
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030441
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], edi
jg 0x10030531
mov dword [ebp - 0x3c], 0x512e
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030477
push eax
push eax
push 0x1b4c
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor eax, eax
push eax
lea ecx, [ebp - 0x144]
call fcn.100171a5
mov eax, dword [ebp - 0x418]
lea ecx, [ebp - 0x144]
xor ebx, ebx
push ebx
call fcn.100171a5
push dword [ebp - 0x418]
lea ecx, [ebp - 0x144]
call fcn.100171a5
push dword [ebp - 0x418]
lea ecx, [ebp - 0x144]
call fcn.100171a5
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x41c]
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
lea ecx, [ebp - 0x144]
setne dl
add edx, 0x270bb1dc
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x418]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x144]
call fcn.100171a5
cmp dword [eax], ebx
je 0x10030517
push dword [ebp - 0x418]
lea ecx, [ebp - 0x144]
call fcn.100171a5
cmp dword [eax], ebx
mov eax, edi
jne 0x10030519
mov eax, ebx
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x418]
push 0
pop eax
cmp dword [ebp - 0x418], edi
jle 0x10030453
dec dword [ebp - 0x14]
jns 0x100303fe
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], esi
call fcn.10017189
mov dword [ebp - 0x28], 0xd149febb
xor eax, eax
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x48], 0x30f888c5
mov dword [ebp - 0x10], eax
jmp 0x10030572
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x78], 0x2beaa32b
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10030564
mov eax, dword [ebp - 0x78]
xor edi, edi
mov dword [ebp - 0x28], eax
inc edi
mov dword [ebp - 0x28], 0x12
cmp dword [ebp - 0x28], 0xa
jl 0x100306c8
push 2
lea ecx, [ebp - 0x6f4]
call fcn.10017107
lea eax, [ebp - 0x13d0]
mov dword [ebp - 4], 5
movdqa xmm0, xmmword [0x10008260]
lea ecx, [ebp - 0x169c]
push eax
lea eax, [ebp - 0x13e0]
push eax
movdqu xmmword [ebp - 0x13e0], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x270]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xc70]
push dword [esi]
call fcn.10017163
push 6
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003060d
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
lea ecx, [ebp - 0x6f4]
jl 0x100305fc
push edi
call fcn.100171a5
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0x6f4]
xor ebx, ebx
push ebx
call fcn.100171a5
mov eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xc70]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp - 0x78]
sub esi, dword [ebp - 0x78]
neg esi
push 2
sbb esi, esi
inc esi
call fcn.100171a5
push edi
lea ecx, [ebp - 0x6f4]
mov dword [eax], esi
call fcn.100171a5
push 0xfffffffffffffffb
pop ecx
cmp ecx, esi
push 2
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, 0xffff
imul ecx, dword [ebp - 0x48]
imul ecx, ecx, 7
cmp dword [eax], ecx
lea ecx, [ebp - 0xc70]
mov eax, dword [ebp - 0x78]
setl dl
sub eax, 0x105bd4b8
imul eax, edx
mov dword [ebp - 0x48], eax
call fcn.100171a5
mov dword [ebp - 0x48], ebx
lea ecx, [ebp - 0xc70]
call fcn.10017189
or ebx, 0xffffffff
lea ecx, [ebp - 0x6f4]
mov dword [ebp - 4], ebx
call fcn.10017189
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jge 0x10030594
jmp 0x100306cb
or ebx, 0xffffffff
mov esi, 0x477862fd
lea ecx, [ebp - 0x8fc]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x10], 0x25b9b55b
push 2
call fcn.10017107
push 7
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030713
push dword [ebp - 0x10]
lea ecx, [ebp - 0x8fc]
call fcn.100171a5
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x100306f8
xor eax, eax
mov dword [ebp - 0x10], 0x10
jmp 0x100307c1
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x1003079c
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], eax
jl 0x10030751
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003074c
push eax
push eax
call dword [sym.imp.GDI32.dll_GetRgnBox]
xor eax, eax
dec dword [ebp - 0x24]
jns 0x10030739
push dword [ebp - 0x14]
lea ecx, [ebp - 0x8fc]
call fcn.100171a5
mov ecx, 0x1a17e59
sub ecx, dword [eax]
je 0x1003077f
xor ebx, ebx
lea ecx, [ebp - 0x8fc]
push ebx
call fcn.100171a5
cmp dword [eax], ebx
jne 0x1003079a
or ebx, 0xffffffff
jmp 0x1003078f
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1003078f
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], edi
jle 0x1003072e
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x100307b6
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100307b3
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x100307a1
dec dword [ebp - 0x10]
push 0xffffffffffffffff
pop ebx
cmp dword [ebp - 0x10], 0xfffffff2
jg 0x1003071f
or ebx, 0xffffffff
lea ecx, [ebp - 0x8fc]
mov dword [ebp - 4], ebx
call fcn.10017189
push edi
lea ecx, [ebp - 0x1170]
call fcn.10017107
mov dword [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x2c], 0x4dcc80fc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003081a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x16ac], 0xade2167f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10030801
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10030844
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1170]
call fcn.100171a5
mov dword [eax], edi
xor eax, eax
inc dword [ebp - 0x14]
inc eax
push eax
pop edi
cmp dword [ebp - 0x14], eax
jl 0x10030822
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x24], eax
jmp 0x1003089f
mov dword [ebp - 0x2c], 0xa756
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030886
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x17fc], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1003086d
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030899
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
dec dword [ebp - 0x48]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jg 0x10030849
lea ecx, [ebp - 0x1170]
mov dword [ebp - 4], ebx
call fcn.10017189
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x848]
mov dword [ebp - 0x38], eax
push 3
call fcn.10017107
mov eax, 0xffff
mov dword [ebp - 4], 9
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100308f4
push dword [ebp - 0x10]
lea ecx, [ebp - 0x848]
call fcn.100171a5
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100308e0
mov dword [ebp - 0x1c], 0x18
cmp dword [ebp - 0x1c], 0x15
jl 0x10030b91
push edi
lea ecx, [ebp - 0x2ec]
call fcn.10017107
push 3
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0xa
call fcn.10017107
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x48], 3
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1003095e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2ec]
call fcn.100171a5
mov dword [eax], 0x57e8b72f
xor eax, eax
inc dword [ebp - 0x14]
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1003093d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030974
push dword [ebp - 0x14]
call fcn.100171a5
mov dword [eax], 0xdc7555b7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
lea ecx, [ebp - 0x1b4]
jl 0x10030963
push 2
call fcn.100171a5
xor ebx, ebx
lea ecx, [ebp - 0x1b4]
push 2
mov dword [eax], ebx
call fcn.100171a5
jmp 0x10030b3d
xor eax, eax
mov dword [ebp - 0x48], 0x1b55e973
cmp dword [ebp - 0x1c], eax
jne 0x100309ae
mov eax, dword [ebp - 0x1c]
push 2
lea ecx, [ebp - 0x1b4]
call fcn.100171a5
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x1b4]
push 2
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2ec]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.100171a5
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
push 2
setg dl
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x48], edx
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
mov ecx, dword [ebp - 0x48]
xor ebx, ebx
push 2
cmp ecx, dword [eax]
lea ecx, [ebp - 0x1b4]
setne bl
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
xor ecx, ecx
push 2
cmp dword [eax], ebx
pop ebx
setle cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x1b4]
push ebx
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
mov edx, dword [ebp - 0x1c]
mov esi, eax
imul edx, dword [ebp - 0x3c]
xor eax, eax
mov ecx, dword [ebp - 0x38]
cmp edx, ecx
setl al
xor ecx, ecx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
sbb edx, edx
inc edx
imul edx, dword [esi]
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x1c]
jg 0x10030a9e
push ebx
lea ecx, [ebp - 0x848]
call fcn.100171a5
cmp dword [eax], 0
je 0x10030ac2
push ebx
lea ecx, [ebp - 0x1b4]
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
cmp dword [eax], 0
je 0x10030ac2
xor eax, eax
mov esi, eax
jmp 0x10030ac7
xor eax, eax
lea esi, [eax + 1]
push ebx
lea ecx, [ebp - 0x1b4]
call fcn.100171a5
lea ecx, [ebp - 0x2ec]
push dword [eax]
call fcn.100171a5
neg esi
mov edx, eax
sub esi, dword [ebp - 0x1c]
mov eax, 0xffff
neg esi
sbb esi, esi
xor ecx, ecx
inc esi
cmp esi, 0x6c14
setne cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, eax
xor eax, eax
cmp ecx, dword [edx]
setge al
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10030b21
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push ebx
lea ecx, [ebp - 0x1b4]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x1b4]
inc dword [eax]
call fcn.100171a5
xor ebx, ebx
cmp dword [eax], ebx
jle 0x1003099d
push 2
lea ecx, [ebp - 0x848]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x2ec]
mov esi, eax
call fcn.100171a5
mov ecx, dword [esi]
mov dword [eax], ecx
lea ecx, [ebp - 0x1b4]
call fcn.10017189
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 9
call fcn.10017189
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x15
push 1
pop edi
jge 0x1003090b
or ebx, 0xffffffff
lea ecx, [ebp - 0x848]
mov dword [ebp - 4], ebx
call fcn.10017189
xor edi, edi
lea ecx, [ebp - 0xf24]
inc edi
push edi
call fcn.10017107
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff9
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10030bd0
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegUnLoadKeyW]
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030be0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x2c], 0x4dcc80fc
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x14], 0xfffffffe
push 2
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x10], eax
jmp 0x10030c1d
push dword [ebp - 0x10]
lea ecx, [ebp - 0x12c]
call fcn.100171a5
mov dword [eax], 0x89b54615
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030c06
mov dword [ebp - 0x14], 0xfffffff7
jmp 0x10030e4c
push 3
lea ecx, [ebp - 0x168]
call fcn.10017107
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa78]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x10], 0x64ea33a4
push 2
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x10030c85
push dword [ebp - 0x40]
lea ecx, [ebp - 0x168]
call fcn.100171a5
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jl 0x10030c66
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x10030cad
push dword [ebp - 0x40]
lea ecx, [ebp - 0xa78]
call fcn.100171a5
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 2
jl 0x10030c8e
xor eax, eax
push eax
lea ecx, [ebp - 0x168]
call fcn.100171a5
xor ebx, ebx
mov dword [eax], ebx
jmp 0x10030e03
mov dword [ebp - 0x48], 0xe11a796d
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x3c], edi
push ebx
call fcn.100171a5
lea ecx, [ebp - 0x12c]
push dword [eax]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x168]
call fcn.100171a5
lea ecx, [ebp - 0x12c]
push dword [eax]
call fcn.100171a5
mov ecx, dword [ebp - 0x10]
xor edx, edx
push ebx
cmp dword [eax], ecx
lea ecx, [ebp - 0x168]
setg dl
mov dword [ebp - 0x48], edx
call fcn.100171a5
lea ecx, [ebp - 0x12c]
push dword [eax]
call fcn.100171a5
push 2
lea ecx, [ebp - 0x168]
mov esi, eax
call fcn.100171a5
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x10]
push 2
add ecx, dword [eax]
add edi, ecx
lea ecx, [ebp - 0x168]
sub edi, dword [esi]
neg edi
sbb edi, edi
inc edi
call fcn.100171a5
xor edx, edx
push ebx
cmp edi, dword [eax]
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x168]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x12c]
call fcn.100171a5
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [eax]
cmp ecx, 0xb5c6eff3
lea ecx, [ebp - 0x12c]
sbb esi, esi
xor edi, edi
inc edi
inc esi
push edi
call fcn.100171a5
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xa78]
setl dl
xor ebx, ebx
cmp edx, dword [eax]
setg bl
xor eax, eax
push eax
call fcn.100171a5
mov dword [eax], ebx
xor ebx, ebx
push ebx
lea ecx, [ebp - 0x168]
call fcn.100171a5
xor ecx, ecx
push ebx
cmp dword [eax], ebx
sete cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x168]
call fcn.100171a5
lea ecx, [ebp - 0x12c]
push dword [eax]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x168]
call fcn.100171a5
inc dword [eax]
push ebx
lea ecx, [ebp - 0x168]
call fcn.100171a5
cmp dword [eax], edi
jle 0x10030cc2
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10030e2f
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
lea ecx, [ebp - 0xa78]
call fcn.10017189
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0xd
call fcn.10017189
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
jne 0x10030c2f
mov dword [ebp - 0x14], edi
xor eax, eax
cmp dword [ebp - 0x14], eax
jl 0x10030fa0
mov dword [ebp - 0x48], 0x93dcedb1
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10030e94
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x440], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10030e7b
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030ea7
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], edi
jg 0x10030f97
mov dword [ebp - 0x3c], 0x512e
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10030edd
push eax
push eax
push 0x1b4c
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor eax, eax
push eax
lea ecx, [ebp - 0x12c]
call fcn.100171a5
mov eax, dword [ebp - 0x434]
lea ecx, [ebp - 0x12c]
xor ebx, ebx
push ebx
call fcn.100171a5
push dword [ebp - 0x434]
lea ecx, [ebp - 0x12c]
call fcn.100171a5
push dword [ebp - 0x434]
lea ecx, [ebp - 0x12c]
call fcn.100171a5
xor edx, edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0x438]
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
lea ecx, [ebp - 0x12c]
setne dl
add edx, 0x270bb1dc
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x434]
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x12c]
call fcn.100171a5
cmp dword [eax], ebx
je 0x10030f7d
push dword [ebp - 0x434]
lea ecx, [ebp - 0x12c]
call fcn.100171a5
cmp dword [eax], ebx
mov eax, edi
jne 0x10030f7f
mov eax, ebx
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x434]
push 0
pop eax
cmp dword [ebp - 0x434], edi
jle 0x10030eb9
dec dword [ebp - 0x14]
jns 0x10030e64
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xc
call fcn.10017189
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x10030fd3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x16bc], 0xade2167f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10030fba
xor eax, eax
mov dword [ebp - 0x28], 0xd149febb
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x48], 0x30f888c5
mov dword [ebp - 0x10], eax
jmp 0x10030ffb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x74], 0x2beaa32b
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10030fed
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x12
cmp dword [ebp - 0x28], 0xa
jl 0x10031148
xor edi, edi
inc edi
push 2
lea ecx, [ebp - 0x700]
call fcn.10017107
lea eax, [ebp - 0x11b0]
mov byte [ebp - 4], 0x10
movdqa xmm0, xmmword [0x10008260]
lea ecx, [ebp - 0x16cc]
push eax
lea eax, [ebp - 0x11c0]
push eax
movdqu xmmword [ebp - 0x11c0], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x282]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xd78]
push dword [esi]
call fcn.10017163
xor eax, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x10], eax
jmp 0x10031091
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xfffffffa
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
lea ecx, [ebp - 0x700]
jl 0x10031080
push edi
call fcn.100171a5
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x700]
xor ebx, ebx
push ebx
call fcn.100171a5
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0xd78]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp - 0x74]
sub esi, dword [ebp - 0x74]
neg esi
push 2
sbb esi, esi
inc esi
call fcn.100171a5
push edi
lea ecx, [ebp - 0x700]
mov dword [eax], esi
call fcn.100171a5
push 0xfffffffffffffffb
pop ecx
cmp ecx, esi
push 2
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, 0xffff
imul ecx, dword [ebp - 0x48]
imul ecx, ecx, 7
cmp dword [eax], ecx
lea ecx, [ebp - 0xd78]
mov eax, dword [ebp - 0x74]
setl dl
sub eax, 0x105bd4b8
imul eax, edx
mov dword [ebp - 0x48], eax
call fcn.100171a5
mov dword [ebp - 0x48], ebx
lea ecx, [ebp - 0xd78]
call fcn.10017189
lea ecx, [ebp - 0x700]
mov byte [ebp - 4], 0xc
call fcn.10017189
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jge 0x1003101d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10031165
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf24]
call fcn.100171a5
xor ecx, ecx
inc ecx
mov dword [eax], ecx
inc dword [ebp - 0x14]
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jl 0x1003114f
mov dword [ebp - 0x10], 0x25b9b55b
lea ecx, [ebp - 0x95c]
push 2
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x100311b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x95c]
call fcn.100171a5
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10031190
xor eax, eax
jmp 0x100311b3
or ecx, 0xffffffff
xor esi, esi
mov dword [ebp - 0x10], 0x10
inc esi
cmp dword [ebp - 0x10], 0xfffffff2
jle 0x1003126e
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jg 0x10031244
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], eax
jl 0x100311f9
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100311f4
push eax
push eax
call dword [sym.imp.GDI32.dll_GetRgnBox]
xor eax, eax
dec dword [ebp - 0x24]
jns 0x100311e1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x95c]
call fcn.100171a5
mov ecx, 0x1a17e59
sub ecx, dword [eax]
je 0x10031224
xor ebx, ebx
lea ecx, [ebp - 0x95c]
push ebx
call fcn.100171a5
cmp dword [eax], ebx
jne 0x10031242
jmp 0x10031234
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031234
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
inc dword [ebp - 0x14]
push 0
pop eax
push 0xffffffffffffffff
pop ecx
cmp dword [ebp - 0x14], esi
jle 0x100311d6
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003125e
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003125b
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10031249
dec dword [ebp - 0x10]
push 0xffffffffffffffff
pop ecx
jmp 0x100311bd
lea ecx, [ebp - 0x95c]
mov byte [ebp - 4], 0xc
call fcn.10017189
mov edi, dword [sym.imp.USER32.dll_GetDC]
xor eax, eax
mov dword [ebp - 0x40], eax
or edx, 0xffffffff
mov ebx, 0x924f
cmp dword [ebp - 0x40], edx
jle 0x100321c5
jmp 0x100312a0
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x4ffb871c
mov dword [ebp - 0x2c], 0x6ca2cb51
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], 0xc4ab274b
mov dword [ebp - 0x2c], 0xad2086bd
mov dword [ebp - 0x2c], 0x53e58bfc
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x2c], 0x41637c1d
mov dword [ebp - 0x2c], 0x85bd52a2
mov dword [ebp - 0x48], 0x1d9
mov dword [ebp - 0x2c], 0x7440e708
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1003131b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeb4], 0xfffffffa
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100312fd
xor esi, esi
xor eax, eax
inc esi
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031331
push eax
push esi
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
or edx, 0xffffffff
dec dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0xa756
push 0xfffffffffffffff8
mov dword [ebp - 0x44], 0xfb871c7b
pop eax
mov dword [ebp - 0x34], 0x5c82f744
mov dword [ebp - 0x3c], eax
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x1074]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0x364f2ca1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xe85dc32c
mov dword [ebp - 0x2c], edx
push 2
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x100313a8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa90], 0x64a6847d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003138f
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100313d0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1074]
call fcn.100171a5
mov dword [eax], 0x49f7fae0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100313b1
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100313ee
push eax
push eax
push 0x1c44
push 0x7b9
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
mov dword [ebp - 0x44], 2
cmp dword [ebp - 0x44], eax
jl 0x10031586
mov dword [ebp - 0x20], 0x443250e6
lea ecx, [ebp - 0xef4]
mov dword [ebp - 0x9c0], ebx
mov dword [ebp - 0x9bc], ebx
mov dword [ebp - 0x9b8], ebx
mov dword [ebp - 0x9b4], ebx
push 4
call fcn.10017107
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10031463
push 7
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0xef4]
call fcn.100171a5
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10031443
xor eax, eax
mov ebx, 0x924f
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x100314fb
mov dword [ebp - 0x28], 0x39ecf4a
mov dword [ebp - 0x3c], 0xed55c59c
cmp dword [ebp - 0x28], eax
jne 0x100314b7
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
cmp eax, 0xf8609561
jb 0x100314a3
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100314a5
mov eax, esi
cmp eax, dword [ebp - 0x9bc]
jl 0x100314b7
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x100314b7
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9c0]
xor edx, edx
mov eax, dword [ebp - 0x20]
push 0
mov ecx, dword [ebp + eax*4 - 0xa90]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa90], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
pop eax
setl cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x10031470
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], eax
jl 0x1003156b
push esi
lea ecx, [ebp - 0xc88]
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
jmp 0x10031535
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xb9cbadbe
inc dword [ebp - 0x10]
xor eax, eax
lea ecx, [ebp - 0xc88]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10031524
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xa90], 0
jne 0x10031566
lea ecx, [ebp - 0xef4]
mov byte [ebp - 4], 0x13
call fcn.10017189
dec dword [ebp - 0x44]
push 1
pop esi
jns 0x100313fe
lea ecx, [ebp - 0x1074]
mov byte [ebp - 4], 0xc
call fcn.10017189
xor ebx, ebx
lea ecx, [ebp - 0xaa8]
push 2
inc ebx
mov dword [ebp - 0x2c], ebx
pop esi
mov dword [ebp - 0x28], 0x61f9c28a
mov dword [ebp - 0x48], 0x1d925b0e
mov dword [ebp - 0x24], 0x1aa1
push esi
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100315ee
push dword [ebp - 0x10]
lea ecx, [ebp - 0xaa8]
call fcn.100171a5
mov dword [eax], 0xf4d4e2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100315d0
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10031600
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x100316da
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 9
mov dword [ebp - 0x4c], eax
inc dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffed
jle 0x100316eb
jmp 0x1003162a
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x10031649
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x48], eax
je 0x10031647
mov eax, ebx
jmp 0x10031649
xor eax, eax
neg eax
je 0x10031650
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
push 0xa
setg cl
xor ebx, ebx
pop edx
sub edx, ecx
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x34]
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, 0xa5b7
lea ecx, [ebp - 0xaa8]
setg dl
xor ebx, ebx
cmp edx, eax
setle bl
xor eax, eax
push eax
call fcn.100171a5
push 1
mov dword [eax], ebx
xor eax, eax
cmp ebx, 8
pop ebx
sete al
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffed
jg 0x10031628
jmp 0x100316eb
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100316eb
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
lea ecx, [ebp - 0xaa8]
mov byte [ebp - 4], 0xc
call fcn.10017189
mov dword [ebp - 0x2c], esi
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x2c], 0xac04ee7d
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x2c], 0xddbc3707
mov dword [ebp - 0x2c], 0xe7f737a9
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xcc2fdcba
mov dword [ebp - 0x2c], 0xc9d5fac1
push 7
pop eax
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1003175b
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov dword [ebp - 0x2c], 9
lea ecx, [ebp - 0x4d8]
push ebx
call fcn.10017107
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x12f0]
movdqa xmm0, xmmword [0x100082c0]
lea ecx, [ebp - 0x16dc]
push eax
lea eax, [ebp - 0x1300]
mov dword [ebp - 0x20], 0xcddd1d8f
mov dword [ebp - 0x28], 0x52f76ec7
push eax
movdqu xmmword [ebp - 0x1300], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x272]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe38]
push dword [esi]
call fcn.10017163
or eax, 0xffffffff
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100317fb
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4d8]
call fcn.100171a5
push 0xfffffffffffffffb
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100317db
xor eax, eax
push eax
lea ecx, [ebp - 0x4d8]
call fcn.100171a5
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1003182a
push eax
lea ecx, [ebp - 0x4d8]
call fcn.100171a5
cmp dword [eax], 0
jne 0x1003182a
xor eax, eax
mov esi, eax
jmp 0x1003182f
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.100171a5
xor ecx, ecx
push 3
cmp dword [eax], esi
setle cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0xe38]
mov eax, dword [ebp - 0x28]
call fcn.100171a5
xor ebx, ebx
lea ecx, [ebp - 0x4d8]
push ebx
mov dword [eax], ebx
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x4d8]
call fcn.100171a5
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x28], eax
jmp 0x100318aa
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x100318a7
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe38]
call fcn.100171a5
mov dword [eax], 5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10031888
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe6
jge 0x1003187f
lea ecx, [ebp - 0xe38]
call fcn.10017189
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0xc
call fcn.10017189
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], 0xdb3ae355
push 5
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0xb0e31355
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x16
je 0x10031b10
xor esi, esi
inc esi
or ebx, 0xffffffff
lea ecx, [ebp - 0x508]
mov dword [ebp - 0x20], ebx
push esi
call fcn.10017107
mov byte [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x48], 8
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x10], eax
jmp 0x10031938
push dword [ebp - 0x10]
lea ecx, [ebp - 0x508]
call fcn.100171a5
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10031921
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, dword [ebp - 0x20]
jl 0x10031973
cmp dword [ebp - 0x20], eax
je 0x10031973
lea edx, [eax + 1]
jmp 0x10031975
mov edx, eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x1c]
je 0x100319dd
xor ebx, ebx
mov dword [ebp - 0x10], 0x2076
push ebx
lea ecx, [ebp - 0x508]
call fcn.100171a5
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x508]
mov eax, dword [ebp - 0x1c]
push ebx
call fcn.100171a5
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x508]
dec eax
neg eax
push ebx
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.100171a5
mov ecx, dword [ebp - 0x10]
xor esi, esi
imul ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x20]
inc esi
mov dword [eax], ecx
jmp 0x10031a99
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], eax
jmp 0x100319f4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x86c], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100319e7
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10031a0f
cmp dword [ebp - 0x864], eax
jne 0x10031a0f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x864]
xor ecx, ecx
xor esi, esi
inc esi
cmp eax, esi
mov eax, dword [ebp - 0x1c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
setle cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x508]
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffffd
setl bl
xor eax, eax
push eax
call fcn.100171a5
xor edx, edx
mov dword [eax], ebx
mov dword [ebp - 0x10], ebx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], eax
je 0x10031a7c
cmp dword [ebp - 0x4c], eax
je 0x10031a7c
mov eax, esi
cmp eax, dword [ebp - 0x20]
je 0x10031a84
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x868]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x10031af2
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jg 0x10031aed
push dword [ebp - 0x28]
lea ecx, [ebp - 0x508]
call fcn.100171a5
cmp dword [eax], 0
jne 0x10031aeb
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031ae3
push eax
push eax
push 0x1c01
push 0x10ca
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10031aab
xor eax, eax
dec dword [ebp - 0x28]
jns 0x10031aa3
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0xc
call fcn.10017189
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x16
jne 0x100318f6
xor eax, eax
mov ecx, 0xa5d6c05b
xor esi, esi
mov dword [ebp - 0x57c], ecx
inc esi
mov dword [ebp - 0x578], ecx
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], ecx
mov ecx, 0x7d04549c
mov dword [ebp - 0x14], 0x7eede0b4
mov dword [ebp - 0xe94], ecx
mov dword [ebp - 0xe90], ecx
mov dword [ebp - 0xe8c], ecx
push 3
mov dword [ebp - 0xe88], ecx
pop ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10031c71
mov dword [ebp - 0x24], 4
mov eax, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebp + eax*4 - 0x57c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x57c], ecx
lea ecx, [ebp - 0x408]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x10], eax
jmp 0x10031bac
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0x98aaf0a9
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x408]
cmp dword [ebp - 0x10], ebx
jl 0x10031b9b
push esi
call fcn.100171a5
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10031bf4
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x408]
push esi
call fcn.100171a5
cmp dword [eax], ebx
jne 0x10031bd9
mov eax, dword [ebp - 0x14]
push esi
lea ecx, [ebp - 0x408]
call fcn.100171a5
mov eax, dword [ebp - 0x57c]
mov eax, dword [ebp - 0x57c]
mov eax, dword [ebp - 0x24]
push esi
lea ecx, [ebp - 0x408]
call fcn.100171a5
push esi
lea ecx, [ebp - 0x408]
call fcn.100171a5
mov edx, dword [ebp - 0x24]
mov esi, eax
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x408]
setge al
sub eax, 0x9643
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
cmp dword [esi], eax
sete bl
xor esi, esi
inc esi
push esi
call fcn.100171a5
mov ecx, dword [ebp - 0xe88]
xor edx, edx
add ecx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x408]
mov eax, dword [ebp - 0x14]
setle dl
mov dword [ebp + eax*4 - 0x57c], edx
mov byte [ebp - 4], 0xc
call fcn.10017189
dec dword [ebp - 0x14]
push 3
pop ebx
jns 0x10031b63
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10031ca9
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x57c], 0
jne 0x10031ca7
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031ca2
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
dec dword [ebp - 0x14]
jns 0x10031c79
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10031cbf
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1808], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031cae
push esi
lea ecx, [ebp - 0x490]
call fcn.10017107
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x11d0]
movdqa xmm0, xmmword [0x100082c0]
lea ecx, [ebp - 0x16ec]
push eax
lea eax, [ebp - 0x11e0]
mov dword [ebp - 0x20], 0xcddd1d8f
mov dword [ebp - 0x28], 0x52f76ec7
push eax
movdqu xmmword [ebp - 0x11e0], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x2b7]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xac0]
push dword [esi]
call fcn.10017163
or eax, 0xffffffff
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x3c], eax
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x10031d60
push dword [ebp - 0x10]
lea ecx, [ebp - 0x490]
call fcn.100171a5
push 0xfffffffffffffffb
pop ecx
mov dword [eax], ecx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10031d40
xor eax, eax
push eax
lea ecx, [ebp - 0x490]
call fcn.100171a5
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10031d8f
push eax
lea ecx, [ebp - 0x490]
call fcn.100171a5
cmp dword [eax], 0
jne 0x10031d8f
xor eax, eax
mov esi, eax
jmp 0x10031d94
xor eax, eax
lea esi, [eax + 1]
push eax
lea ecx, [ebp - 0x490]
call fcn.100171a5
xor ecx, ecx
push ebx
cmp dword [eax], esi
setle cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0xac0]
mov eax, dword [ebp - 0x28]
call fcn.100171a5
xor ebx, ebx
lea ecx, [ebp - 0x490]
push ebx
mov dword [eax], ebx
call fcn.100171a5
push ebx
lea ecx, [ebp - 0x490]
call fcn.100171a5
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x28], eax
jmp 0x10031e0e
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10031e0b
push dword [ebp - 0x20]
lea ecx, [ebp - 0xac0]
call fcn.100171a5
mov dword [eax], 5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10031dec
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe6
jge 0x10031de3
lea ecx, [ebp - 0xac0]
call fcn.10017189
lea ecx, [ebp - 0x490]
mov byte [ebp - 4], 0xc
call fcn.10017189
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x48], 0x58382bdb
mov dword [ebp - 0x48], 0xe9829cbc
mov dword [ebp - 0x3c], 0x61ac7eb2
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10031e68
push 0x269b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SetPolyFillMode]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x48], 0x495e3b37
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x14]
jl 0x10031e9c
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10031e9c
mov edx, eax
jmp 0x10031ea4
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x48], ecx
imul eax, dword [ebp - 0x48], 0xfb07
test eax, eax
jne 0x10031ed5
cmp dword [ebp - 0x14], eax
je 0x10031ed7
mov eax, ebx
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0x4f6cbcb1
mov dword [ebp - 0x2c], 0x82e77e81
mov dword [ebp - 0x2c], 0xebda1846
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10031f23
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xca0], 0x3e31551d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10031f0a
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10031f50
mov eax, ebx
cmp dword [ebp - 0x34], eax
je 0x10031f50
mov dword [ebp - 0x3c], 0xa23
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xca0]
mov eax, dword [ebp - 0xc98]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0xca0]
jmp 0x10031f76
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10031f68
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7d0], 0xe92eda8e
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10031f57
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x48]
cmp byte [ebp - 0x2d], 0
je 0x100320a3
mov dword [ebp - 0x14], 0xb110c93b
xor eax, eax
mov dword [ebp - 0x24], 0x12d2c87
mov dword [ebp - 0x10], eax
inc eax
cmp dword [ebp - 0x10], eax
jge 0x10031fb7
push 7
pop ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x780], ecx
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10031fa2
mov dword [ebp - 0x14], 0x1c
jmp 0x1003208f
mov dword [ebp - 0x10], 0x79e672ca
mov dword [ebp - 0x3c], 5
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x10]
test eax, eax
jne 0x10031fe5
cmp dword [ebp - 0x14], eax
jne 0x10031fe5
mov esi, eax
jmp 0x10031fea
xor eax, eax
lea esi, [eax + 1]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 0x6284
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x1658a600
setle al
imul eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x1003203e
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x1003203e
xor ebx, ebx
inc ebx
jmp 0x10032043
xor ebx, ebx
inc ebx
mov eax, ebx
inc dword [ebp - 0x24]
xor edx, edx
cmp eax, 0x4886
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp eax, edx
setge cl
cmp ecx, 0x5d580090
jg 0x10032069
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003206b
mov eax, ebx
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x14]
sete cl
imul ecx, eax
xor eax, eax
cmp ecx, 0x8700
mov dword [ebp - 0x780], ecx
setne al
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x13
jg 0x10031fc3
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
lea ecx, [ebp - 0x1104]
mov dword [ebp - 0x2c], eax
or ebx, 0xffffffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x2c], 0xade2167f
push 3
call fcn.10017107
push 2
lea ecx, [ebp - 0xf0c]
mov byte [ebp - 4], 0x1d
call fcn.10017107
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x1390]
movdqa xmm0, xmmword [0x10008210]
lea ecx, [ebp - 0x16fc]
push eax
lea eax, [ebp - 0x13a0]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x335c
push eax
movdqu xmmword [ebp - 0x13a0], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x2b8]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x14b4]
push dword [esi]
call fcn.10017163
mov byte [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x48], 0x5f402be2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032164
push dword [ebp - 0x14]
lea ecx, [ebp - 0x1104]
call fcn.100171a5
mov dword [eax], 0x8974b66
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10032145
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032180
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf0c]
call fcn.100171a5
mov dword [eax], 0x20b95ae6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10032169
dec dword [ebp - 0x48]
lea ecx, [ebp - 0x14b4]
call fcn.10017189
lea ecx, [ebp - 0xf0c]
call fcn.10017189
lea ecx, [ebp - 0x1104]
mov byte [ebp - 4], 0xc
call fcn.10017189
dec dword [ebp - 0x44]
or edx, 0xffffffff
dec dword [ebp - 0x40]
mov ebx, 0x924f
cmp dword [ebp - 0x40], edx
jg 0x1003129b
or edi, 0xffffffff
lea ecx, [ebp - 0xf24]
mov dword [ebp - 4], edi
call fcn.10017189
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x44], 0xfb871c7b
mov dword [ebp - 0x34], 0x5c82f744
mov dword [ebp - 0x3c], eax
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xf3c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 5
push 2
mov dword [ebp - 0x2c], 0x364f2ca1
mov dword [ebp - 0x2c], eax
pop esi
mov dword [ebp - 0x2c], 0xe85dc32c
mov dword [ebp - 0x2c], edi
push esi
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032248
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xad8], 0x64a6847d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003222f
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003226e
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf3c]
call fcn.100171a5
mov dword [eax], 0x49f7fae0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032250
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003228c
push eax
push eax
push 0x1c44
push 0x7b9
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], eax
jl 0x10032418
mov dword [ebp - 0x20], 0x443250e6
lea ecx, [ebp - 0x108c]
mov dword [ebp - 0xa00], ebx
mov dword [ebp - 0x9fc], ebx
mov dword [ebp - 0x9f8], ebx
mov dword [ebp - 0x9f4], ebx
push 4
call fcn.10017107
mov byte [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x100322fd
push 7
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x108c]
call fcn.100171a5
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100322dd
xor eax, eax
mov ebx, 0x924f
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jg 0x10032394
mov dword [ebp - 0x28], 0x39ecf4a
mov dword [ebp - 0x3c], 0xed55c59c
cmp dword [ebp - 0x28], eax
jne 0x10032351
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
cmp eax, 0xf8609561
jb 0x1003233c
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003233f
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x9fc]
jl 0x10032351
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10032351
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xa00]
xor edx, edx
mov eax, dword [ebp - 0x20]
push 0
mov ecx, dword [ebp + eax*4 - 0xad8]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xad8], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
pop eax
setl cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10032309
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x10032400
xor eax, eax
lea ecx, [ebp - 0xd90]
inc eax
push eax
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
jmp 0x100323cd
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xb9cbadbe
inc dword [ebp - 0x10]
xor eax, eax
lea ecx, [ebp - 0xd90]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100323bc
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xad8], 0
jne 0x100323fb
inc dword [ebp - 0x48]
mov byte [ebp - 4], 0x21
call fcn.10017189
dec dword [ebp - 0x34]
jns 0x1003239c
jmp 0x10032400
call fcn.10017189
lea ecx, [ebp - 0x108c]
mov byte [ebp - 4], 0x20
call fcn.10017189
dec dword [ebp - 0x44]
jns 0x10032298
lea ecx, [ebp - 0xf3c]
mov dword [ebp - 4], edi
call fcn.10017189
push 0xfffffffffffffff8
mov dword [ebp - 0x44], 0xfb871c7b
pop eax
mov dword [ebp - 0x34], 0x5c82f744
mov dword [ebp - 0x3c], eax
push 0xfffffffffffffffb
pop ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xf54]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0x364f2ca1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xe85dc32c
mov dword [ebp - 0x2c], edi
push esi
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], 0x23
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032495
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xaf0], 0x64a6847d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1003247c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x100324bb
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf54]
call fcn.100171a5
mov dword [eax], 0x49f7fae0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1003249d
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100324d9
push eax
push eax
push 0x1c44
push 0x7b9
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], eax
jl 0x10032665
mov dword [ebp - 0x20], 0x443250e6
lea ecx, [ebp - 0x1144]
mov dword [ebp - 0x9e0], ebx
mov dword [ebp - 0x9dc], ebx
mov dword [ebp - 0x9d8], ebx
mov dword [ebp - 0x9d4], ebx
push 4
call fcn.10017107
mov byte [ebp - 4], 0x24
xor eax, eax
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1003254a
push 7
pop ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1144]
call fcn.100171a5
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1003252a
xor eax, eax
mov ebx, 0x924f
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jg 0x100325e1
mov dword [ebp - 0x28], 0x39ecf4a
mov dword [ebp - 0x3c], 0xed55c59c
cmp dword [ebp - 0x28], eax
jne 0x1003259e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
cmp eax, 0xf8609561
jb 0x10032589
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x1003258c
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x9dc]
jl 0x1003259e
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x1003259e
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x9e0]
xor edx, edx
mov eax, dword [ebp - 0x20]
push 0
mov ecx, dword [ebp + eax*4 - 0xaf0]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xaf0], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
pop eax
setl cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x10032556
mov dword [ebp - 0x34], esi
cmp dword [ebp - 0x34], eax
jl 0x1003264d
xor eax, eax
lea ecx, [ebp - 0xcb8]
inc eax
push eax
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
jmp 0x1003261a
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xb9cbadbe
inc dword [ebp - 0x10]
xor eax, eax
lea ecx, [ebp - 0xcb8]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10032609
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xaf0], 0
jne 0x10032648
inc dword [ebp - 0x48]
mov byte [ebp - 4], 0x24
call fcn.10017189
dec dword [ebp - 0x34]
jns 0x100325e9
jmp 0x1003264d
call fcn.10017189
lea ecx, [ebp - 0x1144]
mov byte [ebp - 4], 0x23
call fcn.10017189
dec dword [ebp - 0x44]
jns 0x100324e5
lea ecx, [ebp - 0xf54]
mov dword [ebp - 4], edi
call fcn.10017189
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10032691
push eax
push 0x2e3
push eax
call edi
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x100326a7
push 0x16fc
call ebx
push 0xfffffffffffffff8
pop ecx
mov dword [ebp - 0x44], 0xfb871c7b
mov dword [ebp - 0x34], 0x5c82f744
mov dword [ebp - 0x3c], ecx
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x2c], eax
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0x364f2ca1
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xf6c]
mov dword [ebp - 0x2c], 0xe85dc32c
mov dword [ebp - 0x2c], eax
push esi
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], 0x26
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032719
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb08], 0x64a6847d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10032700
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003273f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf6c]
call fcn.100171a5
mov dword [eax], 0x49f7fae0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032721
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003275d
push eax
push eax
push 0x1c44
push 0x7b9
push eax
call dword [sym.imp.USER32.dll_InsertMenuW]
xor eax, eax
mov dword [ebp - 0x44], esi
cmp dword [ebp - 0x44], eax
jl 0x100328f4
mov esi, 0x924f
mov dword [ebp - 0x20], 0x443250e6
lea ecx, [ebp - 0x10a4]
mov dword [ebp - 0x998], esi
mov dword [ebp - 0x994], esi
mov dword [ebp - 0x990], esi
mov dword [ebp - 0x98c], esi
push 4
call fcn.10017107
mov byte [ebp - 4], 0x27
xor eax, eax
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x100327d3
push 7
pop esi
push dword [ebp - 0x10]
lea ecx, [ebp - 0x10a4]
call fcn.100171a5
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x100327b3
xor eax, eax
mov esi, 0x924f
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1003286c
mov dword [ebp - 0x28], 0x39ecf4a
mov dword [ebp - 0x3c], 0xed55c59c
cmp dword [ebp - 0x28], eax
jne 0x10032828
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
cmp eax, 0xf8609561
jb 0x10032813
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10032816
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x994]
jl 0x10032828
xor eax, eax
cmp dword [ebp - 0x20], eax
jne 0x10032828
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x998]
xor edx, edx
mov eax, dword [ebp - 0x20]
push 0
mov ecx, dword [ebp + eax*4 - 0xb08]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb08], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
cmp edx, eax
pop eax
setl cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x100327e0
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], eax
jl 0x100328dc
xor eax, eax
lea ecx, [ebp - 0xe08]
inc eax
push eax
call fcn.10017107
xor eax, eax
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], eax
jmp 0x100328a9
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xb9cbadbe
inc dword [ebp - 0x10]
xor eax, eax
lea ecx, [ebp - 0xe08]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10032898
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xb08], 0
jne 0x100328d7
inc dword [ebp - 0x48]
mov byte [ebp - 4], 0x27
call fcn.10017189
dec dword [ebp - 0x34]
jns 0x10032878
jmp 0x100328dc
call fcn.10017189
lea ecx, [ebp - 0x10a4]
mov byte [ebp - 4], 0x26
call fcn.10017189
dec dword [ebp - 0x44]
jns 0x1003276e
or eax, 0xffffffff
lea ecx, [ebp - 0xf6c]
mov dword [ebp - 4], eax
call fcn.10017189
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1003291d
push eax
push 0x2e3
push eax
call edi
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x1003292d
push 0x16fc
call ebx
movdqa xmm0, xmmword [0x100082d0]
lea eax, [ebp - 0x11f0]
push eax
lea eax, [ebp - 0x1200]
mov dword [ebp - 0x14], 0xa4f833fc
mov dword [ebp - 0x48], 0xa1efe0c2
lea ecx, [ebp - 0x179c]
push eax
movdqu xmmword [ebp - 0x1200], xmm0
call fcn.100171b4
lea ecx, [ebp - 0x2ba]
mov esi, eax
call fcn.10009433
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1114]
push dword [esi]
call fcn.10017163
xor eax, eax
mov dword [ebp - 4], 0x29
xor ecx, ecx
mov dword [ebp - 0x10], eax
inc ecx
cmp dword [ebp - 0x10], ecx
jge 0x100329ae
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 4
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10032996
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x100329ce
mov dword [ebp - 0x3c], 0x68876942
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x70]
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x14]
jns 0x100329b6
xor eax, eax
cmp dword [ebp - 0x70], eax
je 0x100329df
cmp dword [ebp - 0x14], eax
je 0x100329df
xor eax, eax
lea edx, [eax + 1]
jmp 0x100329e1
mov edx, eax
mov eax, dword [ebp - 0x70]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x70]
push 3
setg cl
xor edx, edx
cmp ecx, 0x13ca
setl dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x70]
imul eax, edx
cmp eax, 0x8ec
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x70]
add ecx, eax
mov eax, dword [ebp - 0x70]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, 0xfffffff6
setl cl
add eax, ecx
xor ecx, ecx
cmp eax, 0x1418
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
cmp ecx, 9
setg al
xor ecx, ecx
xor esi, esi
inc esi
cmp eax, esi
setge cl
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp eax, edx
setle cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x1114]
mov eax, dword [ebp - 0x70]
cmp eax, 5
setne bl
call fcn.100171a5
mov ecx, dword [ebp - 0x70]
xor edx, edx
cmp ebx, ecx
lea ecx, [ebp - 0x1114]
setl dl
mov dword [eax], edx
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10017189
xor eax, eax
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10032ab1
push eax
push 0x2e3
push eax
call edi
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032ac5
push 0x16fc
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x3c], 0x4498b94b
mov dword [ebp - 0x34], 0x783518f
mov eax, dword [ebp - 0x10]
neg eax
mov dword [ebp - 0x20], eax
je 0x10032b52
mov dword [ebp - 0x24], 0x6eda
mov dword [ebp - 0x38], 0xfffffff6
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1c3a
jle 0x10032b22
cmp dword [ebp - 0x10], 0x7b30
jne 0x10032b10
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x10032b30
cmp dword [ebp - 0x24], eax
je 0x10032b30
mov eax, esi
xor edx, edx
cmp eax, 0x65f5
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
push 2
setl cl
or edi, 0xffffffff
mov dword [ebp - 0x34], ecx
pop ebx
jmp 0x10032be4
push 2
pop ebx
push ebx
lea ecx, [ebp - 0xb20]
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], eax
jmp 0x10032b88
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb20]
call fcn.100171a5
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10032b72
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10032baa
cmp dword [ebp - 0x34], eax
jne 0x10032baa
mov edi, eax
inc eax
jmp 0x10032baf
xor eax, eax
inc eax
mov edi, eax
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0xb20]
push eax
call fcn.100171a5
lea ecx, [ebp - 0xb20]
mov dword [eax], esi
xor eax, eax
cmp esi, edi
setne al
or edi, 0xffffffff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], edi
call fcn.10017189
xor esi, esi
inc esi
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], 0x8ed3351f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10032c2c
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, edi
setge al
cmp eax, dword [ebp - 0x34]
jl 0x10032c2c
xor eax, eax
jmp 0x10032c2e
mov eax, esi
mov ecx, 0xffff
cmp ecx, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
je 0x10032c41
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfa9e
jge 0x10032c59
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xd9e96bb6
je 0x10032c7e
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10032c91
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032c91
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x1c], eax
jmp 0x10032d36
push 7
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10032d0d
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x44]
je 0x10032ccc
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10032ccc
mov edx, eax
jmp 0x10032cd1
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x44]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x24]
neg ecx
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
neg eax
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10032d33
push 0x2aa
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xc
jne 0x10032ca5
push 3
lea ecx, [ebp - 0x5c4]
call fcn.10017107
push 6
mov dword [ebp - 4], 0x2b
xor edi, edi
pop eax
mov dword [ebp - 0x2c], eax
inc edi
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x10032d83
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5c4]
call fcn.100171a5
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10032d68
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032da3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15d4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032d8b
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032dba
push eax
push 0x1d41
call dword [sym.imp.GDI32.dll_CreateHatchBrush]
xor eax, eax
push eax
lea ecx, [ebp - 0x5c4]
call fcn.100171a5
mov dword [eax], 0xfffffff4
jmp 0x10032e27
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x20], 0xffffffe6
cmp dword [ebp - 0x20], 0xfffffffa
jne 0x10032e05
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032dfc
push eax
push 0x15d2
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffffa
je 0x10032de4
mov dword [ebp - 0x20], edi
xor eax, eax
cmp dword [ebp - 0x20], eax
jl 0x10032e19
cmp dword [ebp - 0x20], eax
jne 0x10032e19
dec dword [ebp - 0x20]
jns 0x10032e0f
push eax
lea ecx, [ebp - 0x5c4]
call fcn.100171a5
dec dword [eax]
xor eax, eax
lea ecx, [ebp - 0x5c4]
push eax
call fcn.100171a5
cmp dword [eax], 0xffffffe2
jl 0x10032dce
or esi, 0xffffffff
lea ecx, [ebp - 0x5c4]
mov dword [ebp - 4], esi
call fcn.10017189
mov dword [ebp - 0x10], 0xfb871c7b
xor eax, eax
mov dword [ebp - 0x24], 0x5c82f744
mov dword [ebp - 0x2c], edi
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x10032e7e
push 0x10cb
push 0x1aed
push 0xc7c
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10032e98
push 0x1a7e
push 0xfc7
push eax
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
mov dword [ebp - 0x3c], 0xfffffff8
lea ecx, [ebp - 0x5a0]
push ebx
call fcn.10017107
mov dword [ebp - 4], 0x2c
mov dword [ebp - 0x4c], 0x26ff23b1
push 7
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x48], 0x9f4981ff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10032eee
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10b8], 0xfffffff9
xor eax, eax
inc dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x1c], eax
jl 0x10032ed0
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10032f10
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5a0]
call fcn.100171a5
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10032ef6
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10032f26
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1704], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10032f15
push edi
lea ecx, [ebp - 0x5a0]
call fcn.100171a5
xor ebx, ebx
lea ecx, [ebp - 0x5a0]
push edi
mov dword [eax], ebx
call fcn.100171a5
cmp dword [eax], ebx
jl 0x10032fae
push 2
lea ecx, [ebp - 0xf84]
call fcn.10017107
mov byte [ebp - 4], 0x2d
xor eax, eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], eax
jmp 0x10032f77
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0xb6182eac
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
lea ecx, [ebp - 0xf84]
jl 0x10032f66
dec dword [ebp - 0x48]
mov byte [ebp - 4], 0x2c
call fcn.10017189
push edi
lea ecx, [ebp - 0x5a0]
call fcn.100171a5
push edi
lea ecx, [ebp - 0x5a0]
dec dword [eax]
call fcn.100171a5
cmp dword [eax], 0
jge 0x10032f4b
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], esi
call fcn.10017189
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x2c], eax
mov eax, 0xa5d6c05b
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], eax
mov eax, 0x7d04549c
mov dword [ebp - 0x14], 0x7eede0b4
mov dword [ebp - 0xea4], eax
mov dword [ebp - 0xea0], eax
mov dword [ebp - 0xe9c], eax
push 3
mov dword [ebp - 0xe98], eax
xor eax, eax
pop ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x1003312a
mov dword [ebp - 0x34], 4
mov eax, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebp + eax*4 - 0x56c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x56c], ecx
lea ecx, [ebp - 0x430]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
call fcn.10017107
xor eax, eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 0x10], eax
jmp 0x10033066
push dword [ebp - 0x10]
call fcn.100171a5
mov dword [eax], 0x98aaf0a9
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x430]
cmp dword [ebp - 0x10], ebx
jl 0x10033055
push edi
call fcn.100171a5
xor ebx, ebx
cmp dword [eax], ebx
jne 0x100330ae
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x430]
push edi
call fcn.100171a5
cmp dword [eax], ebx
jne 0x10033093
mov eax, dword [ebp - 0x14]
push edi
lea ecx, [ebp - 0x430]
call fcn.100171a5
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x34]
push edi
lea ecx, [ebp - 0x430]
call fcn.100171a5
push edi
lea ecx, [ebp - 0x430]
call fcn.100171a5
mov edx, dword [ebp - 0x34]
mov esi, eax
mov ecx, dword [ebp - 0x14]
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x430]
push edi
setge al
sub eax, 0x9643
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
cmp dword [esi], eax
sete bl
call fcn.100171a5
mov ecx, dword [ebp - 0xe98]
xor edx, edx
add ecx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x430]
mov eax, dword [ebp - 0x14]
setle dl
or esi, 0xffffffff
mov dword [ebp + eax*4 - 0x56c], edx
mov dword [ebp - 4], esi
call fcn.10017189
dec dword [ebp - 0x14]
push 3
pop ebx
jns 0x1003301a
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10033166
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x56c], 0
jne 0x10033164
xor eax, eax
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], al
je 0x1003315f
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
dec dword [ebp - 0x14]
jns 0x10033132
xor eax, eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], 0x4e703026
mov dword [ebp - 0x20], eax
jmp 0x100331b9
mov dword [ebp - 0x3c], 0x83d78398
mov dword [ebp - 0x38], 0x93cc
mov byte [ebp - 0x2d], al
cmp byte [ebp - 0x2d], 0
je 0x10033197
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x20]
push 0
pop eax
cmp dword [ebp - 0x20], 0xffffffe5
jge 0x10033178
mov dword [ebp - 0x2c], 5
lea ecx, [ebp - 0xcd0]
mov dword [ebp - 0x2c], 0x364f2ca1
push edi
call fcn.10017107
mov dword [ebp - 4], 0x2f
xor eax, eax
mov dword [ebp - 0x34], 0x692beaa3
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
mov edi, 0xfff7
jge 0x10033216
push dword [ebp - 0x10]
lea ecx, [ebp - 0xcd0]
call fcn.100171a5
mov dword [eax], edi
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x100331f9
mov dword [ebp - 0x34], eax
jmp 0x1003322c