Function at 0x10030ef9
Capabilities:
Accept command line arguments
Create directory
Delete file
Get common file path
Get disk size
Get file attributes
Get session user name
Log keystrokes
Parse pe header
Read .ini file

Disassembly:
mov eax, 0x100821a8
call fcn.10080920
mov eax, 0x15fc
call fcn.1007d0d0
push ebx
mov ebx, 0xffff
mov byte [ebp - 0x65], dl
xor eax, eax
mov dword [ebp - 0x44], ebx
push esi
mov byte [ebp - 0x11], al
push edi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x58], ecx
cmp byte [ebp - 0x11], al
je 0x10030f3a
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030f4d
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor eax, eax
mov dword [ebp - 0x44], ebx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030f65
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030f78
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor eax, eax
mov dword [ebp - 0x38], 0xfa51
xor ecx, ecx
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0xbfc], eax
mov dword [ebp - 0xbf8], eax
mov dword [ebp - 0xbf4], eax
push 3
pop ebx
mov dword [ebp - 0x2c], ebx
push 2
pop esi
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0x941f
setl cl
mov dword [ebp - 0xc00], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x30], 0x3d5943e2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10030ff4
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [ebp - 0x3c], 0x540d7f82
lea ecx, [ebp - 0x750]
push ebx
call fcn.100169cf
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10031039
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x750]
call fcn.10016a3c
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003101b
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xfffffff8
push 1
pop ebx
jg 0x100312fe
push 3
lea ecx, [ebp - 0x2b0]
call fcn.100169cf
mov byte [ebp - 4], bl
xor eax, eax
mov dword [ebp - 0x44], 0xd0357257
mov dword [ebp - 0x44], 0x3f0244c3
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], 0x4e7f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x100310a1
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2b0]
call fcn.10016a3c
mov dword [eax], 0xfc0272a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x10031082
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x100310c1
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf40], 0x81eca6c8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100310a9
xor eax, eax
push 4
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x100310e4
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1008], 0x5a60c437
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x100310cc
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x100310fa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x53c], 0x158e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x100310e9
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x4c]
cmp ecx, eax
je 0x10031110
mov edi, ebx
jmp 0x10031112
xor edi, edi
inc dword [ebp - 0x1008]
mov eax, dword [ebp - 0x1008]
je 0x1003112c
push esi
lea ecx, [ebp - 0x2b0]
call fcn.10016a3c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x750]
mov eax, dword [ebp - 0x3c]
push 0
call fcn.10016a3c
push esi
lea ecx, [ebp - 0x2b0]
mov dword [eax], 0xfffffff6
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.10016a3c
mov edx, dword [ebp - 0x538]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cmp ecx, edx
mov ecx, dword [ebp - 0x3c]
push 2
setne al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xf40]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x538]
cmp edi, ecx
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
imul ecx, ecx, 0x5465
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sete dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setl bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor edx, edx
cmp ecx, 0xc462
setne dl
xor eax, eax
cmp dword [esi], edx
setg al
imul eax, eax, 0x426c
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10031223
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x10031208
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x53c], 0x7f49
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100311f0
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100312d8
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
jmp 0x100312d6
pop ebx
push ebx
lea ecx, [ebp - 0xac4]
call fcn.100169cf
mov byte [ebp - 4], bl
mov dword [ebp - 0x1c], 0
jmp 0x10031253
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xac4]
call fcn.10016a3c
mov dword [eax], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003123c
mov dword [ebp - 0x20], 0
jmp 0x100312c3
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b0]
call fcn.10016a3c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b0]
call fcn.10016a3c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b0]
mov esi, eax
call fcn.10016a3c
push 0
mov ecx, dword [eax]
mov dword [esi], ecx
lea ecx, [ebp - 0xac4]
call fcn.10016a3c
mov ecx, dword [esi]
cmp ecx, 0x87f9bd85
push 0
mov dword [eax], ecx
sbb eax, eax
inc eax
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x40], eax
call fcn.10016a3c
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10031261
lea ecx, [ebp - 0xac4]
call fcn.10016a37
push 2
pop esi
xor eax, eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], al
call fcn.10016a37
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff8
push 1
pop ebx
jle 0x10031049
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031317
push 0x1fd6
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x750]
call fcn.10016a37
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x28], ebx
dec dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10031366
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 7
jmp 0x1003135d
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003135a
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jle 0x10031346
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jl 0x1003133a
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100314bb
mov dword [ebp - 0x38], 0xe2db
push 0xfffffffffffffff8
pop ecx
mov dword [ebp - 0xc30], ecx
mov dword [ebp - 0xc2c], ecx
mov dword [ebp - 0xc28], ecx
mov dword [ebp - 0xc24], ecx
mov dword [ebp - 0x18], 0x8530de9b
mov dword [ebp - 0x44], 0x83e7
mov dword [ebp - 0x4c], 0xb221494f
push 4
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x100313d3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xcb0], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100313bb
xor eax, eax
inc dword [ebp - 0x38]
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jg 0x100314af
mov dword [ebp - 0x2c], 0xe3e4
mov dword [ebp - 0x44], 0xac06e326
mov dword [ebp - 0x30], 0xc8e12b6a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10031416
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xadc], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10031402
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10031421
mov eax, dword [ebp - 0xca8]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0xc30], eax
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xca8]
cmp eax, 0xf20bab1f
mov eax, dword [ebp - 0xad4]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xad8]
push 3
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xca8]
setle cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge bl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0xc8cdab0b
pop ecx
sbb eax, eax
add eax, 0x46bc
mov dword [ebp - 0xcac], eax
mov dword [ebp - 0xad4], eax
inc dword [ebp - 0x38]
push 0
pop eax
cmp dword [ebp - 0x38], ecx
jle 0x100313e5
xor ebx, ebx
inc ebx
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
movdqa xmm0, xmmword [0x10007ca0]
lea ecx, [ebp - 0x1554]
mov dword [ebp - 0x44], 0xbaf43b7c
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x10ac]
push eax
lea eax, [ebp - 0x10bc]
mov dword [ebp - 0x44], 0x6f5a9c4c
mov dword [ebp - 0x44], 0xfffffffa
push eax
movdqu xmmword [ebp - 0x10bc], xmm0
call fcn.10016a4b
lea ecx, [ebp - 0xf3]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xd9c]
push dword [esi]
call fcn.10016a11
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1464]
movdqa xmm0, xmmword [0x10007c60]
mov eax, 0x674f
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0x598aaf0a
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x87c], eax
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], eax
lea eax, [ebp - 0x11ac]
push eax
lea eax, [ebp - 0x11bc]
push eax
movdqu xmmword [ebp - 0x11bc], xmm0
call fcn.10016a4b
lea ecx, [ebp - 0xe9]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x12e8]
push dword [esi]
call fcn.10016a11
push 4
pop eax
push 3
mov byte [ebp - 4], al
lea ecx, [ebp - 0xd9c]
dec dword [ebp - 0x878]
pop esi
mov dword [ebp - 0x2c], ebx
push esi
call fcn.10016a3c
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
lea ecx, [ebp - 0x12e8]
call fcn.10016a37
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd9c]
call fcn.10016a37
mov dword [ebp - 0x10], 0x99dada43
mov dword [ebp - 0x2c], 0xc8100c43
mov dword [ebp - 0x1c], 0
jmp 0x100315fe
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x264], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100315f1
push 2
pop ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
push 4
pop edx
jl 0x1003166e
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x264]
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x260]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x264]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x264]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x264]
mov dword [ebp - 0x2c], 0x4f230135
cmp dword [ebp - 0x2c], 0
jne 0x1003166e
dec dword [ebp - 0x10]
jns 0x10031612
mov eax, dword [ebp - 0x264]
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x18], 0x34392f20
mov dword [ebp - 0x30], 0xd635
mov dword [ebp - 0x10], 0
jmp 0x100316a3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031696
mov dword [ebp - 0x10], 0
jmp 0x100316be
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x61c], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100316b1
mov dword [ebp - 0x9c], 0x19
jmp 0x100317a4
mov dword [ebp - 0x3c], 0x48f69f7f
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], 0xc8d46758
mov dword [ebp - 0x3c], 0
jmp 0x10031795
mov dword [ebp - 0x28], 0x657689a
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x61c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x61c], ecx
xor eax, eax
test ecx, ecx
jne 0x1003171e
mov dword [ebp - 0x38], 0xfffa
mov edx, eax
cmp dword [ebp - 0x38], eax
je 0x10031720
mov edx, ebx
cmp dword [ebp - 0x9c], 0xfd06
jne 0x10031733
cmp dword [ebp - 0x28], eax
je 0x10031733
mov eax, ebx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18]
je 0x10031747
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x4c], eax
je 0x10031749
mov ecx, ebx
mov eax, dword [ebp - 0x28]
sub eax, ecx
xor ecx, ecx
cmp edx, eax
push 2
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0xffffffe3
pop ecx
cmp dword [ebp - 0x28], 0xc
jl 0x10031792
mov dword [ebp - 0x38], 0
jmp 0x10031788
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x61c], 0xfbb9cf7d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ecx
jl 0x10031777
inc dword [ebp - 0x28]
jmp 0x10031768
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x100316ef
dec dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], 0xfffffffa
jl 0x100316d2
cmp byte [ebp - 0x11], 0
je 0x100318b4
push ecx
lea ecx, [ebp - 0xfbc]
call fcn.100169cf
push ebx
lea ecx, [ebp - 0x3ec]
mov dword [ebp - 4], 5
call fcn.100169cf
push 2
mov byte [ebp - 4], 6
mov dword [ebp - 0x10], 0
pop esi
jmp 0x100317fe
push dword [ebp - 0x10]
lea ecx, [ebp - 0xfbc]
call fcn.10016a3c
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100317ea
mov dword [ebp - 0x10], 0
jmp 0x1003181d
push dword [ebp - 0x10]
call fcn.10016a3c
mov dword [eax], 0x2ee76f50
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x3ec]
cmp dword [ebp - 0x10], ebx
jl 0x1003180c
push 0
call fcn.10016a3c
and dword [eax], 0
jmp 0x1003187d
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10031857
push 0xb17
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003186f
push eax
push 0x23b7
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
xor eax, eax
push eax
lea ecx, [ebp - 0x3ec]
call fcn.10016a3c
inc dword [eax]
push 0
lea ecx, [ebp - 0x3ec]
call fcn.10016a3c
cmp dword [eax], ebx
jle 0x10031834
lea ecx, [ebp - 0x3ec]
call fcn.10016a37
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfbc]
call fcn.10016a37
xor eax, eax
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x100318b7
push 2
pop esi
mov dword [ebp - 0x38], 0xfa51
xor eax, eax
mov dword [ebp - 0xc50], eax
xor ecx, ecx
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0xc48], eax
mov dword [ebp - 0xc44], eax
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0x941f
setl cl
mov dword [ebp - 0xc50], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x30], 0x3d5943e2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10031933
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [ebp - 0x1c], 0x7ad95e17
lea ecx, [ebp - 0xdb4]
mov dword [ebp - 0x44], 0xfffffff7
push ebx
call fcn.100169cf
mov dword [ebp - 4], 7
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], 0
jmp 0x10031974
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xfa8], 0x4e2db58
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031963
mov dword [ebp - 0x10], 0
jmp 0x10031995
push dword [ebp - 0x10]
lea ecx, [ebp - 0xdb4]
call fcn.10016a3c
mov dword [eax], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031982
inc dword [ebp - 0x2c]
mov dword [ebp - 0x1c], 0xffffffeb
jmp 0x100319be
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100319bb
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
je 0x100319a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdb4]
call fcn.10016a37
push 4
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0xaf4]
pop eax
mov dword [ebp - 0x44], 0x10977a12
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 0x4ff5452f
push esi
call fcn.100169cf
xor eax, eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], eax
jmp 0x10031a22
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xaf4]
call fcn.10016a3c
mov dword [eax], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031a0b
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp eax, ebx
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
imul ecx, edx, 0xb064
cmp ecx, eax
lea ecx, [ebp - 0xaf4]
setg bl
xor edi, edi
inc edi
push edi
call fcn.10016a3c
lea ecx, [ebp - 0xaf4]
mov dword [eax], ebx
mov dword [ebp - 0x50], ebx
or dword [ebp - 4], 0xffffffff
call fcn.10016a37
movdqa xmm0, xmmword [0x10007c10]
lea eax, [ebp - 0x10cc]
push eax
lea eax, [ebp - 0x10dc]
push eax
lea ecx, [ebp - 0x14fc]
movdqu xmmword [ebp - 0x10dc], xmm0
call fcn.10016a4b
lea ecx, [ebp - 0xf7]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x62c]
push dword [esi]
call fcn.10016a11
push 9
pop eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xb24]
push 3
mov dword [ebp - 0x20], 0xfffffffa
pop esi
mov dword [ebp - 0x44], 0x8e1b61ba
mov dword [ebp - 0x30], 0x2a82a10a
mov dword [ebp - 0x44], 0x6bc044b0
push esi
call fcn.100169cf
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x1c], 0
jmp 0x10031b2b
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xb24]
call fcn.10016a3c
mov dword [eax], 0x5cd3860a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031b14
mov dword [ebp - 0x20], 0
mov ebx, 0x9eed08e1
jmp 0x10031d0c
mov dword [ebp - 0x40], 0x15e1abe8
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x4c], 0xfffffff7
mov dword [ebp - 0x18], 0x74c38b6b
push edi
call fcn.100169cf
push esi
lea ecx, [ebp - 0xb0c]
mov byte [ebp - 4], 0xb
call fcn.100169cf
xor eax, eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10031b9e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x464]
call fcn.10016a3c
mov dword [eax], 0x2bf33880
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10031b80
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10031bc4
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb0c]
call fcn.10016a3c
mov dword [eax], 0xf0cf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10031ba6
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031bd4
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
push edi
lea ecx, [ebp - 0xb0c]
call fcn.10016a3c
push 0
lea ecx, [ebp - 0xb24]
mov esi, eax
call fcn.10016a3c
mov ecx, dword [esi]
push dword [ebp - 0x20]
mov dword [eax], ecx
lea ecx, [ebp - 0x62c]
call fcn.10016a3c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x62c]
push dword [ebp - 0x20]
inc dword [esi]
call fcn.10016a3c
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10031c80
push eax
lea ecx, [ebp - 0x464]
call fcn.10016a3c
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x4c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x18]
jl 0x10031c53
push dword [ebp - 0x20]
lea ecx, [ebp - 0x62c]
call fcn.10016a3c
cmp dword [eax], 0
jne 0x10031c5e
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10031c60
mov esi, eax
jmp 0x10031c62
xor eax, eax
mov esi, edi
push eax
lea ecx, [ebp - 0x464]
call fcn.10016a3c
mov ecx, dword [eax]
mov eax, dword [ebp - 0x20]
imul ecx, esi
add eax, ecx
je 0x10031c7e
xor eax, eax
jmp 0x10031c82
xor eax, eax
mov edi, eax
push eax
lea ecx, [ebp - 0x464]
call fcn.10016a3c
push 0
lea ecx, [ebp - 0x464]
mov esi, eax
call fcn.10016a3c
mov ecx, dword [esi]
xor edx, edx
add ecx, edi
mov eax, dword [eax]
add eax, 0xffff87fc
add ecx, eax
mov eax, dword [ebp - 0x40]
cmp ecx, eax
setle dl
add edx, dword [ebp - 0x40]
cmp edx, 0x5a4e
jge 0x10031ccc
cmp dword [ebp - 0x18], 0
je 0x10031ccc
xor edi, edi
inc edi
mov ecx, edi
jmp 0x10031cd1
xor edi, edi
xor ecx, ecx
inc edi
mov eax, dword [ebp - 0x50]
sub ecx, eax
je 0x10031cdb
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x20]
lea ecx, [ebp - 0x62c]
call fcn.10016a3c
mov dword [ebp - 0x40], edi
lea ecx, [ebp - 0xb0c]
call fcn.10016a37
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0xa
call fcn.10016a37
inc dword [ebp - 0x20]
push 3
pop esi
cmp dword [ebp - 0x20], esi
jle 0x10031b41
lea ecx, [ebp - 0xb24]
call fcn.10016a37
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x62c]
call fcn.10016a37
push 4
pop ebx
mov dword [ebp - 0x34], 0x7d65121a
lea ecx, [ebp - 0x57c]
push ebx
call fcn.100169cf
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x4c], 0xfffffffa
mov dword [ebp - 0x2c], 0xfd522803
mov dword [ebp - 0x2c], 0xa8db8846
mov dword [ebp - 0x30], 0x7c8a
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], 0
jmp 0x10031d8b
push dword [ebp - 0x24]
lea ecx, [ebp - 0x57c]
call fcn.10016a3c
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031d74
mov dword [ebp - 0x24], 0
jmp 0x10031daa
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xb78], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10031d99
mov dword [ebp - 0x24], 0
jmp 0x10031dc9
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x13f0], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10031db8
mov dword [ebp - 0x24], 0
jmp 0x10031de8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1300], 0x6c5533f2
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10031dd7
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x57c]
mov eax, dword [ebp - 0x34]
xor ebx, ebx
push 2
cmp eax, edi
pop eax
push eax
setle bl
call fcn.10016a3c
xor ecx, ecx
cmp ebx, edi
setg cl
xor edx, edx
mov dword [eax], ebx
mov eax, dword [ebp - 0x4c]
cmp ecx, eax
mov eax, 0xfd81
setge dl
xor ecx, ecx
sub eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb74]
cmp eax, 0x4a6b2c4e
setle cl
cmp dword [ebp - 0x34], ecx
jg 0x10031e59
push edi
lea ecx, [ebp - 0x57c]
call fcn.10016a3c
cmp dword [eax], 0
jne 0x10031e59
xor eax, eax
jmp 0x10031e5b
mov eax, edi
push 2
pop ebx
add eax, 0x9e14
jne 0x10031e7a
push ebx
lea ecx, [ebp - 0x57c]
call fcn.10016a3c
cmp dword [eax], 0
jne 0x10031e7a
mov edx, edi
jmp 0x10031e7c
xor edx, edx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0xb74]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x13ec], eax
jne 0x10031ea3
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x34], eax
je 0x10031ea5
mov ecx, edi
mov eax, dword [ebp - 0x30]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x4c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 6
lea ecx, [ebp - 0x57c]
setne al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0x12f8], 8
or dword [ebp - 4], 0xffffffff
call fcn.10016a37
mov dword [ebp - 0x44], 0xffff
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x3c], 0x540d7f82
push esi
call fcn.100169cf
push 0xfffffffffffffffc
mov dword [ebp - 4], 0xe
pop eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10031f35
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x810]
call fcn.10016a3c
mov dword [eax], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10031f17
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xfffffff8
jg 0x100321ea
push esi
lea ecx, [ebp - 0x358]
call fcn.100169cf
mov byte [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x44], 0xd0357257
mov dword [ebp - 0x44], 0x3f0244c3
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x4c], 0x4e7f
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x10031f98
push dword [ebp - 0x24]
lea ecx, [ebp - 0x358]
call fcn.10016a3c
mov dword [eax], 0xfc0272a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10031f7a
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x10031fb8
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xf54], 0x81eca6c8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031fa0
xor eax, eax
push 4
mov dword [ebp - 0x24], eax
pop ecx
cmp dword [ebp - 0x24], ecx
jge 0x10031fdb
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x101c], 0x5a60c437
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x10031fc3
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10031ff1
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x550], 0x158e
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10031fe0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x18]
inc dword [ebp - 0x4c]
cmp ecx, eax
jne 0x10032005
xor edi, edi
inc dword [ebp - 0x101c]
mov eax, dword [ebp - 0x101c]
je 0x1003201f
push ebx
lea ecx, [ebp - 0x358]
call fcn.10016a3c
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x810]
mov eax, dword [ebp - 0x3c]
push 0
call fcn.10016a3c
push ebx
lea ecx, [ebp - 0x358]
mov dword [eax], 0xfffffff6
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
call fcn.10016a3c
mov edx, dword [ebp - 0x54c]
mov esi, eax
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cmp ecx, edx
mov ecx, dword [ebp - 0x3c]
push 2
setne al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xf54]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x54c]
cmp edi, ecx
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setl cl
xor edx, edx
imul ecx, ecx, 0x5465
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sete dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setl bl
xor ecx, ecx
cmp ebx, eax
pop ebx
setne cl
xor edx, edx
cmp ecx, 0xc462
setne dl
xor eax, eax
cmp dword [esi], edx
setg al
imul eax, eax, 0x426c
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10032116
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100320fb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x550], 0x7f49
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100320e3
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100321c6
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
jmp 0x100321c6
push ebx
lea ecx, [ebp - 0x8c0]
call fcn.100169cf
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x1c], 0
jmp 0x10032146
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x8c0]
call fcn.10016a3c
mov dword [eax], 0xfffffff6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003212f
mov dword [ebp - 0x20], 0
jmp 0x100321b6
push dword [ebp - 0x20]
lea ecx, [ebp - 0x358]
call fcn.10016a3c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x358]
call fcn.10016a3c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x358]
mov esi, eax
call fcn.10016a3c
push 0
mov ecx, dword [eax]
mov dword [esi], ecx
lea ecx, [ebp - 0x8c0]
call fcn.10016a3c
mov ecx, dword [esi]
cmp ecx, 0x87f9bd85
push 0
mov dword [eax], ecx
sbb eax, eax
inc eax
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x40], eax
call fcn.10016a3c
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x10032154
lea ecx, [ebp - 0x8c0]
call fcn.10016a37
lea ecx, [ebp - 0x358]
mov byte [ebp - 4], 0xe
call fcn.10016a37
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff8
push 1
pop edi
push 3
pop esi
jle 0x10031f42
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10032209
push 0x1fd6
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x810]
call fcn.10016a37
movdqa xmm0, xmmword [0x10007ca0]
lea ecx, [ebp - 0x15b4]
xor eax, eax
mov byte [ebp - 0x11], al
mov dword [ebp - 0x44], 0xbaf43b7c
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x122c]
push eax
lea eax, [ebp - 0x123c]
mov dword [ebp - 0x44], 0x6f5a9c4c
mov dword [ebp - 0x44], 0xfffffffa
push eax
movdqu xmmword [ebp - 0x123c], xmm0
call fcn.10016a4b
lea ecx, [ebp - 0xf9]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xf28]
push dword [esi]
call fcn.10016a11
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x1484]
movdqa xmm0, xmmword [0x10007c60]
mov eax, 0x674f
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x44], 0x598aaf0a
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x85c], eax
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x854], eax
lea eax, [ebp - 0x10ec]
push eax
lea eax, [ebp - 0x10fc]
push eax
movdqu xmmword [ebp - 0x10fc], xmm0
call fcn.10016a4b
lea ecx, [ebp - 0xfb]
mov esi, eax
call fcn.10008c23
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1390]
push dword [esi]
call fcn.10016a11
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xf28]
dec dword [ebp - 0x858]
xor esi, esi
inc esi
mov dword [ebp - 0x2c], esi
push 3
call fcn.10016a3c
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
lea ecx, [ebp - 0x1390]
call fcn.10016a37
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf28]
call fcn.10016a37
cmp byte [ebp - 0x11], 0
je 0x1003234c
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [ebp - 0x28], esi
dec dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10032385
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 7
jmp 0x1003237c
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10032379
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jle 0x10032365
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jl 0x10032359
mov dword [ebp - 0x38], 0xe2db
push 0xfffffffffffffff8
pop ecx
mov dword [ebp - 0xcf0], ecx
mov dword [ebp - 0xcec], ecx
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 0x18], 0x8530de9b
mov dword [ebp - 0x44], 0x83e7
mov dword [ebp - 0x4c], 0xb221494f
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x100323e5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc70], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100323cd
xor eax, eax
inc dword [ebp - 0x38]
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jg 0x100324c4
mov dword [ebp - 0x2c], 0xe3e4
mov dword [ebp - 0x44], 0xac06e326
mov dword [ebp - 0x30], 0xc8e12b6a
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10032428
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xad0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10032414
xor eax, eax
cmp dword [ebp - 0x2c], eax
jne 0x10032433
mov eax, dword [ebp - 0xc68]
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0xcf0], eax
inc dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc68]
cmp eax, 0xf20bab1f
mov eax, dword [ebp - 0xac8]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xacc]
push 3
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc68]
setle cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge bl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, 0xc8cdab0b
pop ecx
sbb eax, eax
add eax, 0x46bc
mov dword [ebp - 0xc6c], eax
mov dword [ebp - 0xac8], eax
inc dword [ebp - 0x38]
push 0
pop eax
cmp dword [ebp - 0x38], ecx
jle 0x100323f7
push 2
pop ebx
push 4
pop edx
mov byte [ebp - 0x11], al
mov dword [ebp - 0x10], 0x99dada43
mov dword [ebp - 0x2c], 0xc8100c43
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x100324f1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x21c], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x100324dd
xor eax, eax
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10032555
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x218]
mov eax, dword [ebp - 0x218]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x21c]
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x218]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x21c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x21c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x21c]
mov dword [ebp - 0x2c], 0x4f230135
cmp dword [ebp - 0x2c], 0
jne 0x10032555
dec dword [ebp - 0x10]
jns 0x100324f9
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x21c]
mov dword [ebp - 0x10], eax
cmp byte [ebp - 0x11], 0
je 0x100326ac
mov dword [ebp - 0x18], 0x34392f20
xor eax, eax
mov dword [ebp - 0x30], 0xd635
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10032598
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x98], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10032584
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100325b4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6dc], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100325a0
xor eax, eax
mov dword [ebp - 0x98], 0x19
jmp 0x10032694
mov dword [ebp - 0x3c], 0x48f69f7f
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x4c], 0xc8d46758
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], esi
jg 0x1003268e
mov dword [ebp - 0x28], 0x657689a
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x6dc]
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x6dc], ecx
xor eax, eax
test ecx, ecx
jne 0x1003260f
mov dword [ebp - 0x38], 0xfffa
mov edx, eax
cmp dword [ebp - 0x38], eax
je 0x10032611
mov edx, esi
cmp dword [ebp - 0x98], 0xfd06
jne 0x10032624
cmp dword [ebp - 0x28], eax
je 0x10032624
mov eax, esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x18]
je 0x10032638
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x4c], eax
je 0x1003263a
mov ecx, esi
mov eax, dword [ebp - 0x28]
sub eax, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0xffffffe3
jmp 0x1003267a
mov dword [ebp - 0x38], 0
jmp 0x10032672
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x6dc], 0xfbb9cf7d
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], ebx
jl 0x10032661
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xc
jge 0x10032658
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], esi
jle 0x100325e0
xor eax, eax
dec dword [ebp - 0x98]
cmp dword [ebp - 0x98], 0xfffffffa
jl 0x100325c3
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push 3
pop ecx
mov dword [ebp - 0x38], 0xfa51
xor eax, eax
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xccc], eax
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 0xcc4], eax
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0x941f
setl cl
mov dword [ebp - 0xcd0], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x30], 0x3d5943e2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10032724
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov dword [ebp - 0x1c], 0x7ad95e17
lea ecx, [ebp - 0xdcc]
mov dword [ebp - 0x44], 0xfffffff7
push esi
call fcn.100169cf
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], 0
jmp 0x10032765
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd64], 0x4e2db58
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10032754
mov dword [ebp - 0x10], 0
jmp 0x10032786
push dword [ebp - 0x10]
lea ecx, [ebp - 0xdcc]
call fcn.10016a3c
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10032773
inc dword [ebp - 0x2c]
mov dword [ebp - 0x1c], 0xffffffeb
jmp 0x100327af
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100327ac
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
je 0x10032797
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdcc]
call fcn.10016a37
push 4
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x8d8]
pop eax
mov dword [ebp - 0x44], 0x10977a12
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30], 0x4ff5452f
push ebx
call fcn.100169cf
xor eax, eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], eax
jmp 0x10032813
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x8d8]
call fcn.10016a3c
mov dword [eax], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100327fc
mov eax, dword [ebp - 0x4c]
xor edx, edx
cmp eax, esi
push esi
setge dl
xor ecx, ecx
imul edx, dword [ebp - 0x4c]
imul edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setne cl
xor edx, edx
cmp ecx, eax
setg dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
imul ecx, edx, 0xb064
cmp ecx, eax
lea ecx, [ebp - 0x8d8]
setg bl
call fcn.10016a3c
lea ecx, [ebp - 0x8d8]
mov dword [eax], ebx
mov dword [ebp - 0x50], ebx
or dword [ebp - 4], 0xffffffff
call fcn.10016a37
mov dword [ebp - 0x1c], 0x7ad95e17
lea ecx, [ebp - 0x107c]
mov dword [ebp - 0x44], 0xfffffff7
push esi
call fcn.100169cf
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], 0
jmp 0x100328b7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf10], 0x4e2db58
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100328a6
mov dword [ebp - 0x10], 0
jmp 0x100328d8
push dword [ebp - 0x10]
lea ecx, [ebp - 0x107c]
call fcn.10016a3c
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100328c5
inc dword [ebp - 0x2c]
mov dword [ebp - 0x1c], 0xffffffeb
jmp 0x10032901
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100328fe
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe7
je 0x100328e9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x107c]
call fcn.10016a37
xor eax, eax
mov dword [ebp - 0x38], 0x860b4ffb
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10032941
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x404], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10032928
xor eax, eax
push 2
pop ebx
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], eax
jl 0x1003299e
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x10032999
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x404]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x404]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x404]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x404]
mov ecx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x404], ecx
dec dword [ebp - 0x28]
jns 0x10032957
xor eax, eax
dec dword [ebp - 0x38]
jns 0x1003294c
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100329b7
push 0x1fd6
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_RedrawWindow]
push ebx
lea ecx, [ebp - 0xde4]
call fcn.100169cf
push esi
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 4], 0x16
call fcn.100169cf
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x10], 0
jmp 0x100329f7
push dword [ebp - 0x10]
lea ecx, [ebp - 0xde4]
call fcn.10016a3c
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x100329e3
mov dword [ebp - 0x10], 0
jmp 0x10032a16
push dword [ebp - 0x10]
call fcn.10016a3c
mov dword [eax], 0x2ee76f50
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x4c4]
cmp dword [ebp - 0x10], esi
jl 0x10032a05
push 0
call fcn.10016a3c
and dword [eax], 0
jmp 0x10032a76
push 0
lea ecx, [ebp - 0x4c4]
call fcn.10016a3c
cmp dword [eax], esi
jle 0x10032a2d