Function at 0x1002fba0
Capabilities:
Compare security identifiers
Create directory
Create process on windows
Get common file path
Get file attributes
Get file size
Get file system object information
Identify system language via api
Parse pe header
Query or enumerate registry key
Query service status
Read .ini file

Disassembly:
mov eax, 0x10082312
call fcn.10080db0
mov eax, 0x177c
call fcn.1007d560
xor eax, eax
mov byte [ebp - 0x75], dl
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x18], 0x9310c13f
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x3c], 0x7d757520
mov dword [ebp - 0x50], 0xe17c927d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x64], ecx
neg eax
push ebx
sbb eax, eax
mov ebx, 0x3e5c
inc eax
xor edx, edx
cmp eax, 1
mov dword [ebp - 0x260], eax
push esi
setg dl
mov esi, 0xe46c2e7c
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
push edi
mov edi, dword [sym.imp.USER32.dll_UnionRect]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
push 3
setg cl
cmp ecx, esi
pop ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x1002fdbc
mov dword [ebp - 0x5c], 6
xor ecx, ecx
mov dword [ebp - 0x2c], 0xafd77ccc
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x26c]
test eax, eax
mov eax, dword [ebp - 0x28]
setne cl
mov edx, dword [ebp + eax*4 - 0x26c]
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x26c]
cmp eax, 0x66e9
mov eax, dword [ebp - 0x5c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x260]
setne dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
sub edx, eax
xor eax, eax
cmp edx, 2
jne 0x1002fcd8
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002fd48
push eax
push eax
push 0x1cc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1002fd48
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x54], 0xc75b167d
cmp dword [ebp - 0x264], eax
jne 0x1002fd37
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x26c], 0
jne 0x1002fd05
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x1002fd05
mov ecx, eax
jmp 0x1002fd0a
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x48]
imul eax, ecx
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002fd26
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002fd48
push eax
push eax
push eax
call edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x26c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
test eax, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
sets cl
sub edx, ecx
sub edx, dword [ebp + eax*4 - 0x26c]
mov eax, dword [ebp - 0x26c]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jg 0x1002fda4
xor eax, eax
push 3
mov dword [ebp - 0x50], eax
pop ecx
jmp 0x1002fd9d
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x26c], 0
jne 0x1002fdae
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ecx
jle 0x1002fd8d
jmp 0x1002fdae
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1002fdba
push 3
pop ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x1002fc4c
xor eax, eax
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov dword [ebp - 0x25c], eax
inc ecx
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x18], 0x9310c13f
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x3c], 0x7d757520
mov dword [ebp - 0x50], 0xe17c927d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
push 3
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
mov dword [ebp - 0x250], eax
setg dl
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, esi
pop ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jg 0x1002ffa7
mov dword [ebp - 0x5c], 6
xor ecx, ecx
mov dword [ebp - 0x2c], 0xafd77ccc
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x25c]
test eax, eax
mov eax, dword [ebp - 0x28]
setne cl
mov edx, dword [ebp + eax*4 - 0x25c]
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x25c]
cmp eax, 0x66e9
mov eax, dword [ebp - 0x5c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x250]
setne dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
sub edx, eax
xor eax, eax
cmp edx, 2
jne 0x1002fec3
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002ff33
push eax
push eax
push 0x1cc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1002ff33
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x54], 0xc75b167d
cmp dword [ebp - 0x254], eax
jne 0x1002ff22
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x25c], 0
jne 0x1002fef0
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x1002fef0
mov ecx, eax
jmp 0x1002fef5
xor eax, eax
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x48]
imul eax, ecx
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1002ff11
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002ff33
push eax
push eax
push eax
call edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x25c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
test eax, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
sets cl
sub edx, ecx
sub edx, dword [ebp + eax*4 - 0x25c]
mov eax, dword [ebp - 0x25c]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jg 0x1002ff8f
xor eax, eax
push 3
mov dword [ebp - 0x50], eax
pop ecx
jmp 0x1002ff88
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x25c], 0
jne 0x1002ff99
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ecx
jle 0x1002ff78
jmp 0x1002ff99
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1002ffa5
push 3
pop ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x1002fe37
xor eax, eax
mov dword [ebp - 0x20], 0xc75b57fd
or ecx, 0xffffffff
push 8
pop ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], 0xfffa
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], 0xfffffff0
jle 0x100301f1
xor edi, edi
inc edi
jmp 0x1002ffd9
xor eax, eax
mov dword [ebp - 0x14], 0xbd7b1c2a
mov dword [ebp - 0x34], 0x9df9481f
mov dword [ebp - 0x14], 0xffffffea
cmp dword [ebp - 0x14], edi
jne 0x100301d0
jmp 0x1002fffb
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030011
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa4], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10030000
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0xa4]
setl dl
add esi, edx
xor ecx, ecx
imul esi, eax
mov eax, dword [ebp - 0xa4]
cmp eax, esi
mov eax, dword [ebp - 0x14]
setg cl
add eax, ecx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jl 0x100301c4
push 3
pop ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030089
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd88], 0xf0d602ff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030071
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jg 0x100301bb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x100300b7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b0], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003009e
xor eax, eax
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], eax
jl 0x100301ac
mov dword [ebp - 0x1c], 0xe65c3421
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x100300f4
push eax
push eax
push 0x1ee7
push 0x574
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x100301a0
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xa4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2b0]
xor eax, eax
cmp dword [ebp - 0x2b0], eax
je 0x10030131
mov ecx, edi
cmp dword [ebp - 0x34], eax
jne 0x10030133
mov ecx, eax
mov eax, dword [ebp - 0xa4]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xa4]
cmp eax, ecx
mov eax, dword [ebp - 0xa4]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xd88]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setne dl
mov ecx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0x20]
add eax, edx
xor edx, edx
cmp eax, ecx
setg dl
or eax, 0xffffffff
add edx, dword [ebp - 0xd88]
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne bl
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x1c]
jns 0x10030100
xor eax, eax
dec dword [ebp - 0x2b0]
jns 0x100300c9
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10030095
push 3
pop ecx
dec dword [ebp - 0x44]
jns 0x10030066
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
je 0x1002fff9
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff0
jg 0x1002ffd7
mov edi, dword [sym.imp.USER32.dll_UnionRect]
mov esi, 0xe46c2e7c
push 8
or ecx, 0xffffffff
pop ebx
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1c], 0x91a049fe
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1003022d
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x1c], eax
jmp 0x1003023b
mov dword [ebp - 0x2c], ebx
inc dword [ebp - 0x2c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x10030232
mov dword [ebp - 0x18], 0x9310c13f
mov dword [ebp - 0x20], ecx
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1003026e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf98], 0x74006310
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030256
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
jmp 0x10030283
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x178], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030276
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfff7
mov eax, dword [ebp - 0x20]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x20]
jne 0x100302ad
cmp dword [ebp - 0x20], eax
je 0x100302ad
mov eax, ebx
mov dword [ebp - 0xf98], eax
mov dword [ebp - 0x20], 0xffffffee
cmp dword [ebp - 0x20], 0x17
je 0x100303cc
or edi, 0xffffffff
mov dword [ebp - 0x24], 0x1fc65786
lea ecx, [ebp - 0xda0]
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xd96711db
mov dword [ebp - 0x2c], 4
push 2
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], 0x87c2657a
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10030325
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x16c8], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003030d
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030341
push dword [ebp - 0x14]
lea ecx, [ebp - 0xda0]
call fcn.10017cfb
mov dword [eax], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003032a
mov ecx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x178]
cmp ecx, eax
jg 0x1003035e
mov ecx, ebx
jmp 0x10030362
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
xor ecx, ecx
cmp eax, 0x6f9b6917
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x10030385
cmp dword [ebp - 0x178], eax
je 0x10030385
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
neg ecx
sub ecx, 0x1c1d99ea
neg ecx
sbb ecx, ecx
xor eax, eax
add ecx, 2
cmp ecx, 0xfffffffa
lea ecx, [ebp - 0xda0]
setge al
mov dword [ebp - 0xf98], eax
inc dword [ebp - 0x3c]
mov dword [ebp - 4], edi
call fcn.10017cdf
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x17
jne 0x100302c7
mov edi, dword [sym.imp.USER32.dll_UnionRect]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x3c], 0x7d757520
mov dword [ebp - 0x50], 0xe17c927d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
dec eax
neg eax
push 3
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ebx
mov dword [ebp - 0x204], eax
setg dl
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, esi
pop esi
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jg 0x1003058b
mov dword [ebp - 0x5c], 6
xor ecx, ecx
mov dword [ebp - 0x2c], 0xafd77ccc
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x210]
test eax, eax
mov eax, dword [ebp - 0x28]
setne cl
mov edx, dword [ebp + eax*4 - 0x210]
mov eax, dword [ebp - 0x18]
add eax, ecx
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x5c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x210]
cmp eax, 0x66e9
mov eax, dword [ebp - 0x5c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x204]
setne dl
sub edx, eax
mov eax, dword [ebp - 0x2c]
sub edx, eax
xor eax, eax
cmp edx, 2
jne 0x100304ae
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1003051d
push eax
push eax
push 0x1cc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1003051d
mov dword [ebp - 0x3c], 0x3e5c
mov dword [ebp - 0x54], 0xc75b167d
cmp dword [ebp - 0x208], eax
jne 0x1003050c
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x210], 0
jne 0x100304dd
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x100304df
mov ecx, ebx
mov eax, dword [ebp - 0x48]
imul eax, ecx
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x100304fb
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1003051d
push eax
push eax
push eax
call edi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x210]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
test eax, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
sets cl
sub edx, ecx
sub edx, dword [ebp + eax*4 - 0x210]
mov eax, dword [ebp - 0x210]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jg 0x10030576
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x1003056f
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x210], 0
jne 0x1003057d
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], esi
jle 0x1003055f
jmp 0x1003057d
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10030589
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10030422
xor eax, eax
mov dword [ebp - 0x38], 0x24a8c6a5
mov dword [ebp - 0x38], eax
jmp 0x100305df
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100305b6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x384], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100305a2
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jg 0x100305dc
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp + eax*4 - 0x384]
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax*4 - 0x384], ecx
xor eax, eax
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
jle 0x100305be
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x17
je 0x10030597
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10030600
push eax
push 0x26c1
push 0x1e96
push eax
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
push 2
pop eax
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x8fc]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xc1da7bc9
push eax
call fcn.10017c5d
lea eax, [ebp - 0x13ac]
mov dword [ebp - 4], ebx
movdqa xmm0, xmmword [0x10007b90]
lea ecx, [ebp - 0x1584]
push eax
lea eax, [ebp - 0x13bc]
mov dword [ebp - 0x3c], 0xfffffff6
push eax
movdqu xmmword [ebp - 0x13bc], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x24b]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xb2c]
push dword [esi]
call fcn.10017cb9
xor eax, eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
push 0xfffffffffffffff7
pop esi
jge 0x100306a0
push dword [ebp - 0x14]
lea ecx, [ebp - 0x8fc]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10030685
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x100306b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1f4], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100306a5
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
push ebx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x8fc]
call fcn.10017cfb
mov edx, dword [ebp - 0x2c]
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor eax, eax
cmp edx, ecx
mov edx, dword [ebp - 0x20]
setge al
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor eax, eax
mov dword [esi], ecx
or esi, 0xffffffff
mov dword [ebp - 0x1f4], 0x7110e6b6
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xb2c]
cmp dword [ebp - 0x20], ebx
jg 0x1003080b
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x48], 0x3428
mov dword [ebp - 0x5c], 0x2b72
push ebx
call fcn.10017cfb
push ebx
lea ecx, [ebp - 0x8fc]
dec dword [eax]
mov dword [ebp - 0x48], 0x6bae
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1f4]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1f4]
call fcn.10017cfb
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1f4]
cmp eax, ebx
mov eax, dword [ebp - 0x20]
setge cl
cmp ecx, dword [ebp + eax*4 - 0x1f4]
jg 0x100307c7
push ebx
lea ecx, [ebp - 0xb2c]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x100307ca
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov ecx, ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1f4]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x5c]
neg edx
sbb edx, edx
xor eax, eax
inc edx
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x10030803
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
inc dword [ebp - 0x20]
jmp 0x10030725
call fcn.10017cdf
lea ecx, [ebp - 0x8fc]
mov dword [ebp - 4], esi
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030842
push 8
pop edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x110], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003082e
xor eax, eax
mov dword [ebp - 0x110], 0xfffffff9
jmp 0x10030866
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10030860
push eax
call dword [sym.imp.USER32.dll_GetMenuItemCount]
xor eax, eax
dec dword [ebp - 0x110]
cmp dword [ebp - 0x110], 0xffffffe7
je 0x1003084e
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x28], 0xc75b57fd
push 8
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x30], 0xfffa
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], 0xfffffff0
jle 0x10030ac3
xor edi, edi
inc edi
mov dword [ebp - 0x14], 0xbd7b1c2a
mov dword [ebp - 0x34], 0x9df9481f
mov dword [ebp - 0x14], 0xffffffea
jmp 0x10030a9b
mov dword [ebp - 0x1c], eax
jmp 0x100308e2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb0], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100308d1
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0xb0]
setl dl
add esi, edx
xor ecx, ecx
imul esi, eax
mov eax, dword [ebp - 0xb0]
cmp eax, esi
mov eax, dword [ebp - 0x14]
setg cl
add eax, ecx
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jl 0x10030a95
push 3
pop ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1003095a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd18], 0xf0d602ff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030942
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jg 0x10030a8c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10030988
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2b8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003096f
xor eax, eax
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], eax
jl 0x10030a7d
mov dword [ebp - 0x1c], 0xe65c3421
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x100309c5
push eax
push eax
push 0x1ee7
push 0x574
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x10030a71
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xb0]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2b8]
xor eax, eax
cmp dword [ebp - 0x2b8], eax
je 0x10030a02
mov ecx, edi
cmp dword [ebp - 0x34], eax
jne 0x10030a04
mov ecx, eax
mov eax, dword [ebp - 0xb0]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0xb0]
cmp eax, ecx
mov eax, dword [ebp - 0xb0]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xd18]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setne dl
mov ecx, dword [ebp + eax*4 - 0xb0]
mov eax, dword [ebp - 0x28]
add eax, edx
xor edx, edx
cmp eax, ecx
setg dl
or eax, 0xffffffff
add edx, dword [ebp - 0xd18]
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne bl
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x1c]
jns 0x100309d1
xor eax, eax
dec dword [ebp - 0x2b8]
jns 0x1003099a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x10030966
push 3
pop ecx
dec dword [ebp - 0x44]
jns 0x10030937
inc dword [ebp - 0x14]
push 0
pop eax
cmp dword [ebp - 0x14], edi
je 0x100308cc
mov eax, dword [ebp - 0x44]
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff0
push 0
pop eax
jg 0x100308b2
mov edi, dword [sym.imp.USER32.dll_UnionRect]
xor ebx, ebx
inc ebx
or esi, 0xffffffff
mov dword [ebp - 0x48], 0x9310c13f
mov dword [ebp - 0x1c], 0x91a049fe
mov dword [ebp - 0x30], esi
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x10030ae7
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff6
je 0x10030b02
push 8
pop ecx
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x2c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x10030af3
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x28], esi
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x10030b2b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10f8], 0x74006310
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030b13
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030b3d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x174], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030b30
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfff7
mov eax, dword [ebp - 0x28]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x28]
jne 0x10030b67
cmp dword [ebp - 0x28], eax
je 0x10030b67
mov eax, ebx
mov dword [ebp - 0x10f8], eax
mov dword [ebp - 0x28], 0xffffffee
cmp dword [ebp - 0x28], 0x17
je 0x10030c83
or edi, 0xffffffff
mov dword [ebp - 0x24], 0x1fc65786
lea ecx, [ebp - 0xdb8]
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xd96711db
mov dword [ebp - 0x2c], 4
push 2
call fcn.10017c5d
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], 0x87c2657a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10030bdc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1728], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10030bc4
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030bf8
push dword [ebp - 0x14]
lea ecx, [ebp - 0xdb8]
call fcn.10017cfb
mov dword [eax], 4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10030be1
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x174]
cmp ecx, eax
jg 0x10030c15
mov ecx, ebx
jmp 0x10030c19
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
xor ecx, ecx
cmp eax, 0x6f9b6917
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x10030c3c
cmp dword [ebp - 0x174], eax
je 0x10030c3c
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
neg ecx
sub ecx, 0x1c1d99ea
neg ecx
sbb ecx, ecx
xor eax, eax
add ecx, 2
cmp ecx, 0xfffffffa
lea ecx, [ebp - 0xdb8]
setge al
mov dword [ebp - 0x10f8], eax
inc dword [ebp - 0x3c]
mov dword [ebp - 4], edi
call fcn.10017cdf
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x17
jne 0x10030b81
mov edi, dword [sym.imp.USER32.dll_UnionRect]
mov dword [ebp - 0x24], 0x7d757520
lea ecx, [ebp - 0x200]
push 4
call fcn.10017c5d
push 4
mov eax, 0xf0d0714a
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], 0x6960f57a
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9a8], eax
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x6c1dfe93
mov dword [ebp - 0x30], 0xffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030cfa
or esi, 0xffffffff
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x200]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10030cdc
push 3
xor eax, eax
pop esi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jg 0x10030e0d
xor edi, edi
jmp 0x10030d0c
xor eax, eax
mov dword [ebp - 0x2c], 0xcb0befcd
lea ecx, [ebp - 0x200]
push eax
mov dword [ebp - 0x3c], 0xde450bb
call fcn.10017cfb
xor eax, eax
lea ecx, [ebp - 0x200]
push eax
call fcn.10017cfb
cmp dword [eax], edi
je 0x10030d87
push dword [ebp - 0x14]
lea ecx, [ebp - 0x200]
call fcn.10017cfb
push esi
lea ecx, [ebp - 0x200]
mov eax, dword [eax]
mov dword [ebp - 0x9ac], eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x14]
xor ebx, ebx
add ecx, 0xaaf5
cmp ecx, dword [eax]
lea ecx, [ebp - 0x200]
setl bl
xor eax, eax
add ebx, dword [ebp - 0x9ac]
push eax
call fcn.10017cfb
cmp ebx, dword [eax]
jg 0x10030d87
lea esi, [edi + 1]
jmp 0x10030d8b
xor eax, eax
mov esi, eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x200]
call fcn.10017cfb
xor ecx, ecx
cmp esi, dword [eax]
setge cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x200]
push dword [ebp - 0x14]
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
xor ebx, ebx
push dword [ebp - 0x14]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x200]
setg bl
call fcn.10017cfb
xor ecx, ecx
push 3
pop esi
cmp dword [eax], ebx
push esi
setl cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x200]
call fcn.10017cfb
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], 0xfc9b996a
cmp dword [ebp - 0x2c], eax
jne 0x10030e04
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x10030d0a
mov edi, dword [sym.imp.USER32.dll_UnionRect]
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x200]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov dword [ebp - 0x40], 0xe17c927d
or edx, 0xffffffff
mov dword [ebp - 0x28], 4
xor eax, eax
mov dword [ebp - 0x34], 0x362daab7
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x2c], 0xa025ec56
mov dword [ebp - 0x28], eax
jmp 0x10030e57
mov dword [ebp - 0x2c], 0x3992
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
jg 0x10030e47
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10030e9d
cmp dword [ebp - 0x28], eax
jne 0x10030e84
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp eax, edx
push 7
setne cl
pop eax
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp eax, ecx
push 2
setl dl
lea ecx, [ebp - 0x360]
imul eax, edx, 0xfdfe
mov dword [ebp - 0x2c], eax
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1c], eax
jmp 0x10030edc
push dword [ebp - 0x1c]
call fcn.10017cfb
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
lea ecx, [ebp - 0x360]
jl 0x10030ece
push ebx
call fcn.10017cfb
push ebx
lea ecx, [ebp - 0x360]
and dword [eax], 0
call fcn.10017cfb
cmp dword [eax], ebx
jne 0x10030f78
or esi, 0xffffffff
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x360]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], 0xe0d1b713
mov eax, dword [ebp - 0x2c]
push ebx
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [eax]
jne 0x10030f33
push ebx
lea ecx, [ebp - 0x360]
call fcn.10017cfb
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
cmp eax, 0x8f1e
push ebx
setg cl
sub ecx, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, esi
lea ecx, [ebp - 0x360]
sete al
mov dword [ebp - 0x3c], eax
call fcn.10017cfb
push ebx
lea ecx, [ebp - 0x360]
inc dword [eax]
call fcn.10017cfb
cmp dword [eax], ebx
je 0x10030f04
push 3
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x360]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
dec eax
neg eax
push 0xfffffffffffffffd
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ebx
mov dword [ebp - 0x1d8], eax
setg dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
cmp ecx, 0xe46c2e7c
sbb eax, eax
neg eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
pop esi
jg 0x10032827
mov dword [ebp - 0x2c], ebx
lea ecx, [ebp - 0xfb0]
mov dword [ebp - 0x34], 0x4956e74e
mov dword [ebp - 0x18], 0xfffffff8
push 2
call fcn.10017c5d
push 6
pop esi
mov dword [ebp - 4], esi
xor eax, eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], eax
jmp 0x10031014
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xfb0]
call fcn.10017cfb
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031000
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x34]
je 0x10031036
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10031036
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], 0x3d4210e1
lea ecx, [ebp - 0xfb0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x34], 0xe13ca4d9
or eax, 0xffffffff
inc dword [ebp - 0x3c]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov dword [ebp - 0x3c], esi
lea ecx, [ebp - 0x444]
push ebx
call fcn.10017c5d
push 7
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x1664]
movdqa xmm0, xmmword [0x10007b10]
lea eax, [ebp - 0x118c]
push eax
lea eax, [ebp - 0x119c]
mov dword [ebp - 0x30], 0x1a4d
mov dword [ebp - 0x3c], 0xe00f6802
push eax
movdqu xmmword [ebp - 0x119c], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x1ce]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xdd0]
push dword [esi]
call fcn.10017cb9
push 8
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jge 0x10031108
push dword [ebp - 0x28]
lea ecx, [ebp - 0x444]
call fcn.10017cfb
mov dword [eax], 0xaeef
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x100310ea
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x10031126
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x5d4], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x10031111
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ecx
cmp dword [ebp - 0x28], ecx
jge 0x10031149
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xb44], 0x489f7a9d
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x10031131
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ecx
jge 0x10031169
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x1704], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jl 0x10031151
xor eax, eax
push eax
lea ecx, [ebp - 0x444]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x100311ad
xor eax, eax
lea ecx, [ebp - 0x444]
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0xb40]
lea ecx, [ebp - 0x444]
xor eax, eax
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x444]
xor eax, eax
push eax
call fcn.10017cfb
xor eax, eax
lea ecx, [ebp - 0xdd0]
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x5d4]
mov ecx, dword [ebp - 0xb44]
lea ecx, [ebp - 0x444]
dec dword [eax]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
call fcn.10017cfb
mov esi, dword [ebp - 0xb44]
mov ecx, dword [ebp - 0x5d0]
sub esi, 0x6daafd55
neg esi
mov eax, dword [eax]
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
lea ecx, [ebp - 0xdd0]
setle dl
sub eax, edx
mov dword [ebp - 0x5d4], eax
call fcn.10017cdf
or eax, 0xffffffff
lea ecx, [ebp - 0x444]
mov dword [ebp - 4], eax
call fcn.10017cdf
movdqa xmm0, xmmword [0x10007b00]
lea ecx, [ebp - 0x1594]
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x5c], 0xafd77ccc
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x12cc]
push eax
lea eax, [ebp - 0x12dc]
mov dword [ebp - 0x38], 0xd3c15d0d
mov dword [ebp - 0x3c], 0x25d2
push eax
movdqu xmmword [ebp - 0x12dc], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x240]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1098]
push dword [esi]
call fcn.10017cb9
xor eax, eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xfffffff2
jne 0x10031389
push 3
pop edi
jmp 0x1003129d
xor eax, eax
mov dword [ebp - 0x50], 0xf13e13a6
cmp dword [ebp - 0x34], eax
je 0x100312ea
mov dword [ebp - 0x1c], eax
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], 0xa149cec7
mov dword [ebp - 0x30], 0xc0bf90a2
mov dword [ebp - 0x1c], eax
jmp 0x100312df
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x30], 0x7adf1adb
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ebx
dec dword [ebp - 0x50]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x14
jle 0x100312c5
jmp 0x10031373
mov dword [ebp - 0x2c], 0x45db
lea ecx, [ebp - 0x1098]
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x18], 0x8deb256
push edi
call fcn.10017cfb
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2c], 0x3c9e
mov eax, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x34]
setge cl
xor edx, edx
cmp ecx, ebx
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
cmp ecx, eax
mov eax, 0xffff
setne dl
sub edx, eax
neg edx
sbb edx, edx
inc edx
cmp edx, 0xa2aa
jle 0x1003136c
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff2
je 0x1003129b
mov edi, dword [sym.imp.USER32.dll_UnionRect]
or eax, 0xffffffff
lea ecx, [ebp - 0x1098]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x1c], eax
jmp 0x100313b9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x328], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100313a8
mov dword [ebp - 0x1c], 0xa
cmp dword [ebp - 0x1c], 0xfffffff8
jge 0x10031466
or edi, 0xffffffff
movdqa xmm0, xmmword [0x10007bd0]
lea eax, [ebp - 0x11ac]
push eax
lea eax, [ebp - 0x11bc]
push eax
lea ecx, [ebp - 0x1604]
movdqu xmmword [ebp - 0x11bc], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x18d]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xde8]
push dword [esi]
call fcn.10017cb9
push 3
pop esi
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0xde8]
mov dword [ebp - 0x2c], edi
push esi
call fcn.10017cfb
lea ecx, [ebp - 0xde8]
mov eax, dword [eax]
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], edi
call fcn.10017cdf
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff8
jl 0x100313d2
mov edi, dword [sym.imp.USER32.dll_UnionRect]
jmp 0x10031469
push 3
pop esi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1e4]
test eax, eax
mov eax, dword [ebp - 0x20]
setne cl
mov edx, dword [ebp + eax*4 - 0x1e4]
mov eax, dword [ebp - 0x48]
add eax, ecx
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1e4]
cmp eax, 0x66e9
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1d8]
setne dl
sub edx, eax
mov eax, dword [ebp - 0x5c]
sub edx, eax
cmp edx, 2
jne 0x10031904
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x278]
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0x1b4415e4
mov dword [ebp - 0x5c], 0xdb40437e
mov dword [ebp - 0x1c], eax
jmp 0x10031505
push dword [ebp - 0x1c]
call fcn.10017cfb
mov dword [eax], ebx
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0x278]
cmp dword [ebp - 0x1c], esi
jl 0x100314f8
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
push 2
pop esi
push esi
call fcn.10017cfb
push esi
lea ecx, [ebp - 0x278]
call fcn.10017cfb
push esi
lea ecx, [ebp - 0x278]
call fcn.10017cfb
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x278]
push esi
call fcn.10017cfb
xor eax, eax
lea ecx, [ebp - 0x278]
push eax
call fcn.10017cfb
xor ecx, ecx
cmp dword [eax], ecx
mov eax, 0xffff
setne cl
cmp eax, ecx
sbb eax, eax
inc eax
cmp eax, 0x9d29
jge 0x1003166b
or eax, 0xffffffff
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0xb5c]
mov dword [ebp - 0x18], ebx
push esi
call fcn.10017c5d
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], eax
jmp 0x100315ad
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb5c]
call fcn.10017cfb
mov dword [eax], 0xef21ddbc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031596
push esi
lea ecx, [ebp - 0x278]
call fcn.10017cfb
mov eax, dword [eax]
neg eax
jne 0x1003163d
xor eax, eax
cmp dword [ebp - 0x2c], eax
je 0x1003163a
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0xfffffffe
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x2c]
cmp eax, 5
sbb eax, eax
neg eax
cmp eax, 0x4fef
jl 0x100315fa
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x100315fc
mov esi, eax
jmp 0x100315fe
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0xb5c]
call fcn.10017cfb
push 2
lea ecx, [ebp - 0x278]
mov dword [eax], esi
call fcn.10017cfb
mov ecx, 0x8e1ce43c
cmp ecx, esi
sbb ecx, ecx
inc ecx
imul ecx, dword [eax]
test ecx, ecx
jne 0x1003162d
mov eax, dword [ebp - 0x18]
push 2
lea ecx, [ebp - 0x278]
call fcn.10017cfb
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1003165e
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
lea ecx, [ebp - 0xb5c]
call fcn.10017cdf
jmp 0x1003169d
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1003169f
push 0x2489
push 0x45d
push 0xe40
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x100316bf
push 0xb69
push 0x1e33
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetClassLongA]
or eax, 0xffffffff
lea ecx, [ebp - 0x278]
mov dword [ebp - 4], eax
call fcn.10017cdf
push 0xfffffffffffffffd
pop eax
push 4
pop esi
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x2c], eax
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x38], 0xb7ab61b5
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x5c], 0xfffffff6
mov dword [ebp - 0x1c], 0xfffd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003172e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x628]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031714
xor eax, eax
push eax
lea ecx, [ebp - 0x628]
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax]
dec dword [ebp - 0x2c]
cmp ecx, eax
jle 0x1003174a
mov esi, ebx
jmp 0x1003174e
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x628]
push 3
mov dword [ebp - 0x2c], eax
pop eax
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
push 8
add ecx, dword [eax]
xor eax, eax
cmp esi, ecx
pop ecx
setge al
cmp ecx, eax
lea ecx, [ebp - 0x628]
push 3
sbb eax, eax
xor ebx, ebx
inc eax
cmp eax, 0x7bf4
pop esi
push esi
setge bl
call fcn.10017cfb
mov ecx, dword [ebp - 0x38]
sub ebx, ecx
imul ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
push 0xfffffffffffffffd
pop edx
neg ebx
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
imul eax, ebx, 0xf78d
add ecx, eax
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x628]
setne al
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
xor ebx, ebx
mov byte [ebp - 0xd], al
inc ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], 0x29bf3901
mov dword [ebp - 0x1c], eax
jmp 0x100317f3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15e4], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100317e2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x15e4], eax
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1003182f
push eax
push 0x2689
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_GetTextExtentPoint32W]
xor eax, eax
cmp byte [ebp - 0xd], 0
je 0x1003215c
mov dword [ebp - 0x30], 0x76eea530
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031860
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4a4], 0xec0ae971
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031848
xor eax, eax
mov dword [ebp - 0x49c], 0x1b
cmp dword [ebp - 0x49c], 0xb
jg 0x100318e5
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x14], 0xe57bf5cd
mov dword [ebp - 0x14], eax
jmp 0x1003189f
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003189c
push 0x2a9
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0xfffffffffffffffd
xor eax, eax
pop ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x10031882
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffee
je 0x100318d6
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100318ca
push 0xdcd
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffee
jne 0x100318ad
push 0xfffffffffffffffd
pop ecx
dec dword [ebp - 0x49c]
cmp dword [ebp - 0x49c], 0xb
jle 0x10031876
push eax
push eax
push 0x1cc8
mov dword [ebp - 0x4a0], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x1003215c
or eax, 0xffffffff
mov dword [ebp - 0x1c], 0x91a049fe
mov dword [ebp - 0x30], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031925
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff6
je 0x10031940
push 8
pop ecx
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x2c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x10031931
mov dword [ebp - 0x50], 0x3e5c
mov dword [ebp - 0x28], 0xfffffffe
mov dword [ebp - 0x44], 0x3c15d0d6
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x24], 0x9c61
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1003198b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x748], 0xc93b4e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10031972
xor eax, eax
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x10031a5d
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x14], eax
jmp 0x100319e7
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], eax
jl 0x100319d0
mov eax, dword [ebp - 0x14]
xor ecx, ecx
imul eax, dword [ebp + eax*4 - 0x748], 0x7124
cmp eax, 0xdf1adb2b
setne cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x18]
jns 0x100319ae
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100319e4
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1003199f
cmp dword [ebp - 0x744], eax
je 0x100319fb
mov esi, ebx
cmp dword [ebp - 0x14], eax
jne 0x100319fd
mov esi, eax
mov eax, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x14]
test eax, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp edx, 0x55d58009
setl cl
cmp ecx, dword [ebp + eax*4 - 0x748]
jge 0x10031a33
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10031a35
mov edx, ebx
jmp 0x10031a37
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
push 0
mov eax, dword [ebp + eax*4 - 0x748]
cmp eax, esi
pop eax
setne cl
imul ecx, edx
push 3
pop esi
mov dword [ebp - 0x14], ecx
dec dword [ebp - 0x28]
jns 0x10031997
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x10031c90
or edi, 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031a88
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10031a74
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], esi
jg 0x10031c81
push 2
lea ecx, [ebp - 0x168]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10031ad2
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x168]
call fcn.10017cfb
mov dword [eax], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031ab3
xor eax, eax
push eax
lea ecx, [ebp - 0x168]
call fcn.10017cfb
and dword [eax], 0
jmp 0x10031b78
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031b02
push eax
push eax
push eax
push eax
push eax
push eax
push 0x199
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov eax, dword [ebp - 0xf8]
lea ecx, [ebp - 0x168]
xor eax, eax
push eax
call fcn.10017cfb
cmp dword [eax], 0
jne 0x10031b29
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
lea ecx, [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x748]
xor eax, eax
push eax
call fcn.10017cfb
lea ecx, [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x748]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xf8]
cmp ebx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
xor eax, eax
push eax
call fcn.10017cfb
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
cmp dword [eax], esi
jle 0x10031ae6
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x748]
cmp eax, dword [ebp - 0x38]
je 0x10031bbb
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x168]
push ebx
call fcn.10017cfb
xor eax, eax
lea ecx, [ebp - 0x168]
push eax
call fcn.10017cfb
cmp dword [eax], 0
je 0x10031be8
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10031bea
mov ecx, ebx
jmp 0x10031bec
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0xf8]
cmp ecx, 0x8828
push ebx
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x4210ab9c
mov ecx, 0x8f5b79c1
setle al
cmp ecx, eax
mov ecx, dword [ebp - 0x38]
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax
mov eax, dword [ebp - 0xf8]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
add ecx, dword [ebp - 0xf8]
cmp ecx, ebx
lea ecx, [ebp - 0x168]
setge al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ebx
call fcn.10017cfb
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], edi
mov dword [eax], ecx
lea ecx, [ebp - 0x168]
call fcn.10017cdf
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
jle 0x10031a94
xor eax, eax
dec dword [ebp - 0x28]
jns 0x10031a6c
mov edi, dword [sym.imp.USER32.dll_UnionRect]
mov dword [ebp - 0x2c], 0xc75b167d
or ecx, 0xffffffff
mov dword [ebp - 0x28], 0x68206240
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0xfffffff1
jne 0x10031dd0
or esi, ecx
mov dword [ebp - 0x14], 0xca2961c0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10031cdb
push 0xfffffffffffffffd
pop ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2c0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031cc6
xor eax, eax
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], eax
jl 0x10031dc0
mov dword [ebp - 0x2c], esi
xor ecx, ecx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x2c0], ecx
jne 0x10031d87
cmp dword [ebp - 0x2c0], 0xfdbd0176
jae 0x10031d5e
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x2c0], ecx
je 0x10031d53
xor eax, eax
cmp dword [ebp - 0x2c0], eax
je 0x10031d28
cmp dword [ebp - 0x28], eax
je 0x10031d28
mov ecx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c0], ecx
xor eax, eax
cmp ecx, 0x5734
setl al
cmp eax, dword [ebp - 0x14]
jle 0x10031d53
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x2c0], 0
je 0x10031d53
mov eax, ebx
jmp 0x10031d55
xor eax, eax
cmp eax, dword [ebp - 0x2c]
jg 0x10031d5e
xor eax, eax
jmp 0x10031d60
mov eax, ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x14]
jl 0x10031d87
xor eax, eax
mov ecx, eax
jmp 0x10031d89
mov ecx, ebx
mov eax, dword [ebp - 0x28]
add ecx, 0x532955f1
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
cmp ecx, 0xa64
setl al
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x14]
jns 0x10031ce7
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff1
je 0x10031cb0
push 3
pop esi
mov dword [ebp - 0x28], 0x19
jmp 0x10031de1
cmp dword [ebp - 0x28], eax
jne 0x10031de7
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff2
jl 0x10031dd9
cmp dword [ebp - 0x1dc], eax
jne 0x10031e37
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1e4], 0
jne 0x10031e08
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x54], eax
je 0x10031e0a
mov ecx, ebx
mov eax, dword [ebp - 0x54]
imul eax, ecx
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x5c]
xor eax, eax
cmp dword [ebp - 0x5c], eax
je 0x10031e26
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0xa439beb0
mov dword [ebp - 0x50], 0x7fe64fd9
mov dword [ebp - 0x1c], eax
jmp 0x10031e5e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10b0], 4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031e4d
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x14], eax
jmp 0x10031eb7
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], ebx
jg 0x10031eb4
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10b0], ecx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031eaa
push eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], ebx
jle 0x10031e8c
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10031e84
mov byte [ebp - 0x49], al
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], 0x29bf3901
mov dword [ebp - 0x1c], eax
jmp 0x10031edf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15fc], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10031ece
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x15fc], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031f19
push eax
push 0x2689
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_GetTextExtentPoint32W]
cmp byte [ebp - 0x49], 0
je 0x1003215c
or eax, 0xffffffff
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], 0xb9849b76
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x44], eax
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x914]
mov dword [ebp - 0x2c], 5
push 2
call fcn.10017c5d
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x10031f90
push dword [ebp - 0x28]
lea ecx, [ebp - 0x4e0]
call fcn.10017cfb
mov dword [eax], 0xc6a37d7c
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10031f72
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 4
jge 0x10031fb2
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xcdc], 0xfffffff9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x10031f99
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10031fca
push dword [ebp - 0x28]
lea ecx, [ebp - 0x914]
call fcn.10017cfb
mov dword [eax], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 2
jl 0x10031fb7
mov eax, dword [ebp - 0x34]
xor edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x34]
test eax, eax
sets dl
xor ecx, ecx
imul edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov ecx, dword [ebp - 0x34]
setge dl
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
add eax, 0x9d8c2a6c
sub ecx, edx
add eax, ecx
xor ecx, ecx
cmp eax, 0x2f7c
mov eax, dword [ebp - 0x34]
setg cl
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x4e0]
setle bl
xor esi, esi
inc esi
push esi
call fcn.10017cfb
xor edx, edx
mov dword [eax], ebx
mov eax, dword [ebp - 0x44]
cmp ebx, eax
setge dl
add edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
mov dword [ebp - 0xcd8], ecx
mov eax, dword [ebp - 0x34]
imul eax, ecx
test eax, eax
je 0x10032203
mov dword [ebp - 0x18], 0x887c5c6
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x5c], 0xf2c67a95
mov dword [ebp - 0x18], 0x5069
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xb
je 0x10032130
or edi, 0xffffffff
jmp 0x10032099
xor eax, eax
mov dword [ebp - 0x18], edi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100320ba
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x100320ea
mov ecx, dword [ebp - 0xcd8]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0xcdc]
test ecx, ecx
jne 0x100320ea
xor eax, eax
mov ecx, eax
jmp 0x100320ec
mov ecx, esi
cmp dword [ebp - 0x18], 0xed13222c
sbb eax, eax
inc eax
cmp eax, ecx
jl 0x10032103
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x2c], eax
je 0x10032105
mov edx, esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x5c]
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xb
jne 0x10032097
mov edi, dword [sym.imp.USER32.dll_UnionRect]
xor ebx, ebx
inc ebx
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x914]
call fcn.10017cdf
or eax, 0xffffffff
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
push eax
push eax
push eax
call edi
push 3
pop esi
or eax, 0xffffffff
mov dword [ebp - 0x1c], 0x91a049fe
mov dword [ebp - 0x30], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003217d
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xfffffff6
je 0x10032198
push 8
pop eax
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x2c]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jne 0x10032189
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1e4]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
test eax, eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
sets cl
sub edx, ecx
sub edx, dword [ebp + eax*4 - 0x1e4]
mov eax, dword [ebp - 0x1e4]
neg eax
sbb eax, eax
inc eax
cmp eax, edx
jg 0x1003270e
mov dword [ebp - 0x38], 0xfffffffe
lea ecx, [ebp - 0xe00]
mov dword [ebp - 0x2c], 0x97a4a12b
push 2
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x11
mov dword [ebp - 0x1c], eax
jmp 0x1003236d
or eax, 0xffffffff
xor ebx, ebx
mov dword [ebp - 0x1c], eax
inc ebx
mov dword [ebp - 0x34], 0x6fb6c717
mov dword [ebp - 0x50], eax
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x2c], eax
je 0x10032221
mov esi, ebx
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.10017cfb
mov ecx, dword [eax]
mov eax, 0xca44
imul ecx, esi
sub eax, ecx
je 0x10032246
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10032248
mov esi, ebx
jmp 0x1003224a
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x4e0]
call fcn.10017cfb
cmp dword [eax], 0xba832a49
mov eax, dword [ebp - 0x1c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x914]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x5c]
xor eax, eax
push eax
call fcn.10017cfb
push ebx
lea ecx, [ebp - 0x4e0]
call fcn.10017cfb
imul eax, dword [eax], 0xbc1f
cmp eax, dword [ebp - 0x44]
jl 0x10032336
mov dword [ebp - 0x2c], 0xfffffffa
or eax, 0xffffffff
mov dword [ebp - 0x38], 0x9805f634
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 0xb722
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xcd0]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
neg ecx
add eax, ecx
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xb
je 0x10032133
jmp 0x100322f5
xor eax, eax
mov dword [ebp - 0x2c], 0xad933b15
cmp dword [ebp - 0x1c], eax
je 0x1003230c
imul eax, dword [ebp - 0x1c], 0xd4f6
test eax, eax
jne 0x1003230f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x914]
push ebx
call fcn.10017cfb
xor ecx, ecx
cmp dword [eax], ecx
sete cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xb
jne 0x100322f3
jmp 0x10032133
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10032133
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
jmp 0x10032133
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe00]
call fcn.10017cfb
mov dword [eax], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10032356
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], ebx
jg 0x10032430
jmp 0x1003238b
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff8
lea ecx, [ebp - 0xfc8]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xa50b5f0b
mov dword [ebp - 0x30], 0x4b9a733e
mov dword [ebp - 0x30], 0x5c6f8b8a
push ebx
call fcn.10017c5d
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100323fd
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xfc8]
call fcn.10017cfb
mov dword [eax], 0xffbefa5f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100323df
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032412
push eax
push 0x1eab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0xfc8]
mov byte [ebp - 4], 0x11
call fcn.10017cdf
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jle 0x10032389
or eax, 0xffffffff
lea ecx, [ebp - 0xe00]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x10032700
movdqa xmm0, xmmword [0x10007b30]
lea eax, [ebp - 0x136c]
push eax
lea eax, [ebp - 0x137c]
push eax
lea ecx, [ebp - 0x15a4]
movdqu xmmword [ebp - 0x137c], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x23f]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x45c]
push dword [esi]
call fcn.10017cb9
mov dword [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x18], 0x3d0b5486
mov dword [ebp - 0x3c], 0x4307a329
mov dword [ebp - 0x5c], 0xccfdef05
mov dword [ebp - 0x30], 0x1892f88b
push 3
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x100324e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb74], 0x6ee97341
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100324c9
xor eax, eax
push eax
lea ecx, [ebp - 0x45c]
call fcn.10017cfb
lea ecx, [ebp - 0x45c]
mov dword [eax], 0x16
xor eax, eax
push eax
call fcn.10017cfb
cmp dword [eax], 0xffffffea
jne 0x100326db
mov dword [ebp - 0x14], 0xfb6318d5
lea ecx, [ebp - 0x6f8]
mov dword [ebp - 0x2c], 0xd00585b7
mov dword [ebp - 0x2c], 0x88146cde
push 2
call fcn.10017c5d
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x2c], 0xfb86
push 2
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x10032561
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x6f8]
call fcn.10017cfb
push 2
pop edx
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10032544
xor eax, eax
mov dword [ebp - 0x14], eax
or esi, 0xffffffff
cmp dword [ebp - 0x14], esi
jge 0x100325ca
mov ecx, 0xee28fdeb
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x9c4], ecx
mov dword [ebp - 0x9c0], ecx
mov dword [ebp - 0x9bc], ecx
mov dword [ebp - 0x9b8], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], 0xa760
dec dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], edx
jg 0x100325c2
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x9c4], 0
jne 0x100325c0
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x9c0], edx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], edx
jle 0x100325a1
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032571
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x45c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xb70]
mov eax, dword [ebp - 0x18]
xor eax, eax
push eax
call fcn.10017cfb
xor ecx, ecx
push 8
cmp dword [eax], ebx
setl cl
xor edx, edx
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x5c]
setle dl
xor ecx, ecx
cmp edx, eax
pop eax
setl cl
add ecx, eax
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x6f8]
mov eax, dword [ebp - 0x2c]
sub eax, 0x4444ace2
mov dword [ebp - 0x2c], eax
xor eax, eax
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x45c]
setl bl
xor edi, edi
inc edi
push edi
call fcn.10017cfb
xor ecx, ecx
cmp ebx, dword [eax]
sete cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x6f8]
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x14]
xor edx, edx
add ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0xb6c]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x6f8]
setle dl
xor eax, eax
push eax
imul esi, edx
call fcn.10017cfb
mov ecx, dword [ebp - 0x34]
imul ecx, esi
mov dword [eax], ecx
lea ecx, [ebp - 0x6f8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb6c]
xor eax, eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x13
call fcn.10017cdf
xor eax, eax
lea ecx, [ebp - 0x45c]
push eax
call fcn.10017cfb
lea ecx, [ebp - 0x45c]
dec dword [eax]
xor eax, eax
push eax
call fcn.10017cfb
cmp dword [eax], 0xffffffea
push edi
pop ebx
push 3
pop esi
je 0x1003250a
mov edi, dword [sym.imp.USER32.dll_UnionRect]
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x45c]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov eax, dword [ebp - 0x40]
cmp dword [ebp + eax*4 - 0x1e4], 0
jne 0x10032810
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], esi
jle 0x1003244b
jmp 0x10032810
push 0xfffffffffffffffd
pop eax
push 4
pop esi
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x640]
mov dword [ebp - 0x2c], eax
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x5c], 0xb7ab61b5
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x1c], 0xfffd
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1003276c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x640]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10032752
xor eax, eax
push eax
lea ecx, [ebp - 0x640]
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax]
dec dword [ebp - 0x2c]
cmp ecx, eax
jle 0x10032788
mov esi, ebx
jmp 0x1003278c
xor eax, eax
mov esi, eax
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x640]
push 3
mov dword [ebp - 0x2c], eax
pop eax
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
push 8
add ecx, dword [eax]
xor eax, eax
cmp esi, ecx
pop ecx
setge al
cmp ecx, eax
lea ecx, [ebp - 0x640]
push 3
sbb eax, eax
xor ebx, ebx
inc eax
cmp eax, 0x7bf4
pop esi
push esi
setge bl
call fcn.10017cfb
mov ecx, dword [ebp - 0x5c]
sub ebx, ecx
imul ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
push 0xfffffffffffffffd
pop edx
neg ebx
sub ebx, dword [eax]
neg ebx
sbb ebx, ebx
inc ebx
imul eax, ebx, 0xf78d
add ecx, eax
xor eax, eax
cmp ecx, edx
lea ecx, [ebp - 0x640]
setne al
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1003281f
inc dword [ebp - 0x20]
push 1
pop ebx
cmp dword [ebp - 0x20], esi
jle 0x10030fd2
xor ebx, ebx
xor eax, eax
push 0xfffffffffffffffd
inc ebx
pop esi
mov dword [ebp - 0x38], 0x24a8c6a5
mov dword [ebp - 0x38], eax
jmp 0x1003287b
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10032852
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x338], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003283e
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jg 0x10032878
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + eax*4 - 0x338]
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x338], ecx
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x1003285a
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x17
je 0x10032833
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003289e
push eax
push 0x26c1
push 0x1e96
push eax
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
xor eax, eax
mov dword [ebp - 0x44], 0x462d5e48
or edi, 0xffffffff
mov dword [ebp - 0x24], 0x1d102278
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xd
jle 0x10032a9a
push ebx
lea ecx, [ebp - 0x4f8]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100328f7
push dword [ebp - 0x14]
lea ecx, [ebp - 0x4f8]
call fcn.10017cfb
mov dword [eax], 0x5683
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100328d9
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10032913
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100328ff
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x10032a71
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x3c], 0x9405dbd5
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jl 0x10032a50
mov dword [ebp - 0x1c], 0xb8f5f499
mov dword [ebp - 0x2c], 0xfc72fa5d
mov dword [ebp - 0x1c], eax
jmp 0x10032a23
mov dword [ebp - 0x38], 0x5fac1226
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10032a20
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jl 0x10032a17
push dword [ebp - 0x40]
lea ecx, [ebp - 0x4f8]
call fcn.10017cfb
push dword [ebp - 0x38]
lea ecx, [ebp - 0x4f8]
mov esi, eax
call fcn.10017cfb
mov ecx, dword [eax]
xor eax, eax
cmp ecx, 0xfffffff7
mov dword [esi], ecx
lea ecx, [ebp - 0x4f8]
sete al
mov dword [ebp - 0x24], eax
push dword [ebp - 0x40]
call fcn.10017cfb
xor ecx, ecx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x24]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
add eax, 0x9ef54382
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xa98ceef
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x3c]
jl 0x100329ef
mov edx, ebx
cmp dword [ebp - 0xc8], eax
jne 0x100329f1
mov edx, eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0x2f3d4794
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setge al
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x40]
jns 0x10032972
dec dword [ebp - 0x38]
jns 0x10032960
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1003294d
push dword [ebp - 0x50]
lea ecx, [ebp - 0x4f8]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x10032a4b
dec dword [ebp - 0x50]
push 0
pop eax
jns 0x10032937
push 0xfffffffffffffffd
xor eax, eax
pop esi
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x10032a6b
mov dword [ebp - 0x24], 0x94a737b7
mov dword [ebp - 0x24], 0x23988f15
dec dword [ebp - 0x34]
jns 0x10032a58
inc dword [ebp - 0xc8]
cmp dword [ebp - 0xc8], eax
jle 0x1003291e
lea ecx, [ebp - 0x4f8]
mov dword [ebp - 4], edi
call fcn.10017cdf
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jg 0x100328bc
xor eax, eax
mov ebx, dword [sym.imp.ADVAPI32.dll_EqualSid]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032aaf
push eax
push eax
call ebx
xor eax, eax
xor esi, esi
mov dword [ebp - 0x38], 0x24a8c6a5
mov dword [ebp - 0x38], eax
inc esi
cmp dword [ebp - 0x38], 0x17
jne 0x10032b0c
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10032ae1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x348], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10032acd
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jg 0x10032b07
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + eax*4 - 0x348]
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x348], ecx
xor eax, eax
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], eax
jle 0x10032ae9
inc dword [ebp - 0x38]
jmp 0x10032abc
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032b29
push eax
push 0x26c1
push 0x1e96
push eax
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
xor eax, eax
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x92c]
mov dword [ebp - 0x30], 0x23b1a956
push 8
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x24], eax
pop eax
mov dword [ebp - 0x38], eax
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0x17
lea eax, [ebp - 0x11cc]
push 3
mov dword [ebp - 0x30], edi
lea ecx, [ebp - 0x151c]
pop edi
push eax
lea eax, [ebp - 0x11dc]
mov dword [ebp - 0x30], 0x7c7ab89b
xorps xmm0, xmm0
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
push eax
movdqu xmmword [ebp - 0x11dc], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x181]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1134]
push dword [esi]
call fcn.10017cb9
xor eax, eax
mov byte [ebp - 4], 0x18
xor esi, esi
mov dword [ebp - 0x1c], eax
inc esi
jmp 0x10032bd0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x92c]
call fcn.10017cfb
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10032bb9
inc dword [ebp - 0x2c]
mov dword [ebp - 0x24], 0x27a4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x24]
jg 0x10032bfb
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x92c]
xor eax, eax
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0x54]
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10032c19
push eax
lea ecx, [ebp - 0x92c]
call fcn.10017cfb
cmp dword [eax], 0
je 0x10032c17
mov eax, esi
jmp 0x10032c19
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10032c6d
or edi, 0xffffffff
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x1134]
mov dword [ebp - 0x30], 0x8af95342
mov dword [ebp - 0x30], 0x477ae271
mov dword [ebp - 0x30], 0x2f4e55b6
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], esi
push eax
call fcn.10017cfb
push 0
inc dword [eax]
dec dword [ebp - 0x38]
pop eax
jns 0x10032c29
push 3
pop edi
lea ecx, [ebp - 0x1134]
call fcn.10017cdf
or eax, 0xffffffff
lea ecx, [ebp - 0x92c]
mov dword [ebp - 4], eax
call fcn.10017cdf
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x30], 0xe48d327c
lea ecx, [ebp - 0xe18]
mov dword [ebp - 0x30], eax
push edi
call fcn.10017c5d
mov dword [ebp - 4], 0x19
push 7
mov dword [ebp - 0x30], 0x6e7f737a
pop eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x10032cda
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe18]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10032cc0
xor eax, eax
dec dword [ebp - 0x24]
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032cfb
push eax
push 0x1755
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
or eax, 0xffffffff
lea ecx, [ebp - 0xe18]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov dword [ebp - 0x44], 0x462d5e48
xor eax, eax
mov dword [ebp - 0x24], 0x1d102278
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xd
jle 0x10032f1f
push esi
lea ecx, [ebp - 0x510]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032d64
push dword [ebp - 0x14]
lea ecx, [ebp - 0x510]
call fcn.10017cfb
mov dword [eax], 0x5683
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032d46
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10032d83
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10032d6f
xor eax, eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], eax
jg 0x10032eff
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x3c], 0x9405dbd5
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jl 0x10032ed2
mov dword [ebp - 0x1c], 0xb8f5f499
mov dword [ebp - 0x2c], 0xfc72fa5d
mov dword [ebp - 0x1c], eax
jmp 0x10032ea5
mov dword [ebp - 0x38], 0x5fac1226
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10032ea2
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jl 0x10032e99
push dword [ebp - 0x40]
lea ecx, [ebp - 0x510]
call fcn.10017cfb
push dword [ebp - 0x38]
lea ecx, [ebp - 0x510]
mov esi, eax
call fcn.10017cfb
mov ecx, dword [eax]
xor eax, eax
cmp ecx, 0xfffffff7
mov dword [esi], ecx
lea ecx, [ebp - 0x510]
sete al
mov dword [ebp - 0x24], eax
push dword [ebp - 0x40]
call fcn.10017cfb
xor ecx, ecx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x24]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
add eax, 0x9ef54382
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xa98ceef
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x3c]
jl 0x10032e6e
cmp dword [ebp - 0xbc], eax
je 0x10032e6e
xor esi, esi
inc esi
mov edx, esi
jmp 0x10032e73
xor esi, esi
mov edx, eax
inc esi
mov ecx, dword [ebp - 0x38]
sub ecx, 0x2f3d4794
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setge al
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x40]
jns 0x10032dec
dec dword [ebp - 0x38]
jns 0x10032dda
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10032dc7
push dword [ebp - 0x50]
lea ecx, [ebp - 0x510]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x10032ecd
dec dword [ebp - 0x50]
push 0
pop eax
jns 0x10032db1
push 0xfffffffffffffffd
xor eax, eax
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x10032eed
mov dword [ebp - 0x24], 0x94a737b7
mov dword [ebp - 0x24], 0x23988f15
dec dword [ebp - 0x34]
jns 0x10032eda
inc dword [ebp - 0xbc]
cmp dword [ebp - 0xbc], eax
jle 0x10032d98
or eax, 0xffffffff
lea ecx, [ebp - 0x510]
mov dword [ebp - 4], eax
call fcn.10017cdf
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jg 0x10032d29
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032f2c
push eax
push eax
call ebx
push 3
pop eax
mov dword [ebp - 0x40], 0x49c9fb37
lea ecx, [ebp - 0xb8c]
mov dword [ebp - 0x1c], 5
mov dword [ebp - 0x3c], 0x1aedf47f
push eax
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x1b
mov dword [ebp - 0x30], eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10032f7b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3b8], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032f67
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10032f9a
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8c]
call fcn.10017cfb
push 3
pop ecx
mov dword [eax], 0xd571e957
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10032f80
cmp dword [ebp - 0x40], esi
jl 0x10032fbd
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x3b8], 0x12e36
jge 0x10032fd0
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x10032fd2
mov eax, esi
mov dword [ebp - 0x3b8], eax
xor eax, eax
cmp dword [ebp - 0x3b8], eax
je 0x10033075
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0xcfc], eax
mov dword [ebp - 0xcf8], eax
mov dword [ebp - 0xcf4], eax
mov dword [ebp - 0xcf0], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3b8], eax
test eax, eax
je 0x10033051
xor eax, eax
cmp dword [ebp - 0x3b8], eax
jne 0x1003302a
cmp dword [ebp - 0x3b8], 0xa5fc
mov edx, eax
jg 0x1003302c
mov edx, esi
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffffd
setl cl
pop eax
cmp eax, ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x3b8], ecx
mov eax, dword [ebp - 0x40]
add eax, ecx
imul eax, dword [ebp - 0x3c]
test eax, eax
jne 0x10033054
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
test eax, eax
setns cl
mov dword [ebp - 0xcfc], ecx
jmp 0x100330cd
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 0x7311ebc8
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 0x1c], eax
jmp 0x1003309c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x14c0], 0xba8b036c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1003308b
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0xb8c]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14c0]
sub esi, eax
xor eax, eax
inc eax
push eax
call fcn.10017cfb
mov ecx, dword [ebp - 0x2c]
sub ecx, esi
neg ecx
sbb ecx, ecx
xor esi, esi
inc ecx
inc esi
mov dword [eax], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0xb8c]
mov dword [ebp - 4], eax
call fcn.10017cdf
mov dword [ebp - 0x44], 0x462d5e48
xor eax, eax
mov dword [ebp - 0x24], 0x1d102278
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xd
jle 0x100332f1
push esi
lea ecx, [ebp - 0x528]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x1c
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10033136
push dword [ebp - 0x14]
lea ecx, [ebp - 0x528]
call fcn.10017cfb
mov dword [eax], 0x5683
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10033118
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x10033155
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10033141
xor eax, eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], eax
jg 0x100332d1
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x3c], 0x9405dbd5
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], eax
jl 0x100332a4
mov dword [ebp - 0x1c], 0xb8f5f499
mov dword [ebp - 0x2c], 0xfc72fa5d
mov dword [ebp - 0x1c], eax
jmp 0x10033277
mov dword [ebp - 0x38], 0x5fac1226
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10033274
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], eax
jl 0x1003326b
push dword [ebp - 0x40]
lea ecx, [ebp - 0x528]
call fcn.10017cfb
push dword [ebp - 0x38]
lea ecx, [ebp - 0x528]
mov esi, eax
call fcn.10017cfb
mov ecx, dword [eax]
xor eax, eax
cmp ecx, 0xfffffff7
mov dword [esi], ecx
lea ecx, [ebp - 0x528]
sete al
mov dword [ebp - 0x24], eax
push dword [ebp - 0x40]
call fcn.10017cfb
xor ecx, ecx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x24]
setg cl
sub eax, ecx
neg eax
sbb eax, eax
add eax, 0x9ef54382
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xa98ceef
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, dword [ebp - 0x3c]
jl 0x10033240
cmp dword [ebp - 0xc4], eax
je 0x10033240
xor esi, esi
inc esi
mov edx, esi
jmp 0x10033245
xor esi, esi
mov edx, eax
inc esi
mov ecx, dword [ebp - 0x38]
sub ecx, 0x2f3d4794
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setge al
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x40]
jns 0x100331be
dec dword [ebp - 0x38]
jns 0x100331ac
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10033199
push dword [ebp - 0x50]
lea ecx, [ebp - 0x528]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x1003329f
dec dword [ebp - 0x50]
push 0
pop eax
jns 0x10033183
push 0xfffffffffffffffd
xor eax, eax
pop ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], eax
jl 0x100332bf
mov dword [ebp - 0x24], 0x94a737b7
mov dword [ebp - 0x24], 0x23988f15
dec dword [ebp - 0x34]
jns 0x100332ac
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], eax
jle 0x1003316a
or eax, 0xffffffff
lea ecx, [ebp - 0x528]
mov dword [ebp - 4], eax
call fcn.10017cdf
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xd
jg 0x100330fb
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100332fe
push eax
push eax
call ebx
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x944]
call fcn.10017c5d
mov dword [ebp - 4], 0x1d
xor eax, eax
mov dword [ebp - 0x38], 0xfffffff8
mov dword [ebp - 0x24], 0xbb4aad9d
mov dword [ebp - 0x30], 0xc3837ace
mov dword [ebp - 0x2c], 0x365d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10033358
push dword [ebp - 0x14]
lea ecx, [ebp - 0x944]
call fcn.10017cfb
mov dword [eax], 0x98a8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003333a
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10033377
push 0xfffffffffffffff7
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10c4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10033363
xor eax, eax
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], eax
jl 0x100333f3
mov dword [ebp - 0x54], 0xfc4b03e3
lea ecx, [ebp - 0x944]
mov dword [ebp - 0x30], 0x3dda37bb
mov dword [ebp - 0x30], 0xe82ca968
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
push esi
call fcn.10017cfb
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x944]
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x38]
call fcn.10017cfb
mov ecx, dword [ebp - 0x54]
xor edx, edx
push 0
cmp dword [eax], ecx
mov eax, 0x693e
sete dl
sub eax, edx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10c4], eax
dec dword [ebp - 0x38]
pop eax
jns 0x1003337f
or eax, 0xffffffff
lea ecx, [ebp - 0x944]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
lea ecx, [ebp - 0x95c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], 0x23b1a956
push 8
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x24], eax
pop eax
mov dword [ebp - 0x38], eax
push esi
call fcn.10017c5d
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x152c]
or eax, 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x12ec]
push 3
pop ebx
push eax
lea eax, [ebp - 0x12fc]
mov dword [ebp - 0x30], 0x7c7ab89b
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], esi
push eax
movdqu xmmword [ebp - 0x12fc], xmm0
call fcn.10017d0a
lea ecx, [ebp - 0x1d0]
mov esi, eax
call fcn.10008ad3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xfe0]
push dword [esi]
call fcn.10017cb9
xor eax, eax
mov byte [ebp - 4], 0x1f
xor esi, esi
mov dword [ebp - 0x1c], eax
inc esi
jmp 0x100334ac
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x95c]
call fcn.10017cfb
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10033495
inc dword [ebp - 0x2c]
mov dword [ebp - 0x24], 0x27a4
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x24]
jg 0x100334d7
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x95c]
xor eax, eax
push eax
call fcn.10017cfb
mov eax, dword [ebp - 0x54]
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x100334f5
push eax
lea ecx, [ebp - 0x95c]
call fcn.10017cfb
cmp dword [eax], 0
je 0x100334f3
mov eax, esi
jmp 0x100334f5
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10033549
or ebx, 0xffffffff
push 0xfffffffffffffff7
pop ecx
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xfe0]
mov dword [ebp - 0x30], 0x8af95342
mov dword [ebp - 0x30], 0x477ae271
mov dword [ebp - 0x30], 0x2f4e55b6
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], esi
push eax
call fcn.10017cfb
push 0
inc dword [eax]
dec dword [ebp - 0x38]
pop eax
jns 0x10033505
push 3
pop ebx
lea ecx, [ebp - 0xfe0]
call fcn.10017cdf
or eax, 0xffffffff
lea ecx, [ebp - 0x95c]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1003358c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1738], 0x2403
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10033573
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100335a6
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnumChildWindows]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100335ca
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100335c7
push eax
push 0x57e
push 0x758
call dword [sym.imp.KERNEL32.dll_GetCPInfoExW]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x100335ab
push esi
lea ecx, [ebp - 0xe30]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1003360c
or ebx, 0xffffffff
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe30]
call fcn.10017cfb
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100335ef
push 3
xor eax, eax
pop ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003362e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c4], 0x2c70bb74
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10033615
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003364c
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
xor eax, eax
mov dword [ebp - 0x3c0], eax
jmp 0x10033697
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003366e
push eax
push 0x1755
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033691
push eax
push 0x265a
push 0xf3f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
xor eax, eax
inc dword [ebp - 0x3c0]
cmp dword [ebp - 0x3c0], eax
jle 0x10033654
or eax, 0xffffffff
lea ecx, [ebp - 0xe30]
mov dword [ebp - 4], eax
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x34], 0x24a8c6a5
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x17
jne 0x10033f4a
or edi, 0xffffffff
push 7
pop eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 0x24f84b81
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x3c], 0xf365653d
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffffb
jle 0x10033741
mov dword [ebp - 0x1c], eax
jmp 0x10033714
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1614], 0xb055cc25
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10033703
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1614], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10033735
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0xfffffffb
push 0
pop eax
jg 0x100336fe
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10033768
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x16a4], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10033750
xor eax, eax
push 8
pop ecx
mov dword [ebp - 0x14], ecx
jmp 0x10033790
mov dword [ebp - 0x24], 0xd69f4288
dec dword [ebp - 0x24]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003378d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
jg 0x10033770
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x10033837
mov dword [ebp - 0x760], eax
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x758], eax
mov dword [ebp - 0x754], eax
mov dword [ebp - 0x760], 2
cmp dword [ebp - 0x760], eax
jl 0x10033834
mov dword [ebp - 0x38], 0x7be9fb1c
mov dword [ebp - 0x38], eax
jmp 0x10033826
mov dword [ebp - 0x1c], 0x2b000cd9
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033803
push 0xf88
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1003381d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003381a
push eax
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x10033808
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x100337d8
dec dword [ebp - 0x760]
jns 0x100337cc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
jge 0x100337a2
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], eax
jmp 0x1003385d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1758], 6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1003384c
push 7
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1003387b
mov dword [ebp - 0x24], 0x8bac04ee
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003386b
mov dword [ebp - 0x14], ebx
xor eax, eax
cmp dword [ebp - 0x14], eax
jl 0x100338e6
push esi
lea ecx, [ebp - 0xba4]
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x100338c5
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xba4]
call fcn.10017cfb
mov dword [eax], 0x1867b8f5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100338a7
xor eax, eax
push eax
lea ecx, [ebp - 0xba4]
call fcn.10017cfb
lea ecx, [ebp - 0xba4]
inc dword [eax]
mov dword [ebp - 4], edi
call fcn.10017cdf
dec dword [ebp - 0x14]
jns 0x1003388a
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x284]
push 4
call fcn.10017c5d
mov dword [ebp - 4], 0x22
mov dword [ebp - 0x24], 0xfffffff6
push 8
mov dword [ebp - 0x24], ebx
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10033939
push 8
pop ebx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x284]
call fcn.10017cfb
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1003391b
push 3
xor eax, eax
pop ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1003395b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x474], 0xa2e
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10033942
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1003397b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x5a0], 0xc50133ec
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10033963
xor eax, eax
mov dword [ebp - 0x20], 0xe3556834
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jg 0x10033b11
push ebx
lea ecx, [ebp - 0x974]
call fcn.10017c5d
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x3c], 0x2fc53d8b
push 0xfffffffffffffffc
mov dword [ebp - 0x54], 0x1dd5
pop edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], eax
jmp 0x100339cc
cmp dword [ebp - 0x1c], ebx
jl 0x100339b9
lea ecx, [ebp - 0x284]
mov dword [ebp - 4], edi
call fcn.10017cdf
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10033b33
cmp dword [ebp - 0x1c], esi
jl 0x10033b26
mov dword [ebp - 0x30], 0xea75c96
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033f63
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10033f72
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
push 4
pop ebx
push ebx
lea ecx, [ebp - 0xe4]
call fcn.10017c5d
push esi
lea ecx, [ebp - 0xc04]
mov dword [ebp - 4], 0x27
call fcn.10017c5d
push ebx
lea ecx, [ebp - 0xbec]
mov byte [ebp - 4], 0x28
call fcn.10017c5d
push 0xfffffffffffffff7
mov byte [ebp - 4], 0x29
pop eax
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10033fd3
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10033fb8
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10033ff9
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc04]
call fcn.10017cfb
mov dword [eax], 0xc266
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10033fdb
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10034015
push dword [ebp - 0x20]
lea ecx, [ebp - 0xbec]
call fcn.10017cfb
mov dword [eax], 0xce34aafb
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10033ffe
push esi
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
xor ebx, ebx
cmp dword [eax], ebx
jne 0x10034160
push 3
pop eax
push eax
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
push esi
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
cmp dword [eax], ebx
je 0x10034062
push 3
pop eax
push eax
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
cmp dword [eax], ebx
jne 0x10034066
xor eax, eax
mov esi, eax
xor eax, eax
lea ecx, [ebp - 0xe4]
inc eax
push eax
call fcn.10017cfb
xor ebx, ebx
lea ecx, [ebp - 0xe4]
cmp esi, dword [eax]
setle bl
xor eax, eax
inc eax
push eax
call fcn.10017cfb
push 3
lea ecx, [ebp - 0xe4]
mov esi, dword [eax]
pop eax
push eax
add esi, ebx
call fcn.10017cfb
xor ebx, ebx
inc ebx
cmp dword [eax], esi
jge 0x100340bc
push ebx
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x100340bc
xor eax, eax
mov esi, eax
jmp 0x100340be
mov esi, ebx
push 3
pop eax
push eax
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
cmp esi, dword [eax]
jge 0x100340e8
push ebx
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x100340e8
xor eax, eax
mov esi, eax
jmp 0x100340ec
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0xc04]
call fcn.10017cfb
push ebx
lea ecx, [ebp - 0xe4]
mov dword [eax], esi
call fcn.10017cfb
xor ebx, ebx
lea ecx, [ebp - 0xe4]
cmp dword [eax], esi
setne bl
xor esi, esi
inc esi
push esi
call fcn.10017cfb
xor ecx, ecx
push esi
cmp ebx, dword [eax]
setne cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xe4]
call fcn.10017cfb
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
push 2
cmp ecx, dword [eax]
lea ecx, [ebp - 0xe4]
setg bl
call fcn.10017cfb
push 2
lea ecx, [ebp - 0xbec]
mov esi, dword [eax]
imul esi, ebx
call fcn.10017cfb
mov dword [eax], esi
xor esi, esi
inc esi
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 0x28]
push esi
call fcn.10017cfb
xor ebx, ebx
lea ecx, [ebp - 0xe4]
push esi
cmp dword [eax], ebx
setg bl
call fcn.10017cfb
sub ebx, dword [eax]
je 0x100341c1
xor eax, eax
push 3
mov dword [ebp - 0x28], eax
pop ebx
jmp 0x100341b7
mov dword [ebp - 0x24], 0x321a0783
lea ecx, [ebp - 0xe4]
inc dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x10034241
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10034193
jmp 0x10034241
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 9
jge 0x10034241
push 3
pop ebx
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], eax
jl 0x10034221
mov dword [ebp - 0x3c], 0xdeabfd09
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100341fe
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor eax, eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], eax
jl 0x1003421c
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10034217
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor eax, eax
dec dword [ebp - 0x3c]
jns 0x10034206
dec dword [ebp - 0x54]
jns 0x100341de
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10034238
push eax
push 0x1eab
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 9
jl 0x100341cf
lea ecx, [ebp - 0xbec]
call fcn.10017cdf
lea ecx, [ebp - 0xc04]
call fcn.10017cdf
or ebx, 0xffffffff
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], ebx
call fcn.10017cdf
xor eax, eax
lea ecx, [ebp - 0x2f8]
mov byte [ebp - 0x49], al
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x44], 0x863718bd
push 2
call fcn.10017c5d
xor eax, eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 0x1c], eax
jmp 0x100342a9
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2f8]
call fcn.10017cfb
mov dword [eax], 0x8d06721f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10034292
mov dword [ebp - 0x20], 9
jmp 0x10034440
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x40dfe9f4
mov dword [ebp - 0x24], 4
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], eax
jg 0x100342e0
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x28], eax
je 0x100342e2
mov edx, esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
lea eax, [edx + 8]
dec ecx
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
je 0x10034389
xor eax, eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x7627
mov eax, dword [ebp - 0x28]
setle cl
xor ebx, ebx
cmp eax, ecx
lea ecx, [ebp - 0x2f8]
push esi
setg bl
call fcn.10017cfb
mov dword [eax], ebx
lea eax, [ebx - 0xb608]
cmp eax, dword [ebp - 0x24]
jl 0x1003435e
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10034360
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003443a
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x1003443a
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1003437f
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2f8]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x1003443a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x10034365
jmp 0x1003443a
mov dword [ebp - 0x1c], 0x1f19
xor eax, eax
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], eax
jl 0x1003443d
mov dword [ebp - 0x2c], 0xe1984bbc
lea ecx, [ebp - 0x2f8]
push dword [ebp - 0x28]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x1003442c
push dword [ebp - 0x28]
lea ecx, [ebp - 0x2f8]
call fcn.10017cfb
xor edx, edx
push esi
cmp dword [eax], esi
mov eax, dword [ebp - 0x1c]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
xor ebx, ebx
imul eax, ecx, 0xfff7
lea ecx, [ebp - 0x2f8]
sub eax, 0x34fb236c
cmp eax, 0xe24b
setl bl
call fcn.10017cfb
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
inc edx
neg edx
sbb edx, edx
inc edx
sub eax, edx
je 0x10034422
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1003442e
mov eax, esi
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x28]
jns 0x1003439e
or ebx, 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xd
jge 0x100342bb
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x17
jle 0x100344a5
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], esi
jg 0x1003449c
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003447c
push eax
push eax
push 0x2415
push 0x12af
push eax
call dword [sym.imp.USER32.dll_ModifyMenuW]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x2f8]
call fcn.10017cfb
cmp dword [eax], 0
jne 0x1003449a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x17
jg 0x10034458
lea ecx, [ebp - 0x2f8]
mov dword [ebp - 4], ebx
call fcn.10017cdf
cmp byte [ebp - 0x49], 0
je 0x10034524
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x24], 0xfffffff6
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
inc eax
jne 0x100344ea
cmp dword [ebp - 0x2c], eax
je 0x100344ed
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
jmp 0x1003450c
push 0xfffffffffffffffd
pop eax
push 3
pop ebx
mov dword [ebp - 0x30], 0xe48d327c
lea ecx, [ebp - 0xe48]
mov dword [ebp - 0x30], eax
push ebx
call fcn.10017c5d
mov dword [ebp - 4], 0x2b
push 7
mov dword [ebp - 0x30], 0x6e7f737a
pop eax
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10034578
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe48]
call fcn.10017cfb
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003455e
dec dword [ebp - 0x24]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10034593