Function at 0x1002ea9f
Capabilities:
Accept command line arguments
Clear file content
Get common file path
Get geographical location
Get session user name
Get thread local storage value
Parse pe header
Query environment variable
Query or enumerate registry value
Set environment variable
Set thread local storage value

Disassembly:
mov eax, 0x10080990
call fcn.1007f148
mov eax, 0x15b4
call fcn.1007a870
push ebx
push esi
push edi
push 5
pop esi
mov dword [ebp - 0x4ec], esi
xor ebx, ebx
mov dword [ebp - 0x4e8], esi
inc ebx
mov dword [ebp - 0x58], ecx
mov edi, 0x495e3b37
mov dword [ebp - 0x4e4], esi
lea ecx, [ebp - 0x9f4]
mov dword [ebp - 0x4e0], esi
mov dword [ebp - 0x20], edi
push ebx
mov byte [ebp - 0x5d], dl
call fcn.10016c36
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x44], 0x8cc19583
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002eb20
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9f4]
call fcn.10016cc2
mov dword [eax], 0x3413f087
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002eb02
xor eax, eax
mov dword [ebp - 0x4e0], 0x4ec2e0cf
push 3
pop ecx
cmp dword [ebp - 0x4e4], eax
je 0x1002ebf9
mov dword [ebp - 0x24], 0xc099
mov dword [ebp - 0x14], 0x4872
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x4e0], eax
jne 0x1002ebcc
mov eax, dword [ebp - 0x20]
sub eax, 0x2b82
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
je 0x1002eb72
xor eax, eax
cmp dword [ebp - 0x4e0], eax
je 0x1002eb74
mov esi, ebx
jmp 0x1002eb76
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x9f4]
call fcn.10016cc2
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
setg dl
xor ebx, ebx
sub edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x20]
cmp edx, dword [eax]
mov eax, dword [ebp - 0x14]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x20]
je 0x1002ebb6
cmp dword [ebp - 0x14], eax
je 0x1002ebb6
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x1002ebbb
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x4e0]
imul eax, ecx
test eax, eax
jne 0x1002ebcc
mov edx, eax
jmp 0x1002ebce
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4e0]
push 5
setne cl
imul ecx, eax
mov eax, dword [ebp - 0x24]
pop esi
imul eax, ecx
sub eax, 0x7eb23672
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
jmp 0x1002ec03
mov dword [ebp - 0x40], 0x1bd77dfc
inc dword [ebp - 0x40]
or eax, 0xffffffff
lea ecx, [ebp - 0x9f4]
mov dword [ebp - 4], eax
call fcn.10016cbd
mov dword [ebp - 0x4cc], esi
lea ecx, [ebp - 0x9a0]
mov dword [ebp - 0x4c8], esi
mov dword [ebp - 0x4c4], esi
mov dword [ebp - 0x4c0], esi
mov dword [ebp - 0x20], edi
push ebx
call fcn.10016c36
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x44], 0x8cc19583
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002ec6d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9a0]
call fcn.10016cc2
mov dword [eax], 0x3413f087
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ec4f
xor eax, eax
mov dword [ebp - 0x4c0], 0x4ec2e0cf
cmp dword [ebp - 0x4c4], eax
je 0x1002ed43
mov dword [ebp - 0x24], 0xc099
push 3
mov dword [ebp - 0x14], 0x4872
pop ecx
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x4c0], eax
jne 0x1002ed19
mov eax, dword [ebp - 0x20]
sub eax, 0x2b82
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
je 0x1002ecbf
xor eax, eax
cmp dword [ebp - 0x4c0], eax
je 0x1002ecc1
mov esi, ebx
jmp 0x1002ecc3
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x9a0]
call fcn.10016cc2
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
setg dl
xor ebx, ebx
sub edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x20]
cmp edx, dword [eax]
mov eax, dword [ebp - 0x14]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x20]
je 0x1002ed03
cmp dword [ebp - 0x14], eax
je 0x1002ed03
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x1002ed08
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x4c0]
imul eax, ecx
test eax, eax
jne 0x1002ed19
mov edx, eax
jmp 0x1002ed1b
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4c0]
setne cl
imul ecx, eax
mov eax, dword [ebp - 0x24]
imul eax, ecx
sub eax, 0x7eb23672
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
jmp 0x1002ed4d
mov dword [ebp - 0x40], 0x1bd77dfc
inc dword [ebp - 0x40]
or edi, 0xffffffff
lea ecx, [ebp - 0x9a0]
mov dword [ebp - 4], edi
call fcn.10016cbd
push 3
pop eax
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0xb68]
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x30], eax
push 4
call fcn.10016c36
push 2
pop esi
xor eax, eax
mov dword [ebp - 4], esi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1002eda7
push dword [ebp - 0x28]
lea ecx, [ebp - 0xb68]
call fcn.10016cc2
mov dword [eax], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1002ed8c
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1002edc6
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x14f0], edi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002edb2
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002ede9
push 0x2415
push 0x11e9
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
mov eax, dword [ebp - 0x24]
mov ecx, 0xa0d018d3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x24]
push 2
sub eax, 0x3572
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x84e5
lea ecx, [ebp - 0xb68]
setne al
lea esi, [eax + 0xb81e]
pop eax
push eax
call fcn.10016cc2
mov dword [eax], esi
xor eax, eax
test esi, esi
jne 0x1002ef30
cmp dword [ebp - 0x30], eax
jne 0x1002ef30
movdqa xmm0, xmmword [0x10007e40]
lea eax, [ebp - 0x106c]
push eax
lea eax, [ebp - 0x107c]
push eax
lea ecx, [ebp - 0x13ac]
movdqu xmmword [ebp - 0x107c], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1c0]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x12e8]
push dword [esi]
call fcn.10016c97
push 3
xor eax, eax
pop ecx
mov byte [ebp - 4], cl
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x73e70d28
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffffc
jge 0x1002ef23
jmp 0x1002eec1
push 3
pop ecx
push ecx
lea ecx, [ebp - 0x1000]
call fcn.10016c36
mov byte [ebp - 4], 4
mov eax, 0x43657218
mov dword [ebp - 0x3c], 0xe072305a
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002ef01
push dword [ebp - 0x14]
call fcn.10016cc2
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x14]
push 3
pop eax
lea ecx, [ebp - 0x1000]
cmp dword [ebp - 0x14], eax
jl 0x1002eef0
dec dword [ebp - 0x40]
mov byte [ebp - 4], al
call fcn.10016cbd
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffffc
jl 0x1002eebe
lea ecx, [ebp - 0x12e8]
call fcn.10016cbd
jmp 0x1002ef51
mov dword [ebp - 0x14], eax
jmp 0x1002ef46
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x37c], 0x6992f1e5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ef35
inc dword [ebp - 0x37c]
or esi, 0xffffffff
lea ecx, [ebp - 0xb68]
mov dword [ebp - 4], esi
call fcn.10016cbd
push 5
pop eax
mov dword [ebp - 0x4ac], eax
lea ecx, [ebp - 0x9b8]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x20], 0x495e3b37
push ebx
call fcn.10016c36
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x44], 0x8cc19583
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002efc6
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9b8]
call fcn.10016cc2
mov dword [eax], 0x3413f087
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002efa8
xor eax, eax
mov dword [ebp - 0x4a0], 0x4ec2e0cf
cmp dword [ebp - 0x4a4], eax
je 0x1002f09f
mov dword [ebp - 0x24], 0xc099
push 3
mov dword [ebp - 0x14], 0x4872
pop ecx
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x4a0], eax
jne 0x1002f072
mov eax, dword [ebp - 0x20]
sub eax, 0x2b82
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
je 0x1002f018
xor eax, eax
cmp dword [ebp - 0x4a0], eax
je 0x1002f01a
mov esi, ebx
jmp 0x1002f01c
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x9b8]
call fcn.10016cc2
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
setg dl
xor ebx, ebx
sub edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x20]
cmp edx, dword [eax]
mov eax, dword [ebp - 0x14]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x20]
je 0x1002f05c
cmp dword [ebp - 0x14], eax
je 0x1002f05c
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x1002f061
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x4a0]
imul eax, ecx
test eax, eax
jne 0x1002f072
mov edx, eax
jmp 0x1002f074
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4a0]
setne cl
imul ecx, eax
mov eax, dword [ebp - 0x24]
imul eax, ecx
sub eax, 0x7eb23672
neg eax
sbb eax, eax
inc eax
or esi, 0xffffffff
mov dword [ebp - 0x44], eax
jmp 0x1002f0a9
mov dword [ebp - 0x40], 0x1bd77dfc
inc dword [ebp - 0x40]
lea ecx, [ebp - 0x9b8]
mov dword [ebp - 4], esi
call fcn.10016cbd
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
mov ecx, 0xffff
xor eax, eax
mov dword [ebp - 0x1c], 0x17473468
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002f0e9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x924], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002f0d4
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002f0f4
mov eax, dword [ebp - 0x918]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x918]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
push 6
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
pop ecx
push 9
pop edx
cmp dword [ebp - 0x1c], eax
je 0x1002f133
mov dword [ebp - 0x44], 0x1a652065
mov dword [ebp - 0x44], esi
jmp 0x1002f226
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x8e4], esi
mov dword [ebp - 0x8e0], esi
mov dword [ebp - 0x8dc], esi
mov dword [ebp - 0x8d8], esi
mov dword [ebp - 0xd54], ecx
mov dword [ebp - 0xd50], ecx
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 0xd48], ecx
cmp dword [ebp - 0x1c], eax
jne 0x1002f1ae
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x918]
mov dword [ebp - 0x8e4], eax
mov dword [ebp - 0x1c], 0xfffffffa
mov eax, dword [ebp - 0x918]
add eax, dword [ebp - 0x1c]
jne 0x1002f191
cmp dword [ebp - 0x1c], eax
je 0x1002f193
mov eax, ebx
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp - 0x918]
imul eax, dword [ebp - 0x20], 0x688d
test eax, eax
jne 0x1002f1ae
mov ecx, eax
jmp 0x1002f1b0
mov ecx, ebx
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, 0xad47
jne 0x1002f21d
mov dword [ebp - 0x1c], 0x15
cmp dword [ebp - 0x1c], edx
jl 0x1002f206
push 3
xor eax, eax
pop esi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jg 0x1002f1fb
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002f1f0
push eax
push 0x2299
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x1002f1d6
push 9
pop edx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jge 0x1002f1ce
or esi, 0xffffffff
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x1002f226
push 0xfa4
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x1002f226
mov eax, dword [ebp - 0x8e4]
mov dword [ebp - 0x1c], eax
push 3
pop eax
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0xcb8]
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x30], eax
push 4
call fcn.10016c36
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1002f274
push dword [ebp - 0x28]
lea ecx, [ebp - 0xcb8]
call fcn.10016cc2
mov dword [eax], 2
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1002f255
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1002f293
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1514], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002f27f
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002f2b0
push 0x2415
push 0x11e9
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
mov eax, dword [ebp - 0x24]
mov ecx, 0xa0d018d3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x24]
push 2
sub eax, 0x3572
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x84e5
lea ecx, [ebp - 0xcb8]
setne al
lea esi, [eax + 0xb81e]
pop eax
push eax
call fcn.10016cc2
mov dword [eax], esi
xor eax, eax
test esi, esi
jne 0x1002f3f4
cmp dword [ebp - 0x30], eax
jne 0x1002f3f4
movdqa xmm0, xmmword [0x10007e40]
lea eax, [ebp - 0x116c]
push eax
lea eax, [ebp - 0x117c]
push eax
lea ecx, [ebp - 0x1394]
movdqu xmmword [ebp - 0x117c], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1be]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1288]
push dword [esi]
call fcn.10016c97
push 7
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x73e70d28
mov dword [ebp - 0x30], eax
jmp 0x1002f3e1
push 3
pop eax
push eax
lea ecx, [ebp - 0xdec]
call fcn.10016c36
mov byte [ebp - 4], 8
mov eax, 0x43657218
mov dword [ebp - 0x3c], 0xe072305a
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f3c2
push dword [ebp - 0x14]
call fcn.10016cc2
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x14]
push 3
pop eax
lea ecx, [ebp - 0xdec]
cmp dword [ebp - 0x14], eax
jl 0x1002f3b1
dec dword [ebp - 0x40]
push 7
pop eax
mov byte [ebp - 4], al
call fcn.10016cbd
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffffc
jl 0x1002f37f
lea ecx, [ebp - 0x1288]
call fcn.10016cbd
jmp 0x1002f415
mov dword [ebp - 0x14], eax
jmp 0x1002f40a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30c], 0x6992f1e5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f3f9
inc dword [ebp - 0x30c]
or eax, 0xffffffff
lea ecx, [ebp - 0xcb8]
mov dword [ebp - 4], eax
call fcn.10016cbd
mov dword [ebp - 0x1c], 0xe60f951
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 0x43cc9f19
push 2
pop esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], 0xb7c39c9d
mov dword [ebp - 0x18], 0x6920
mov dword [ebp - 0x14], eax
jmp 0x1002f463
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc], 0x302aff63
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f452
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xe80031aa
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x1c]
imul edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
imul ecx, ecx, 0x7d26
cmp ecx, eax
setle dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x24]
jg 0x1002f4b7
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], 0xfffd
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002f4cc
mov edx, ebx
cmp dword [ebp - 0x28], eax
jne 0x1002f4ce
mov edx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
add ecx, dword [ebp - 0x1c]
je 0x1002f4f8
mov eax, dword [ebp - 0x18]
push 3
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x14], 0x97151158
mov dword [ebp - 0x40], 0x94784533
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x48], 0x4a48c552
mov dword [ebp - 0x24], 0xf
cmp dword [ebp - 0x24], eax
je 0x1002f56f
push 9
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x1002f565
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002f54d
push 0x130d
push 0xdde
call edi
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 9
xor eax, eax
pop ecx
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002f562
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
push 9
xor eax, eax
pop ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
je 0x1002f52c
dec dword [ebp - 0x24]
jne 0x1002f527
push 0xfffffffffffffffd
pop ecx
cmp dword [ebp - 0x2c], eax
je 0x1002f5da
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0xf3aa798d
mov eax, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xfc], ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], 0xa5dbdfdd
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
jmp 0x1002f637
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002f5f1
mov esi, ebx
cmp dword [ebp - 0x48], eax
jne 0x1002f5f3
mov esi, eax
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setle dl
cmp edx, 0xc99cc0f7
ja 0x1002f60e
mov eax, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x1c]
push 2
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
pop esi
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
neg ecx
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x30], eax
push esi
call fcn.10016c36
push 9
pop eax
mov dword [ebp - 4], eax
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002f67d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x828]
call fcn.10016cc2
mov dword [eax], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f65f
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jg 0x1002f6e9
mov dword [ebp - 0x30], 0xa4d073ff
lea ecx, [ebp - 0x828]
push dword [ebp - 0x2c]
call fcn.10016cc2
xor ecx, ecx
cmp dword [eax], 0xffffffff
setge cl
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
jmp 0x1002f6d9
mov dword [ebp - 0x44], 4
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x40], 0x704f3d4e
mov esi, dword [ebp - 0x44]
push dword [ebp - 0x2c]
call fcn.10016cc2
mov dword [eax], esi
mov dword [ebp - 0x40], esi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x1002f6ac
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x1002f685
push 2
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x828]
mov dword [ebp - 4], eax
call fcn.10016cbd
push 5
pop eax
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], eax
xor eax, eax
mov dword [ebp - 0x48], 0x5b9b55bb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f73e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0x689351f2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f726
xor eax, eax
mov dword [ebp - 0x48], eax
jmp 0x1002f9cd
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], 0xfffffffa
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002f76a
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x1002f9ca
push 3
pop ecx
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002f7a0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2e4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f788
xor eax, eax
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], eax
jg 0x1002f9c1
push ebx
lea ecx, [ebp - 0x654]
call fcn.10016c36
or eax, 0xffffffff
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f7e9
push dword [ebp - 0x14]
lea ecx, [ebp - 0x654]
call fcn.10016cc2
mov dword [eax], 0x492a4153
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f7d2
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x88], 0
jne 0x1002f867
mov eax, dword [ebp - 0x2e4]
mov ecx, ebx
mov dword [ebp - 0x28], eax
xor edx, edx
mov eax, dword [ebp - 0x88]
sub ecx, eax
mov eax, dword [ebp - 0x2dc]
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x1c]
jle 0x1002f829
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f82b
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x88]
lea eax, [edx - 0x26b17019]
xor edx, edx
cmp ecx, eax
setge dl
imul eax, edx, 0x5d17
test eax, eax
jne 0x1002f84f
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x88]
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1002f930
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x88], 0
je 0x1002f92e
xor eax, eax
lea ecx, [ebp - 0x654]
push eax
mov dword [ebp - 0x20], eax
call fcn.10016cc2
cmp dword [eax], 0
jne 0x1002f8b8
xor eax, eax
lea ecx, [ebp - 0x654]
push eax
call fcn.10016cc2
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xc588
je 0x1002f8b8
xor eax, eax
mov ecx, eax
jmp 0x1002f8ba
mov ecx, ebx
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp ecx, 9
setge al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x88]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, dword [ebp - 0x20]
je 0x1002f904
cmp dword [ebp - 0x20], eax
je 0x1002f904
mov eax, ebx
xor ecx, ecx
test eax, eax
setg cl
xor eax, eax
cmp ecx, 0x94be
lea ecx, [ebp - 0x654]
setne al
mov dword [ebp - 0x44], eax
xor eax, eax
push eax
call fcn.10016cc2
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
jmp 0x1002f999
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x1002f95d
or ecx, 0xffffffff
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], eax
jmp 0x1002f950
mov dword [ebp - 0x44], 0xc9e433c5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x1002f946
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x1002f93e
mov eax, dword [ebp - 0x2e0]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x62a08d8d
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x88], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x654]
mov dword [ebp - 4], eax
call fcn.10016cbd
inc dword [ebp - 0x2e4]
xor eax, eax
cmp dword [ebp - 0x2e4], eax
jle 0x1002f7b2
push 3
pop ecx
dec dword [ebp - 0x1c]
jns 0x1002f779
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xa
push 0xfffffffffffffffe
pop ecx
je 0x1002f746
mov dword [ebp - 0x48], 0x495e3b37
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002fa04
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x137c], 0x5464b5f5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f9ec
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002fa1a
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_SetPropA]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002fa3a
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1002fa37
push 0x2345
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x1002fa1f
push ebx
lea ecx, [ebp - 0xc58]
call fcn.10016c36
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x9d0]
mov eax, 0xffff
mov dword [ebp - 0x18], 0x9b3198a8
push 3
mov dword [ebp - 0x44], eax
pop eax
push eax
call fcn.10016c36
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
jmp 0x1002fa92
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9d0]
call fcn.10016cc2
mov dword [eax], 0x8c458a92
inc dword [ebp - 0x14]
push 3
pop eax
cmp dword [ebp - 0x14], eax
jl 0x1002fa7b
mov dword [ebp - 0x18], eax
jmp 0x1002fcb2
mov dword [ebp - 0x28], 0xfffb
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x30], 0xfffffff6
push 4
call fcn.10016c36
mov byte [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x40], 0xdbb389e7
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002faf2
push dword [ebp - 0x14]
lea ecx, [ebp - 0x308]
call fcn.10016cc2
mov dword [eax], 0x1510afbd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002fad3
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002fafa
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, 0x48bd921b
neg eax
push 3
sbb eax, eax
inc eax
pop ecx
sub eax, ecx
neg eax
sbb eax, eax
inc eax
inc eax
je 0x1002fbac
xor eax, eax
mov dword [ebp - 0x40], 0x5a2f
mov dword [ebp - 0x28], eax
jmp 0x1002fba2
mov dword [ebp - 0x14], eax
jmp 0x1002fb48
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x12d0], 0xaf9eb11d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002fb37
push dword [ebp - 0x28]
lea ecx, [ebp - 0x308]
call fcn.10016cc2
push dword [ebp - 0x28]
lea ecx, [ebp - 0x308]
call fcn.10016cc2
push esi
lea ecx, [ebp - 0x308]
call fcn.10016cc2
push esi
lea ecx, [ebp - 0x308]
call fcn.10016cc2
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x9d0]
push esi
call fcn.10016cc2
mov eax, dword [ebp - 0x28]
push 3
pop ecx
mov dword [ebp - 0x12c8], eax
inc dword [ebp - 0x28]
push 0
pop eax
cmp dword [ebp - 0x28], ecx
jle 0x1002fb32
jmp 0x1002fca0
push 4
lea ecx, [ebp - 0x720]
call fcn.10016c36
xor eax, eax
mov byte [ebp - 4], 0xe
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x1002fbe2
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xfa0], 0x8f87
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1002fbca
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x1002fc0d
push dword [ebp - 0x28]
lea ecx, [ebp - 0x720]
call fcn.10016cc2
mov dword [eax], 0xe497d6a5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x1002fbeb
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jg 0x1002fc84
xor ecx, ecx
mov dword [ebp - 0x40], 0x57718da9
mov eax, dword [ebp - 0xf9c]
mov eax, dword [ebp - 0xf9c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, esi
push esi
setne cl
xor eax, eax
cmp ecx, 0x16658069
setl al
cmp eax, 4
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x643d
setg cl
sub ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfbf2
lea ecx, [ebp - 0x720]
setle al
mov dword [ebp - 0x40], eax
call fcn.10016cc2
mov ecx, dword [ebp - 0x40]
push 3
mov dword [eax], ecx
inc dword [ebp - 0x30]
pop eax
cmp dword [ebp - 0x30], eax
jle 0x1002fc15
xor eax, eax
push eax
lea ecx, [ebp - 0x308]
call fcn.10016cc2
lea ecx, [ebp - 0x720]
cmp dword [eax], 0
jne 0x1002fcbe
call fcn.10016cbd
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0xc
call fcn.10016cbd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x19
jge 0x1002faa2
jmp 0x1002fcce
call fcn.10016cbd
lea ecx, [ebp - 0x308]
call fcn.10016cbd
lea ecx, [ebp - 0x9d0]
mov byte [ebp - 4], 0xb
call fcn.10016cbd
mov dword [ebp - 0x44], 0x8cc19583
push 7
mov dword [ebp - 0x2c], 0xb3f4f46d
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 8
jmp 0x1002fd8d
xor eax, eax
mov dword [ebp - 0x28], 0x4ee7d21
mov dword [ebp - 0x28], eax
jmp 0x1002fd81
or eax, 0xffffffff
mov dword [ebp - 0x44], ebx
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x6729
push 0xfffffffffffffffd
setg cl
pop eax
cmp eax, ecx
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setl dl
xor eax, eax
sub edx, dword [ebp - 0x28]
je 0x1002fd41
cmp dword [ebp - 0x2c], eax
je 0x1002fd41
mov eax, ebx
cmp eax, 0xcb5af9f7
sbb eax, eax
neg eax
cmp eax, 0xb166c193
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1a
jl 0x1002fd0b
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x39
jg 0x1002fcfd
movdqa xmm0, xmmword [0x10007e60]
lea eax, [ebp - 0x10ac]
push eax
lea eax, [ebp - 0x10bc]
push eax
lea ecx, [ebp - 0x135c]
movdqu xmmword [ebp - 0x10bc], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1c1]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1e0]
push dword [esi]
call fcn.10016c97
mov byte [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x1c], 0xfe6e3245
mov dword [ebp - 0x44], 0x8877e069
mov dword [ebp - 0x34], 0xb7e5
push 3
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jg 0x1002ff14
jmp 0x1002fe0c
xor eax, eax
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x40], 0xc5c935cb
mov dword [ebp - 0x44], ebx
push dword [ebp - 0x1c]
call fcn.10016cc2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.10016cc2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.10016cc2
xor ecx, ecx
cmp dword [eax], 0x7af9ca3e
setne cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x1e0]
push dword [ebp - 0x1c]
call fcn.10016cc2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.10016cc2
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x1e0]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x1c]
call fcn.10016cc2
xor ecx, ecx
cmp dword [eax], 0x6b99bf0b
sete cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x1e0]
push dword [ebp - 0x1c]
call fcn.10016cc2
mov ecx, dword [ebp - 0x40]
neg ecx
sbb ecx, ecx
neg ecx
cmp dword [eax], ecx
jle 0x1002febb
xor eax, eax
lea ecx, [ebp - 0x1e0]
push eax
call fcn.10016cc2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.10016cc2
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
mov esi, dword [ebp - 0x20]
dec esi
neg esi
sbb esi, esi
inc esi
sub esi, dword [ebp - 0x34]
push dword [ebp - 0x1c]
sub esi, 0xfffb
neg esi
sbb esi, esi
inc esi
call fcn.10016cc2
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp esi, ecx
push 3
setg dl
sub edx, dword [eax]
neg edx
pop eax
sbb edx, edx
inc edx
mov dword [ebp - 0x44], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1002fe0a
lea ecx, [ebp - 0x1e0]
mov byte [ebp - 4], 0xb
call fcn.10016cbd
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002ff41
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc58]
call fcn.10016cc2
mov dword [eax], 0x3413f087
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ff2a
push 3
pop ebx
mov dword [ebp - 0x4b0], 0x4ec2e0cf
lea ecx, [ebp - 0xb80]
mov dword [ebp - 0x28], 0xcf5720e8
push ebx
call fcn.10016c36
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x40], 0x752570e
mov dword [ebp - 0x14], eax
jmp 0x1002ff8f
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb80]
call fcn.10016cc2
mov dword [eax], 0x40552487
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ff78
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
mov ebx, dword [sym.imp.USER32.dll_GetDC]
jne 0x10030100
xor esi, esi
push 3
inc esi
pop eax
push eax
lea ecx, [ebp - 0x318]
call fcn.10016c36
mov byte [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x18], 0x8cb4c23a
mov dword [ebp - 0x44], esi
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002fffc
push dword [ebp - 0x14]
lea ecx, [ebp - 0x318]
call fcn.10016cc2
push 3
mov dword [eax], 0x1acc
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], eax
jl 0x1002ffdb
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jg 0x100300d6
push dword [ebp - 0x18]
lea ecx, [ebp - 0x318]
call fcn.10016cc2
mov eax, dword [eax]
add eax, 0x4c20
jne 0x10030023
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xb80]
push 2
pop eax
push eax
call fcn.10016cc2
mov ecx, 0xffff
push esi
mov dword [eax], ecx
lea ecx, [ebp - 0x318]
call fcn.10016cc2
push dword [ebp - 0x18]
xor ecx, ecx
cmp dword [eax], ecx
setne cl
lea esi, [ecx - 5]
neg esi
lea ecx, [ebp - 0x318]
sbb esi, esi
neg esi
call fcn.10016cc2
imul ecx, esi, 0x35da
xor edx, edx
cmp dword [eax], ecx
lea ecx, [ebp - 0x318]
sete dl
mov dword [ebp - 0x40], edx
push dword [ebp - 0x18]
call fcn.10016cc2
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x318]
push dword [ebp - 0x18]
sub esi, dword [eax]
neg esi
sbb esi, esi
inc esi
call fcn.10016cc2
mov ecx, dword [ebp - 0x28]
xor edx, edx
imul ecx, esi
cmp dword [eax], ecx
setne dl
xor eax, eax
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x100300c2
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
inc dword [ebp - 0x18]
push 2
pop eax
push 1
pop esi
cmp dword [ebp - 0x18], eax
jle 0x10030009
xor eax, eax
lea ecx, [ebp - 0x318]
cmp dword [ebp - 0x28], eax
jne 0x100300fb
mov byte [ebp - 4], 0x10
call fcn.10016cbd
inc dword [ebp - 0x28]
push 3
pop eax
cmp dword [ebp - 0x28], eax
je 0x1002ffb4
jmp 0x10030100
call fcn.10016cbd
lea ecx, [ebp - 0xb80]
mov byte [ebp - 4], 0xb
call fcn.10016cbd
xor eax, eax
cmp dword [ebp - 0x4b4], eax
je 0x1003073e
mov dword [ebp - 0x14], 0x5c96
or edx, 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x44], 0xfa6f63ee
push 2
mov dword [ebp - 0x28], eax
pop esi
cmp dword [ebp - 0x28], esi
jge 0x10030154
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x254], 0x8f8
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x1003013c
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x10030174
push 7
pop ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xdfc], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x10030162
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov dword [ebp - 0x18], eax
inc ebx
mov dword [ebp - 0x18], ebx
xor eax, eax
cmp dword [ebp - 0x18], eax
jl 0x100302b2
mov esi, 0x649d9592
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x40], 0xc214f163
mov dword [ebp - 0x6fc], esi
mov dword [ebp - 0x6f8], esi
mov dword [ebp - 0x6f4], esi
mov dword [ebp - 0x6f0], esi
mov dword [ebp - 0x40], ebx
cmp dword [ebp - 0x14], eax
jne 0x100301c9
cmp dword [ebp - 0x20], eax
je 0x100301cb
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x250]
mov edx, dword [ebp - 0x30]
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x254]
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x254]
cmp ecx, eax
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x254]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x254]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xdfc]
mov eax, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0xdfc]
sub eax, dword [ebp - 0x20]
cmp eax, 0xc84
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
neg edx
mov eax, dword [ebp + eax*4 - 0x254]
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x30], eax
jmp 0x1003029b
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030298
push 0x1f06
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x1003027f
dec dword [ebp - 0x18]
push 0
pop eax
push 0xffffffffffffffff
pop edx
jns 0x10030190
push 2
pop esi
mov dword [ebp - 0x2c], 0xc099
mov dword [ebp - 0x18], 0x53aa9ac7
mov dword [ebp - 0x28], 0xd811f07b
mov dword [ebp - 0x14], eax
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10030303
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp eax, ebx
setle cl
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
je 0x100302f8
cmp eax, dword [ebp - 0x18]
je 0x100302fd
mov eax, ebx
cmp eax, dword [ebp - 0x18]
jne 0x10030303
xor eax, eax
mov edx, eax
jmp 0x10030305
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
sub eax, ecx
cmp eax, 0x8905
jg 0x10030436
push 3
pop eax
push eax
lea ecx, [ebp - 0x408]
call fcn.10016c36
mov byte [ebp - 4], 0x12
or eax, 0xffffffff
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x44], ebx
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x10030368
push dword [ebp - 0x28]
lea ecx, [ebp - 0x408]
call fcn.10016cc2
or ecx, 0xffffffff
push 3
mov dword [eax], ecx
inc dword [ebp - 0x28]
pop ecx
cmp dword [ebp - 0x28], ecx
jl 0x10030348
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1003037a
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x12a0], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x1003036d
push esi
lea ecx, [ebp - 0x408]
call fcn.10016cc2
push ebx
lea ecx, [ebp - 0x408]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
call fcn.10016cc2
push ebx
lea ecx, [ebp - 0x408]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 0x14], 0x281c
sub eax, 0xa9d9e177
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
call fcn.10016cc2
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x408]
push 2
mov eax, dword [eax]
add esi, eax
pop eax
mov dword [ebp - 0x1298], esi
push eax
call fcn.10016cc2
mov edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
setle cl
xor eax, eax
cmp ecx, esi
setg al
xor ecx, ecx
inc ecx
xor ebx, ebx
cmp eax, ecx
push ecx
lea ecx, [ebp - 0x408]
setl bl
call fcn.10016cc2
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add edx, ebx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x408]
mov eax, dword [ebp - 0x28]
neg eax
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0xb
call fcn.10016cbd
xor ebx, ebx
inc ebx
jmp 0x100304b1
mov dword [ebp - 0x20], 0x91f199e1
xor edx, edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x44], 0x1846e972
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor eax, eax
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], eax
jne 0x10030463
cmp dword [ebp - 0x20], eax
je 0x1003046a
cmp dword [ebp - 0x14], eax
je 0x1003046a
mov eax, ebx
mov edx, dword [ebp - 0x18]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x28]
cmp edx, eax
setle cl
xor eax, eax
cmp dword [ebp - 0x20], ecx
jl 0x10030488
mov edx, ebx
cmp dword [ebp - 0x34], eax
jne 0x1003048a
mov edx, eax
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
setl cl
neg edx
sbb edx, edx
neg edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x18]
mov ecx, 0xffff
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x30], 0x4872
mov dword [ebp - 0x20], eax
or eax, 0xffffffff
mov dword [ebp - 0x14], 0xec79e672
mov dword [ebp - 0x18], 0xbf90a233
mov dword [ebp - 0x34], 0xadf1adb2
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0x81a82e77
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x44], 0x9e62
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
push 3
sbb eax, eax
xor edx, edx
inc eax
add eax, dword [ebp - 0x14]
cmp eax, 0x7071658a
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
cmp edx, eax
pop eax
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
inc dword [ebp - 0x24]
cmp eax, edx
jl 0x1003054d
mov edx, ebx
jmp 0x10030551
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
jle 0x10030571
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10030573
mov ecx, ebx
jmp 0x10030575
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x20]
movdqa xmm0, xmmword [0x10007e20]
imul eax, ecx
lea ecx, [ebp - 0x136c]
push 3
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
pop eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x121c]
push eax
movdqu xmmword [ebp - 0x121c], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1ac]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9e8]
push dword [esi]
call fcn.10016c97
mov byte [ebp - 4], 0x13
or eax, 0xffffffff
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x44], eax
push 2
mov dword [ebp - 0x3c], 0x19ad
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10030603
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x688], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100305f6
mov eax, dword [ebp - 0x20]
mov esi, ebx
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10030621
mov esi, eax
push 3
pop eax
push eax
lea ecx, [ebp - 0x9e8]
call fcn.10016cc2
mov ecx, 0x405b4019
mov dword [eax], ecx
mov eax, dword [ebp - 0x684]
sub esi, eax
cmp esi, ecx
jle 0x1003065b
push 3
pop eax
push eax
lea ecx, [ebp - 0x9e8]
call fcn.10016cc2
cmp dword [eax], 0
je 0x1003065b
mov edx, ebx
jmp 0x1003065f
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x684]
xor ecx, ecx
cmp edx, eax
sete cl
inc ecx
jne 0x10030679
xor eax, eax
cmp dword [ebp - 0x684], eax
je 0x1003067b
mov eax, ebx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x9e8]
mov byte [ebp - 4], 0xb
call fcn.10016cbd
xor eax, eax
cmp dword [ebp - 0x4b0], eax
jne 0x10030711
mov eax, dword [ebp - 0x48]
sub eax, 0x2b82
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
je 0x100306b7
xor eax, eax
cmp dword [ebp - 0x4b0], eax
je 0x100306b9
mov esi, ebx
jmp 0x100306bb
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0xc58]
call fcn.10016cc2
mov ecx, dword [ebp - 0x30]
xor edx, edx
cmp esi, ecx
setg dl
xor ebx, ebx
sub edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x48]
cmp edx, dword [eax]
mov eax, dword [ebp - 0x30]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x48]
je 0x100306fb
cmp dword [ebp - 0x30], eax
je 0x100306fb
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x10030700
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x4b0]
imul eax, ecx
test eax, eax
jne 0x10030711
mov edx, eax
jmp 0x10030713
mov edx, ebx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x4b0]
setne cl
imul ecx, eax
mov eax, dword [ebp - 0x2c]
imul eax, ecx
sub eax, 0x7eb23672
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
jmp 0x10030988
or ecx, 0xffffffff
xor esi, esi
mov dword [ebp - 0x1c], ecx
inc esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], 0xe12b6a36
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x34], 5
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10030788
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x738], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030770
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1003087a
push 2
pop eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x7a4]
push esi
call fcn.10016c36
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x14], eax
jmp 0x100307c5
push dword [ebp - 0x14]
call fcn.10016cc2
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x7a4]
cmp dword [ebp - 0x14], esi
jl 0x100307b4
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
imul esi, eax, 0x5bc4
xor eax, eax
push eax
call fcn.10016cc2
xor edx, edx
mov dword [eax], esi
xor eax, eax
inc eax
cmp esi, eax
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
sub edx, 0x5764
cmp eax, edx
setg cl
imul ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x10030816
xor eax, eax
lea ecx, [ebp - 0x7a4]
push eax
call fcn.10016cc2
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10030859
push eax
push 0x2438
push 0x1547
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
lea ecx, [ebp - 0x7a4]
mov byte [ebp - 4], 0xb
call fcn.10016cbd
inc dword [ebp - 0x1c]
push 3
pop eax
push 1
pop esi
cmp dword [ebp - 0x1c], eax
jle 0x10030794
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x738]
dec dword [ebp - 0x738]
sub ecx, eax
je 0x100308cc
xor eax, eax
cmp dword [ebp - 0x738], eax
je 0x100308ce
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x100308d1
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
sub eax, 0x9458d81c
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x40]
sub edx, eax
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
xor eax, eax
imul ecx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x40], 0x1bd77dfc
mov dword [ebp - 0x24], 0xa4f833fc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030932
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xde0], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003091a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x1003097e
or ecx, 0xffffffff
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x10030976
mov dword [ebp - 0x20], 0x8708ef6b
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jl 0x1003096e
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030969
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
xor eax, eax
dec dword [ebp - 0x20]
jns 0x10030957
dec dword [ebp - 0x14]
jns 0x10030948
or ecx, 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x1003093d
mov dword [ebp - 0x24], 0xd29729cf
inc dword [ebp - 0x40]
or esi, 0xffffffff
lea ecx, [ebp - 0xc58]
mov dword [ebp - 4], esi
call fcn.10016cbd
mov dword [ebp - 0x1c], 0x60477862
lea ecx, [ebp - 0xa00]
mov dword [ebp - 0x24], 0xfbfc75da
push ebx
call fcn.10016c36
xor eax, eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100309de
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa00]
call fcn.10016cc2
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100309c4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffe3
jge 0x10030b3e
push ebx
lea ecx, [ebp - 0x260]
call fcn.10016c36
mov byte [ebp - 4], 0x16
push 7
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x40], 0xdbf4df7b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030a31
push dword [ebp - 0x14]
lea ecx, [ebp - 0x260]
call fcn.10016cc2
mov ecx, 0xffff
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030a12
xor eax, eax
push eax
lea ecx, [ebp - 0x260]
call fcn.10016cc2
xor eax, eax
lea ecx, [ebp - 0x260]
push eax
call fcn.10016cc2
cmp dword [eax], 0
jne 0x10030a82
xor eax, eax
lea ecx, [ebp - 0x260]
push eax
call fcn.10016cc2
cmp dword [eax], 0
je 0x10030a6e
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030a70
mov ecx, ebx
jmp 0x10030a72
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x44], eax
jne 0x10030a82
xor eax, eax
mov edi, eax
jmp 0x10030a86
mov edi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x260]
call fcn.10016cc2
mov esi, eax
lea ecx, [ebp - 0x260]
xor eax, eax
push eax
call fcn.10016cc2
xor ebx, ebx
lea ecx, [edi + 0x410320ef]
cmp ecx, 0xc1df
lea ecx, [ebp - 0x260]
setle bl
imul ebx, dword [esi]
imul ebx, dword [eax]
xor eax, eax
push eax
call fcn.10016cc2
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
neg ecx
jne 0x10030aea
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x10030aea
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x10030aef
xor ebx, ebx
inc ebx
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
cmp dword [ebp - 0x1c], ecx
je 0x10030b15
xor eax, eax
lea ecx, [ebp - 0x260]
push eax
call fcn.10016cc2
cmp dword [eax], 0
je 0x10030b15
mov eax, ebx
jmp 0x10030b17
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x15
call fcn.10016cbd
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe3
jl 0x100309eb
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10030b64
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setle dl
xor eax, eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], eax
jg 0x10030b66
mov esi, eax
jmp 0x10030b68
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0xa00]
call fcn.10016cc2
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xa00]
setle dl
or esi, 0xffffffff
mov dword [eax], edx
mov dword [ebp - 4], esi
call fcn.10016cbd
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x17473468
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10030bc3
mov ecx, 0xffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8fc], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10030bae
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10030bce
mov eax, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x8f0]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
je 0x10030c07
mov dword [ebp - 0x44], 0x1a652065
mov dword [ebp - 0x44], esi
jmp 0x10030d05
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x914], esi
mov dword [ebp - 0x910], esi
mov dword [ebp - 0x90c], esi
mov dword [ebp - 0x908], esi
push 6
pop ecx
mov dword [ebp - 0xd94], ecx
mov dword [ebp - 0xd90], ecx
mov dword [ebp - 0xd8c], ecx
mov dword [ebp - 0xd88], ecx
cmp dword [ebp - 0x1c], eax
jne 0x10030c85
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x914], eax
mov dword [ebp - 0x1c], 0xfffffffa
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x8f0]
jne 0x10030c68
cmp dword [ebp - 0x1c], eax
je 0x10030c6a
mov eax, ebx
mov dword [ebp - 0xd8c], eax
mov eax, dword [ebp - 0x8f0]
imul eax, dword [ebp - 0x20], 0x688d
test eax, eax
jne 0x10030c85
mov ecx, eax
jmp 0x10030c87
mov ecx, ebx
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, 0xad47
jne 0x10030cfa
push 9
mov dword [ebp - 0x1c], 0x15
pop eax
cmp dword [ebp - 0x1c], eax
jl 0x10030ce3
push 3
pop esi
push 9
xor eax, eax
pop ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jg 0x10030cd8
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030ccd
push eax
push 0x2299
call edi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10030cb3
push 9
pop ecx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jge 0x10030cab
or esi, 0xffffffff
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10030d03
push 0xfa4
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x10030d03
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x9ff60657
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030d22
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030d46
push eax
push 0x2200
push 0xca4
push 0x1643
push 0x1372
call dword [sym.imp.GDI32.dll_CreateBitmap]
push 3
pop eax
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0xb98]
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x30], eax
push 4
call fcn.10016c36
xor eax, eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x10030d94
push dword [ebp - 0x28]
lea ecx, [ebp - 0xb98]
call fcn.10016cc2
mov dword [eax], 2
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x10030d75
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x10030db3
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x14fc], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x10030d9f
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10030dd0
push 0x2415
push 0x11e9
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
mov eax, dword [ebp - 0x24]
mov ecx, 0xa0d018d3
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x24]
push 2
sub eax, 0x3572
cmp ecx, eax
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x84e5
lea ecx, [ebp - 0xb98]
setne al
lea esi, [eax + 0xb81e]
pop eax
push eax
call fcn.10016cc2
mov dword [eax], esi
xor eax, eax
test esi, esi
jne 0x10030f10
cmp dword [ebp - 0x30], eax
jne 0x10030f10
movdqa xmm0, xmmword [0x10007e40]
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10dc]
push eax
lea ecx, [ebp - 0x13ec]
movdqu xmmword [ebp - 0x10dc], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1e1]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1300]
push dword [esi]
call fcn.10016c97
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0x73e70d28
mov dword [ebp - 0x30], eax
jmp 0x10030efd
push 3
pop eax
push eax
lea ecx, [ebp - 0x1060]
call fcn.10016c36
mov byte [ebp - 4], 0x19
mov eax, 0x43657218
mov dword [ebp - 0x3c], 0xe072305a
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030ee0
push dword [ebp - 0x14]
call fcn.10016cc2
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x14]
push 3
pop eax
lea ecx, [ebp - 0x1060]
cmp dword [ebp - 0x14], eax
jl 0x10030ecf
dec dword [ebp - 0x40]
mov byte [ebp - 4], 0x18
call fcn.10016cbd
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffffc
jl 0x10030e9d
lea ecx, [ebp - 0x1300]
call fcn.10016cbd
jmp 0x10030f31
mov dword [ebp - 0x14], eax
jmp 0x10030f26
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x35c], 0x6992f1e5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030f15
inc dword [ebp - 0x35c]
or esi, 0xffffffff
lea ecx, [ebp - 0xb98]
mov dword [ebp - 4], esi
call fcn.10016cbd
push ebx
lea ecx, [ebp - 0x7bc]
call fcn.10016c36
mov dword [ebp - 4], 0x1a
xor eax, eax
mov dword [ebp - 0x44], 0xf5ac3d6c
mov dword [ebp - 0x3c], ebx
push 2
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x10030f84
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x178], 6
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x10030f6c
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10030f97
push dword [ebp - 0x28]
call fcn.10016cc2
and dword [eax], 0
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x7bc]
cmp dword [ebp - 0x28], ebx
jl 0x10030f89
mov eax, dword [ebp - 0x174]
xor eax, eax
push eax
call fcn.10016cc2
mov ecx, dword [ebp - 0x174]
mov dword [eax], ecx
lea ecx, [ebp - 0x7bc]
mov eax, dword [ebp - 0x174]
xor eax, eax
push eax
call fcn.10016cc2
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x174]
xor eax, eax
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x10031004
push eax
push 0x470
push eax
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
lea ecx, [ebp - 0x7bc]
mov dword [ebp - 4], esi
call fcn.10016cbd
mov dword [ebp - 0x30], 0x24ec2e0c
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], 0xd
jne 0x10031049
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031040
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xd
je 0x10031024
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xa18]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 0x60477862
mov dword [ebp - 0x24], 0xfbfc75da
push ebx
call fcn.10016c36
xor eax, eax
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10031094
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa18]
call fcn.10016cc2
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003107a
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffe3
jge 0x100311ee
push ebx
lea ecx, [ebp - 0x29c]
call fcn.10016c36
mov byte [ebp - 4], 0x1c
push 7
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x40], 0xdbf4df7b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100310e7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x29c]
call fcn.10016cc2
mov ecx, 0xffff
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100310c8
xor eax, eax
push eax
lea ecx, [ebp - 0x29c]
call fcn.10016cc2
xor eax, eax
lea ecx, [ebp - 0x29c]
push eax
call fcn.10016cc2
cmp dword [eax], 0
jne 0x10031138
xor eax, eax
lea ecx, [ebp - 0x29c]
push eax
call fcn.10016cc2
cmp dword [eax], 0
je 0x10031124
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10031126
mov ecx, ebx
jmp 0x10031128
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov dword [ebp - 0x44], eax
jne 0x10031138
xor eax, eax
mov edi, eax
jmp 0x1003113c
mov edi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x29c]
call fcn.10016cc2
mov esi, eax
lea ecx, [ebp - 0x29c]
xor eax, eax
push eax
call fcn.10016cc2
xor ebx, ebx
lea ecx, [edi + 0x410320ef]
cmp ecx, 0xc1df
lea ecx, [ebp - 0x29c]
setle bl
imul ebx, dword [esi]
imul ebx, dword [eax]
xor eax, eax
push eax
call fcn.10016cc2
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
neg ecx
jne 0x100311a0
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x100311a0
xor ebx, ebx
mov edx, eax
inc ebx
jmp 0x100311a5
xor ebx, ebx
inc ebx
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setne cl
cmp dword [ebp - 0x1c], ecx
je 0x100311cb
xor eax, eax
lea ecx, [ebp - 0x29c]
push eax
call fcn.10016cc2
cmp dword [eax], 0
je 0x100311cb
mov eax, ebx
jmp 0x100311cd
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x1b
call fcn.10016cbd
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe3
jl 0x100310a1
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10031214
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setle dl
xor eax, eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], eax
jg 0x10031216
mov esi, eax
jmp 0x10031218
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0xa18]
call fcn.10016cc2
mov ecx, dword [ebp - 0x1c]
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0xa18]
setle dl
or esi, 0xffffffff
mov dword [eax], edx
mov dword [ebp - 4], esi
call fcn.10016cbd
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x17473468
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10031273
mov ecx, 0xffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x934], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003125e
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1003127e
mov eax, dword [ebp - 0x928]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x928]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], eax
je 0x100312b7
mov dword [ebp - 0x44], 0x1a652065
mov dword [ebp - 0x44], esi
jmp 0x100313ae
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x94c], esi
mov dword [ebp - 0x948], esi
mov dword [ebp - 0x944], esi
mov dword [ebp - 0x940], esi
push 6
pop ecx
mov dword [ebp - 0xd74], ecx
mov dword [ebp - 0xd70], ecx
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xd68], ecx
cmp dword [ebp - 0x1c], eax
jne 0x10031335
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x94c], eax
mov dword [ebp - 0x1c], 0xfffffffa
mov eax, dword [ebp - 0x928]
add eax, dword [ebp - 0x1c]
jne 0x10031318
cmp dword [ebp - 0x1c], eax
je 0x1003131a
mov eax, ebx
mov dword [ebp - 0xd6c], eax
mov eax, dword [ebp - 0x928]
imul eax, dword [ebp - 0x20], 0x688d
test eax, eax
jne 0x10031335
mov ecx, eax
jmp 0x10031337
mov ecx, ebx
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, 0xad47
jne 0x100313a5
push 9
mov dword [ebp - 0x1c], 0x15
pop edi
cmp dword [ebp - 0x1c], edi
jl 0x1003138e
push 3
xor eax, eax
pop esi
mov dword [ebp - 0x28], eax
jmp 0x1003137e
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003137b
push eax
push 0x2299
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x1003135d
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jge 0x10031358
or esi, 0xffffffff
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x100313ae
push 0xfa4
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x100313ae
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0x1c], eax
push 3
pop eax
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0xe0c]
mov dword [ebp - 0x3c], ebx
push eax
call fcn.10016c36
mov dword [ebp - 4], 0x1d
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0xa6ca0cec
push 3
mov dword [ebp - 0x14], eax
pop edi
cmp dword [ebp - 0x14], edi
jge 0x10031401
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe0c]
call fcn.10016cc2
push 3
mov dword [eax], esi
inc dword [ebp - 0x14]
pop eax
cmp dword [ebp - 0x14], eax
jl 0x100313e1
push 3
xor eax, eax
pop edi
mov dword [ebp - 0x24], eax
jmp 0x100314be
push 2
pop esi
mov dword [ebp - 0x44], 0x1510afbd
lea ecx, [ebp - 0xd18]
push esi
call fcn.10016c36
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x3c], 0x58c458a9
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10031452
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd18]
call fcn.10016cc2
mov dword [eax], 0xeb8e136d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10031434
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031465
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov esi, dword [ebp - 0x40]
cmp eax, ebx
setle cl
xor eax, eax
add esi, ecx
lea ecx, [ebp - 0xd18]
push eax
call fcn.10016cc2
mov dword [eax], esi
xor eax, eax
cmp esi, 0xa907
sete al
xor ecx, ecx
cmp eax, edi
setle cl
xor edx, edx
cmp ecx, 0xfffffffb
lea ecx, [ebp - 0xd18]
setle dl
xor eax, eax
cmp edx, 0xf1bf
setne al
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x1d
call fcn.10016cbd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x19
jle 0x10031409
or esi, 0xffffffff
lea ecx, [ebp - 0xe0c]
mov dword [ebp - 4], esi
call fcn.10016cbd
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov dword [ebp - 0x3c], 0x9ff60657
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], al
je 0x100314fd
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
xor eax, eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031521
push eax
push 0x2200
push 0xca4
push 0x1643
push 0x1372
call dword [sym.imp.GDI32.dll_CreateBitmap]
mov dword [ebp - 0x2c], 0x48bbca63
mov eax, 0xb9ae
mov dword [ebp - 0xdb4], eax
mov dword [ebp - 0xdb0], eax
mov dword [ebp - 0xdac], eax
mov dword [ebp - 0xda8], eax
mov dword [ebp - 0x24], 0x27e80a7c
mov dword [ebp - 0x2c], 0x1a
cmp dword [ebp - 0x2c], esi
jle 0x1003169d
push 3
pop ecx
mov dword [ebp - 0x30], 0xdc4b4e12
mov dword [ebp - 0x30], 0x17
cmp dword [ebp - 0x30], 0x10
jg 0x1003165a
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff6
mov dword [ebp - 0x1c], eax
jmp 0x100315de
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x1003159d
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
push 3
xor eax, eax
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x100315d6
mov dword [ebp - 0x14], 0x8a527335
mov dword [ebp - 0x14], eax
jmp 0x100315ce
cmp dword [ebp - 0x18], ecx
jle 0x100315a2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x10031585
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff2
jg 0x1003164d
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xdb0]
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
setle dl
add eax, edx
add ecx, eax
mov eax, dword [ebp - 0x20]
push 7
pop edx
sub eax, edx
neg eax
push 0
sbb eax, eax
inc eax
imul ecx, eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], ebx
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
pop eax
jle 0x100315ec
push 3
pop ecx
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x10
jle 0x10031579
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1003168c
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x10031689
push 0x1333
push 0x2611
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
push 3
xor eax, eax
pop ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x10031661
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jg 0x1003155f
push 4
lea ecx, [ebp - 0x750]
call fcn.10016c36
push 2
mov dword [ebp - 4], 0x1f
pop eax
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x100316e1
push dword [ebp - 0x14]
lea ecx, [ebp - 0x750]
call fcn.10016cc2
mov dword [eax], 0x28c176b0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100316c2
xor eax, eax
mov dword [ebp - 0x30], eax
push 3
pop eax
cmp dword [ebp - 0x30], eax
jg 0x1003171c
push dword [ebp - 0x30]
lea ecx, [ebp - 0x750]
call fcn.10016cc2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x750]
mov esi, eax
call fcn.10016cc2
mov ecx, dword [esi]
push 3
mov dword [eax], ecx
inc dword [ebp - 0x30]
pop eax
cmp dword [ebp - 0x30], eax
jle 0x100316ec
or esi, 0xffffffff
lea ecx, [ebp - 0x750]
mov dword [ebp - 4], esi
call fcn.10016cbd
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x7d4]
mov dword [ebp - 0x48], 0x387fb0b0
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], 0x2d50c857
mov dword [ebp - 0x18], 0x2646899d
push ebx
call fcn.10016c36
lea eax, [ebp - 0x118c]
mov dword [ebp - 4], 0x20
movdqa xmm0, xmmword [0x10007e70]
lea ecx, [ebp - 0x138c]
push eax
lea eax, [ebp - 0x119c]
mov dword [ebp - 0x30], 0xe4a5
push eax
movdqu xmmword [ebp - 0x119c], xmm0
call fcn.10016cd1
lea ecx, [ebp - 0x1a2]
mov esi, eax
call fcn.100091a3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xfb8]
push dword [esi]
call fcn.10016c97
push 7
mov byte [ebp - 4], 0x21
pop eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x100317d8
or ecx, 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1b4], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x100317c4
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100317f3
push dword [ebp - 0x28]
lea ecx, [ebp - 0x7d4]
call fcn.10016cc2
push 9
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x100317dd
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
cmp ecx, 0xfffffff8
jbe 0x1003181c