Function at 0x1002ee6e
Capabilities:
Accept command line arguments
Check os version
Extract resource via kernel32 functions
Get file attributes
Get file system object information
Get graphical window text
Get session user name
Identify system language via api
Parse pe header
Set registry value
Start service
Suspend thread

Disassembly:
mov eax, 0x1007ca0c
call fcn.1007b44c
mov eax, 0x13f4
call fcn.10077510
push ebx
push esi
push edi
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0xa68]
push 2
mov byte [ebp - 0x6d], dl
call fcn.10016394
xor eax, eax
xor ebx, ebx
mov dword [ebp - 4], eax
inc ebx
push 4
pop edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], 0xab653b1d
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002eed0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xeb8], 7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002eeb8
xor eax, eax
push 0xfffffffffffffffe
mov dword [ebp - 0x14], eax
pop edi
jmp 0x1002eef4
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x20], 0xffffffec
jmp 0x1002eeec
cmp dword [ebp - 0x14], eax
jne 0x1002eef1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jge 0x1002eee4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1b
jne 0x1002eed8
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002f10e
jmp 0x1002ef0e
push 4
pop edx
push edx
lea ecx, [ebp - 0x8e8]
call fcn.10016394
mov byte [ebp - 4], bl
xor eax, eax
mov dword [ebp - 0x38], 0x188e17b8
push 4
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x1002ef4f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x8e8]
call fcn.10016432
mov dword [eax], 0xf2121f90
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002ef31
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002ef71
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1300], 0x68108531
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002ef58
xor eax, eax
push 3
mov dword [ebp - 0x38], eax
pop ecx
cmp dword [ebp - 0x38], ecx
jg 0x1002f0f1
push ecx
lea ecx, [ebp - 0x3d4]
call fcn.10016394
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x4c], 0xfffffffd
mov ecx, 0x758fc567
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x50], 0xed1d25bb
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x3b0639e6
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xb68], ecx
mov dword [ebp - 0xb64], ecx
mov dword [ebp - 0xb60], ecx
mov dword [ebp - 0xb5c], ecx
push 3
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x1002eff6
push dword [ebp - 0x20]
lea ecx, [ebp - 0x3d4]
call fcn.10016432
mov dword [eax], 0xd7249aae
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002efd8
xor eax, eax
push eax
lea ecx, [ebp - 0x3d4]
call fcn.10016432
and dword [eax], 0
jmp 0x1002f0b9
mov dword [ebp - 0x2c], ebx
xor eax, eax
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], 0x9bca7b5c
mov dword [ebp - 0x2c], 0x717f4039
mov dword [ebp - 0x2c], 0xb42be197
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jge 0x1002f04e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x115c], 0x7494dfd9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1002f036
xor eax, eax
dec dword [ebp - 0x24]
jne 0x1002f08d
push eax
lea ecx, [ebp - 0x3d4]
call fcn.10016432
lea ecx, [ebp - 0x8e8]
push dword [eax]
call fcn.10016432
cmp dword [eax], 0
je 0x1002f140
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002f084
mov eax, dword [ebp - 0x115c]
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002f142
mov ecx, ebx
xor eax, eax
cmp ecx, 0x2f8ba796
lea ecx, [ebp - 0x3d4]
setl al
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xb68], eax
xor eax, eax
push eax
call fcn.10016432
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x3d4]
push eax
call fcn.10016432
push 3
pop ecx
cmp dword [eax], ecx
jle 0x1002f00a
lea ecx, [ebp - 0x3d4]
mov byte [ebp - 4], bl
call fcn.10016416
inc dword [ebp - 0x38]
push 3
pop ecx
cmp dword [ebp - 0x38], ecx
jle 0x1002ef80
xor eax, eax
lea ecx, [ebp - 0x8e8]
mov byte [ebp - 4], al
call fcn.10016416
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff6
jl 0x1002ef0b
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002f138
push 5
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa68]
call fcn.10016432
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002f11a
xor ebx, ebx
xor eax, eax
inc ebx
push 4
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1002f15a
xor eax, eax
mov ecx, eax
jmp 0x1002f08f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x698], 0xdf1febae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f149
movdqa xmm0, xmmword [0x10007e80]
lea eax, [ebp - 0x10d0]
push eax
lea eax, [ebp - 0x10e0]
push eax
lea ecx, [ebp - 0x1238]
movdqu xmmword [ebp - 0x10e0], xmm0
call fcn.10016441
lea ecx, [ebp - 0x1a1]
mov esi, eax
call fcn.10008e13
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x460]
push dword [esi]
call fcn.100163f0
push 3
pop ecx
mov byte [ebp - 4], cl
or esi, 0xffffffff
mov dword [ebp - 0x44], esi
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ecx
jg 0x1002f31d
push ebx
lea ecx, [ebp - 0x7d4]
call fcn.10016394
push 4
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f1fd
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7d4]
call fcn.10016432
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f1e2
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002f220
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11d4], 0xbb7a1405
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f208
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f230
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp eax, ebx
jne 0x1002f2da
push dword [ebp - 0x44]
lea ecx, [ebp - 0x460]
call fcn.10016432
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x1002f26e
push dword [ebp - 0x44]
lea ecx, [ebp - 0x460]
call fcn.10016432
cmp dword [eax], 0
je 0x1002f26c
mov esi, ebx
xor eax, eax
jmp 0x1002f270
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x7d4]
call fcn.10016432
lea ecx, [ebp - 0x7d4]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10016432
cmp dword [eax], 0
jne 0x1002f294
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x11d4]
lea ecx, [ebp - 0x460]
mov eax, dword [ebp - 0x4c]
push ebx
call fcn.10016432
xor ecx, ecx
cmp dword [eax], 0xffffffff
setge cl
xor ebx, ebx
cmp ecx, 0x6cad8e65
lea ecx, [ebp - 0x460]
setl bl
xor eax, eax
push eax
call fcn.10016432
cmp ebx, dword [eax]
jle 0x1002f2d7
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
jmp 0x1002f2dc
xor ebx, ebx
inc ebx
mov esi, ebx
push 3
pop eax
push eax
lea ecx, [ebp - 0x460]
call fcn.10016432
xor ecx, ecx
cmp esi, 0xc705be73
push 3
setne cl
mov dword [eax], ecx
lea ecx, [ebp - 0x7d4]
pop eax
mov byte [ebp - 4], al
call fcn.10016416
inc dword [ebp - 0x44]
push 3
pop eax
cmp dword [ebp - 0x44], eax
jle 0x1002f1c6
xor eax, eax
or esi, 0xffffffff
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f33e
push eax
push eax
push 0x2bd
call edi
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
lea ecx, [ebp - 0x460]
mov byte [ebp - 4], al
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x68c], eax
jmp 0x1002f36d
push dword [ebp - 0x68c]
call fcn.10016432
mov dword [eax], 0xe3245f1d
inc dword [ebp - 0x68c]
cmp dword [ebp - 0x68c], 2
lea ecx, [ebp - 0xa68]
jl 0x1002f356
mov dword [ebp - 4], esi
call fcn.10016416
mov dword [ebp - 0x28], 0x22a149ce
xor eax, eax
mov dword [ebp - 0x24], 0xe012d2c8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f3b4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x188], 0xbb4ebb0c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f39c
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f3d1
push 5
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x62c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f3bf
mov eax, dword [ebp - 0x188]
xor edx, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x28]
setge dl
movdqa xmm0, xmmword [0x10007e80]
dec ecx
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl bl
imul eax, edx
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x188]
movdqu xmmword [ebp - 0xfa0], xmm0
setle dl
xor ecx, ecx
cmp edx, eax
lea eax, [ebp - 0xf90]
push eax
setne cl
lea eax, [ebp - 0xfa0]
mov dword [ebp - 0x62c], ecx
lea ecx, [ebp - 0x1338]
push eax
call fcn.10016441
lea ecx, [ebp - 0x1a3]
mov esi, eax
call fcn.10008e13
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x4c0]
push dword [esi]
call fcn.100163f0
push 5
pop eax
mov dword [ebp - 4], eax
or esi, 0xffffffff
mov dword [ebp - 0x44], esi
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jg 0x1002f5d8
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x75c]
call fcn.10016394
xor eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f4b8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x75c]
call fcn.10016432
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f49d
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002f4db
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x118c], 0xbb7a1405
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f4c3
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f4eb
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp eax, ebx
jne 0x1002f595
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c0]
call fcn.10016432
xor eax, eax
cmp dword [ebp - 0x44], eax
je 0x1002f529
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c0]
call fcn.10016432
cmp dword [eax], 0
je 0x1002f527
mov esi, ebx
xor eax, eax
jmp 0x1002f52b
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x75c]
call fcn.10016432
lea ecx, [ebp - 0x75c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10016432
cmp dword [eax], 0
jne 0x1002f54f
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x118c]
lea ecx, [ebp - 0x4c0]
mov eax, dword [ebp - 0x4c]
push ebx
call fcn.10016432
xor ecx, ecx
cmp dword [eax], 0xffffffff
setge cl
xor ebx, ebx
cmp ecx, 0x6cad8e65
lea ecx, [ebp - 0x4c0]
setl bl
xor eax, eax
push eax
call fcn.10016432
cmp ebx, dword [eax]
jle 0x1002f592
xor eax, eax
xor ebx, ebx
mov esi, eax
inc ebx
jmp 0x1002f597
xor ebx, ebx
inc ebx
mov esi, ebx
push 3
pop eax
push eax
lea ecx, [ebp - 0x4c0]
call fcn.10016432
xor ecx, ecx
cmp esi, 0xc705be73
push 5
setne cl
mov dword [eax], ecx
lea ecx, [ebp - 0x75c]
pop eax
mov byte [ebp - 4], al
call fcn.10016416
inc dword [ebp - 0x44]
push 3
pop eax
cmp dword [ebp - 0x44], eax
jle 0x1002f483
xor eax, eax
or esi, 0xffffffff
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f5f1
push eax
push eax
push 0x2bd
call edi
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 4], esi
call fcn.10016416
xor ebx, ebx
mov dword [ebp - 0x14], 2
inc ebx
lea ecx, [ebp - 0x81c]
push ebx
call fcn.10016394
mov dword [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x2c], 0xfffa
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002f64b
push dword [ebp - 0x20]
lea ecx, [ebp - 0x81c]
call fcn.10016432
mov dword [eax], 0x13e13a6c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002f62d
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002f65c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x81c]
xor eax, eax
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f686
push dword [ebp - 0x14]
call fcn.10016432
mov dword [eax], esi
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x81c]
cmp dword [ebp - 0x14], ebx
jl 0x1002f679
mov dword [ebp - 4], esi
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x2c], 0x4f01c089
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x1002f6b5
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_MapDialogRect]
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f6cc
push eax
call edi
push eax
call esi
xor eax, eax
mov dword [ebp - 0x28], 0x22a149ce
mov dword [ebp - 0x24], 0xe012d2c8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f6fa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x200], 0xbb4ebb0c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f6e2
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f717
push 5
pop ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x674], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f705
mov eax, dword [ebp - 0x200]
xor edx, edx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x28]
setge dl
dec ecx
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
push 2
setl bl
imul eax, edx
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x200]
pop ebx
setle dl
xor ecx, ecx
cmp edx, eax
push ebx
setne cl
mov dword [ebp - 0x674], ecx
lea ecx, [ebp - 0x900]
call fcn.10016394
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x774]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
inc ebx
push ebx
call fcn.10016394
mov byte [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x2c], 0xfffa
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002f7b9
push dword [ebp - 0x20]
lea ecx, [ebp - 0x774]
call fcn.10016432
mov dword [eax], 0x13e13a6c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002f79b
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002f7ca
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x774]
xor eax, eax
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f7f7
push dword [ebp - 0x14]
call fcn.10016432
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x774]
cmp dword [ebp - 0x14], ebx
jl 0x1002f7e7
mov byte [ebp - 4], 8
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x2c], 0x4f01c089
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x1002f827
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002f838
push eax
call edi
push eax
call esi
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ebx
jmp 0x1002f856
push dword [ebp - 0x14]
lea ecx, [ebp - 0x900]
call fcn.10016432
push 5
pop ecx
mov dword [eax], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f840
mov dword [ebp - 0x30], 0xe7d8a870
lea ecx, [ebp - 0x65c]
xor esi, esi
mov dword [ebp - 0x1c], 0xb969161d
inc esi
mov dword [ebp - 0x3c], 0x621ec218
mov dword [ebp - 0x28], 0xe4c12f69
push esi
call fcn.10016394
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002f8ac
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xac], 0x70fc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f894
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f8c8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x65c]
call fcn.10016432
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f8b1
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ebx
jne 0x1002f969
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x1002fa17
push 0x2625
push eax
push 0x570
push 0x2344
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x1002fa17
xor eax, eax
mov dword [ebp - 0x54], 0x881f6c98
push eax
lea ecx, [ebp - 0x65c]
call fcn.10016432
cmp dword [eax], 0
je 0x1002f9f5
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xac]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x9061e94
mov ecx, dword [ebp - 0x18]
setg al
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, dword [ebp - 0x18]
jne 0x1002f9c5
cmp dword [ebp - 0x1c], eax
je 0x1002f9c5
mov eax, esi
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x65c]
xor eax, eax
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x28]
cmp dword [eax], ecx
jg 0x1002f9eb
xor eax, eax
cmp dword [ebp - 0xac], eax
je 0x1002f9ed
mov eax, esi
jmp 0x1002f9ed
xor eax, eax
cmp eax, dword [ebp - 0x3c]
jl 0x1002f9f5
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0xac]
lea ecx, [ebp - 0x65c]
xor eax, eax
push eax
call fcn.10016432
xor ecx, ecx
cmp dword [eax], 0x8c8e
setl cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], 8
call fcn.10016416
xor eax, eax
push 4
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1002fa41
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6b8], 0xdf1febae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002fa30
push ebx
lea ecx, [ebp - 0x128]
call fcn.10016394
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x14], 0x4cd4536
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x50], 0xa67f6a19
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x24], 0xaa7054f8
mov dword [ebp - 0x4c], 0x5452e2cc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x1002faa1
push dword [ebp - 0x20]
lea ecx, [ebp - 0x128]
call fcn.10016432
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1002fa86
xor eax, eax
mov dword [ebp - 0x14], esi
mov ebx, 0xffff
cmp dword [ebp - 0x14], eax
jl 0x1002fbab
jmp 0x1002fab6
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1002fad3
push 4
pop ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x37c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002fac1
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x128]
xor eax, eax
push eax
call fcn.10016432
xor eax, eax
lea ecx, [ebp - 0x128]
push eax
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x128]
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x128]
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x128]
call fcn.10016432
mov eax, dword [ebp - 0x14]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002fb32
push eax
lea ecx, [ebp - 0x128]
call fcn.10016432
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x128]
push dword [ebp - 0x14]
inc esi
neg esi
sbb esi, esi
neg esi
call fcn.10016432
cmp ebx, esi
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 7
setl dl
cmp edx, dword [eax]
jle 0x1002fb6a
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002fb6c
xor edx, edx
lea esi, [edx + 1]
jmp 0x1002fb6e
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x128]
call fcn.10016432
xor ecx, ecx
cmp esi, dword [eax]
setl cl
xor esi, esi
mov dword [ebp - 0x37c], ecx
inc esi
push esi
lea ecx, [ebp - 0x128]
call fcn.10016432
mov ecx, dword [ebp - 0x50]
imul ecx, dword [eax]
mov dword [ebp - 0x37c], ecx
dec dword [ebp - 0x14]
jns 0x1002fab4
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0x46aa1dd5
setl cl
xor eax, eax
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x128]
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x128]
setg bl
xor eax, eax
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
imul ecx, ebx
imul ecx, ecx, 0x7461
sub edx, ecx
lea ecx, [ebp - 0x128]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, dword [eax]
setl bl
xor eax, eax
push eax
call fcn.10016432
lea ecx, [ebp - 0x128]
sub ebx, dword [eax]
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 4], 8
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x6ac], eax
jmp 0x1002fc7e
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], 0x15
jmp 0x1002fc58
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002fc55
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xd
jge 0x1002fc42
push dword [ebp - 0x6ac]
lea ecx, [ebp - 0x900]
call fcn.10016432
push 0
mov dword [eax], 0xe3245f1d
inc dword [ebp - 0x6ac]
pop eax
cmp dword [ebp - 0x6ac], 2
jl 0x1002fc33
or eax, 0xffffffff
lea ecx, [ebp - 0x900]
mov dword [ebp - 4], eax
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1002fcba
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x88], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002fca2
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov dword [ebp - 0x88], eax
jmp 0x1002fce4
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002fcde
push eax
push 0x157d
call edi
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x88]
cmp dword [ebp - 0x88], 2
jne 0x1002fcc8
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0xb1c]
mov dword [ebp - 0x88], eax
push 2
call fcn.10016394
xor eax, eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002fd39
push 5
pop esi
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb1c]
call fcn.10016432
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002fd1b
xor esi, esi
xor eax, eax
inc esi
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002fd5c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6f8], 0xdf1febae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002fd44
xor eax, eax
mov dword [ebp - 0x6ec], eax
jmp 0x1002fd7b
push dword [ebp - 0x6ec]
call fcn.10016432
mov dword [eax], 0xe3245f1d
inc dword [ebp - 0x6ec]
cmp dword [ebp - 0x6ec], 2
lea ecx, [ebp - 0xb1c]
jl 0x1002fd64
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016416
push 2
lea ecx, [ebp - 0x918]
call fcn.10016394
xor eax, eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002fdd5
push 5
pop esi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x918]
call fcn.10016432
mov dword [eax], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1002fdb7
xor esi, esi
xor eax, eax
inc esi
push 4
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002fdf8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6d8], 0xdf1febae
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002fde0
xor eax, eax
mov dword [ebp - 0x6cc], eax
jmp 0x1002fe17
push dword [ebp - 0x6cc]
call fcn.10016432
mov dword [eax], 0xe3245f1d
inc dword [ebp - 0x6cc]
cmp dword [ebp - 0x6cc], 2
lea ecx, [ebp - 0x918]
jl 0x1002fe00
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x1002fe50
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x80], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1002fe3b
xor eax, eax
mov dword [ebp - 0x80], eax
jmp 0x1002fe6e
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1002fe6b
push eax
push 0x157d
call edi
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], 2
jne 0x1002fe55
mov eax, dword [ebp - 0x80]
or ecx, 0xffffffff
mov dword [ebp - 0x80], eax
mov eax, 0xffff
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x24], 0x884cb8f6
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0x5a7ab5bf
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x2c], 0x709e8e54
mov dword [ebp - 0x2c], 0xec1e183a
mov dword [ebp - 0x2c], 0x6eae1177
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0x1d9d65fe
mov dword [ebp - 0x2c], 0x900d2964
mov dword [ebp - 0x2c], ecx
push 3
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 6
push ecx
mov dword [ebp - 0x2c], 0x82b3f54c
lea ecx, [ebp - 0xc14]
mov dword [ebp - 0x2c], 0xfffffffc
call fcn.10016394
mov dword [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x50], 0x23ff4914
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x1002ff4e
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc14]
call fcn.10016432
push 3
pop edx
mov dword [eax], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002ff2d
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002ff6e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd0c], 0xf2ec2878
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002ff56
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x1002ff84
imul eax, dword [ebp - 0x38], 0x981f
test eax, eax
je 0x1002ff82
mov ecx, esi
jmp 0x1002ff86
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x24], esi
cmp dword [ebp - 0x24], esi
sbb eax, eax
neg eax
cmp eax, edx
jge 0x1002ff9e
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002ff9e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, 0x84b7b831
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x24]
je 0x1002ffc4
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1002ffc6
mov eax, esi
jmp 0x1002ffc6
xor eax, eax
xor edx, edx
cmp eax, 0xf4cc
sete dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
sub eax, ecx
mov ecx, 0x8b9628ea
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb65a
lea ecx, [ebp - 0xc14]
setne al
sub eax, 0x58d0336d
mov dword [ebp - 0x24], eax
or eax, 0xffffffff
dec dword [ebp - 0x50]
mov dword [ebp - 4], eax
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10030045
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x84], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1003002d
xor eax, eax
mov dword [ebp - 0x84], eax
jmp 0x10030069
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x10030063
push eax
push 0x157d
call edi
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x84]
cmp dword [ebp - 0x84], 2
jne 0x1003004d
mov eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x13c8]
movdqa xmm0, xmmword [0x10007ec0]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x1070]
push eax
lea eax, [ebp - 0x1080]
push eax
movdqu xmmword [ebp - 0x1080], xmm0
call fcn.10016441
lea ecx, [ebp - 0x1c9]
mov esi, eax
call fcn.10008e13
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x174]
push dword [esi]
call fcn.100163f0
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x14], 0xa18885c6
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x24], 0xa1448afe
mov dword [ebp - 0x50], 0xc2df100
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1003010c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xef4], 0xfffffffe
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100300f3
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1003012f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec8], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030117
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
cmp dword [ebp - 0x14], ecx
jg 0x10030302
push 2
lea ecx, [ebp - 0x2e8]
call fcn.10016394
xor eax, eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x20], eax
jmp 0x1003016d
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2e8]
call fcn.10016432
mov dword [eax], 9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10030156
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
call fcn.10016432
mov esi, eax
lea ecx, [ebp - 0x174]
xor eax, eax
push eax
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
mov edi, dword [eax]
add edi, dword [esi]
call fcn.10016432
cmp edi, dword [eax]
jge 0x100301b8
mov eax, dword [ebp - 0x14]
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
call fcn.10016432
push ebx
lea ecx, [ebp - 0x174]
mov esi, eax
call fcn.10016432
mov ecx, dword [eax]
cmp ecx, dword [esi]
jle 0x100301e6
push ebx
lea ecx, [ebp - 0x174]
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
call fcn.10016432
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0xef0], eax
mov eax, dword [ebp - 0x28]
test eax, eax
push 3
pop eax
setns bl
mov dword [ebp - 0xec0], ebx
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x24]
add ecx, ebx
xor ebx, ebx
push 2
cmp ecx, dword [eax]
lea ecx, [ebp - 0x174]
setl bl
call fcn.10016432
push dword [ebp - 0x14]
lea ecx, [ebp - 0x174]
mov esi, dword [eax]
imul esi, ebx
call fcn.10016432
xor ebx, ebx
lea ecx, [ebp - 0x2e8]
inc ebx
push ebx
mov dword [eax], esi
call fcn.10016432
push ebx
lea ecx, [ebp - 0x2e8]
call fcn.10016432
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x2e8]
push ebx
call fcn.10016432
push ebx
lea ecx, [ebp - 0x2e8]
call fcn.10016432
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x2e8]
mov eax, dword [ebp - 0x28]
push ebx
call fcn.10016432
mov eax, dword [ebp - 0x28]
inc eax
je 0x100302a8
xor eax, eax
cmp dword [ebp - 0xec0], eax
je 0x100302aa
mov esi, ebx
jmp 0x100302ac
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x2e8]
call fcn.10016432
xor ecx, ecx
push ebx
cmp esi, dword [eax]
sete cl
xor eax, eax
cmp ecx, 0x34d
lea ecx, [ebp - 0x2e8]
setge al
mov dword [ebp - 0x50], eax
call fcn.10016432
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 4], 0xf
mov dword [eax], ecx
lea ecx, [ebp - 0x2e8]
call fcn.10016416
inc dword [ebp - 0x14]
push 3
pop eax
cmp dword [ebp - 0x14], eax
jle 0x1003013e
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
or eax, 0xffffffff
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], eax
call fcn.10016416
mov eax, 0xffff
mov esi, 0x884cb8f6
mov dword [ebp - 0x38], eax
or ecx, 0xffffffff
mov dword [ebp - 0x4c], 2
xor eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0x5a7ab5bf
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x2c], 0x709e8e54
mov dword [ebp - 0x2c], 0xec1e183a
mov dword [ebp - 0x2c], 0x6eae1177
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x1d9d65fe
mov dword [ebp - 0x2c], 0x900d2964
mov dword [ebp - 0x2c], ecx
push 3
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 6
push ecx
mov dword [ebp - 0x2c], 0x82b3f54c
lea ecx, [ebp - 0xd58]
mov dword [ebp - 0x2c], 0xfffffffc
call fcn.10016394
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x50], 0x23ff4914
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x100303ed
push edx
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd58]
call fcn.10016432
mov dword [eax], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100303c9
xor ebx, ebx
xor eax, eax
push 3
inc ebx
pop edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1003040d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe44], 0xf2ec2878
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100303f5
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10030423
imul eax, dword [ebp - 0x38], 0x981f
test eax, eax
je 0x10030421
mov ecx, ebx
jmp 0x10030425
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
sbb eax, eax
neg eax
cmp eax, edx
jge 0x1003043d
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1003043d
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, 0x84b7b831
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x24]
je 0x10030463
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x10030465
mov eax, ebx
jmp 0x10030465
xor eax, eax
xor edx, edx
cmp eax, 0xf4cc
sete dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
sub eax, ecx
mov ecx, 0x8b9628ea
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb65a
lea ecx, [ebp - 0xd58]
setne al
sub eax, 0x58d0336d
mov dword [ebp - 0x24], eax
or eax, 0xffffffff
dec dword [ebp - 0x50]
mov dword [ebp - 4], eax
call fcn.10016416
mov eax, 0xffff
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x4c], 2
mov dword [ebp - 0x24], esi
or esi, 0xffffffff
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0x5a7ab5bf
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0x2c], ebx
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0x709e8e54
mov dword [ebp - 0x2c], 0xec1e183a
mov dword [ebp - 0x2c], 0x6eae1177
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0x1d9d65fe
mov dword [ebp - 0x2c], 0x900d2964
push 3
mov dword [ebp - 0x2c], esi
pop ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], 6
push ecx
mov dword [ebp - 0x2c], 0x82b3f54c
lea ecx, [ebp - 0xe60]
mov dword [ebp - 0x2c], 0xfffffffc
call fcn.10016394
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x50], 0x23ff4914
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x10030596
push edx
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe60]
call fcn.10016432
mov dword [eax], 9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030572
xor ebx, ebx
xor eax, eax
push 3
inc ebx
pop edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100305b6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd1c], 0xf2ec2878
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003059e
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x100305cc
imul eax, dword [ebp - 0x38], 0x981f
test eax, eax
je 0x100305ca
mov ecx, ebx
jmp 0x100305ce
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
sbb eax, eax
neg eax
cmp eax, edx
jge 0x100305e6
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x100305e6
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, 0x84b7b831
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x24]
je 0x1003060c
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1003060e
mov eax, ebx
jmp 0x1003060e
xor eax, eax
xor edx, edx
cmp eax, 0xf4cc
sete dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge cl
sub eax, ecx
mov ecx, 0x8b9628ea
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xb65a
lea ecx, [ebp - 0xe60]
setne al
sub eax, 0x58d0336d
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x50]
mov dword [ebp - 4], esi
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x4c], 0x1bf2b299
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10030691
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xb4], 0xc75b57fd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10030679
xor eax, eax
mov dword [ebp - 0xb4], eax
jmp 0x100306c7
mov dword [ebp - 0x4c], 0xa2c7c8a6
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x100306b8
push 0x1461
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0xb4]
push 0
pop eax
cmp dword [ebp - 0xb4], 0xfffffff3
jle 0x10030699
mov dword [ebp - 0x30], 0xe7d8a870
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 0x1c], 0xb969161d
mov dword [ebp - 0x3c], 0x621ec218
mov dword [ebp - 0x28], 0xe4c12f69
push ebx
call fcn.10016394
xor eax, eax
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x10030721
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 0x70fc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030709
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1003073d
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5e4]
call fcn.10016432
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030726
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
mov dword [ebp - 0x18], 2
jne 0x100307e2
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x10030890
push 0x2625
push eax
push 0x570
push 0x2344
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x10030890
xor eax, eax
mov dword [ebp - 0x54], 0x881f6c98
push eax
lea ecx, [ebp - 0x5e4]
call fcn.10016432
cmp dword [eax], 0
je 0x1003086e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xa0]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x9061e94
mov ecx, dword [ebp - 0x18]
setg al
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, dword [ebp - 0x18]
jne 0x1003083e
cmp dword [ebp - 0x1c], eax
je 0x1003083e
mov eax, ebx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x5e4]
xor eax, eax
push eax
call fcn.10016432
mov ecx, dword [ebp - 0x28]
cmp dword [eax], ecx
jg 0x10030864
xor eax, eax
cmp dword [ebp - 0xa0], eax
je 0x10030866
mov eax, ebx
jmp 0x10030866
xor eax, eax
cmp eax, dword [ebp - 0x3c]
jl 0x1003086e
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x5e4]
xor eax, eax
push eax
call fcn.10016432
xor ecx, ecx
cmp dword [eax], 0x8c8e
setl cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 4], esi
call fcn.10016416
mov dword [ebp - 0x38], esi
xor eax, eax
mov dword [ebp - 0x2c], 0x3df603fa
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x20], eax
jmp 0x100308ca
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xf50], 0x654fddd3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100308b9
mov eax, dword [ebp - 0x38]
mov edx, 0x876a
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
cmp ebx, eax
mov eax, dword [ebp - 0x44]
mov ebx, dword [sym.imp.KERNEL32.dll_SetThreadLocale]
sbb ecx, ecx
inc ecx
dec dword [ebp - 0x44]
cmp eax, ecx
jl 0x10030932
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], al
je 0x10030906
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor eax, eax
mov edi, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1003092a
push 0x657
push 0x74c
push eax
push eax
push 0x8c5
call edi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x20], eax
inc ecx
jmp 0x1003099f
mov dword [ebp - 0xb98], edx
mov dword [ebp - 0xb94], edx
mov dword [ebp - 0xb90], edx
mov dword [ebp - 0xb8c], edx
mov dword [ebp - 0x44], 0x12
cmp dword [ebp - 0x44], 0x16
jl 0x10030904
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1003097d
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1003096c
push eax
call esi
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x1003097a
push eax
call ebx
xor eax, eax
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1a
jne 0x1003095e
mov eax, dword [ebp - 0xb98]
inc dword [ebp - 0x44]
jmp 0x10030951
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x8c], 0xfffffffe
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1003098e
push 3
pop eax
push eax
lea ecx, [ebp - 0x7ec]
call fcn.10016394
mov dword [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x100309ed
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7ec]
call fcn.10016432
push 3
mov dword [eax], 0xc204
inc dword [ebp - 0x20]
pop eax
cmp dword [ebp - 0x20], eax
jl 0x100309cc
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10030a5d
xor ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], eax
jmp 0x10030a2e
mov dword [ebp - 0x38], 0x1220985a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jg 0x10030a2b
push dword [ebp - 0x38]
lea ecx, [ebp - 0x7ec]
call fcn.10016432
cmp dword [eax], 0
jne 0x10030a29
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x10030a0d
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x100309fd
mov dword [ebp - 0x30], 2
cmp dword [ebp - 0x30], eax
jl 0x10030a5a
cmp dword [ebp - 0x20], 2
jle 0x100309f2
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x10030a73
push eax
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
or eax, 0xffffffff
lea ecx, [ebp - 0x7ec]
mov dword [ebp - 4], eax
call fcn.10016416
xor eax, eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 2
je 0x10030f54
mov dword [ebp - 0x20], 0xfffffff6
push 3
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x10030ac3
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1204], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10030aab
xor eax, eax
mov byte [ebp - 0x3d], al
cmp byte [ebp - 0x3d], 0
je 0x10030ae7
push eax
push eax
push 0x14dd
push 0x7a8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xe
jge 0x10030b4a
mov dword [ebp - 0x3c], 0x85e0710
mov dword [ebp - 0x4c], 0xcff2
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x10030f81
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], 0xa48bbca6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10030f6b
xor eax, eax
mov dword [ebp - 0x78], 0xffffffe3
jmp 0x10030fb0
cmp dword [ebp - 0x78], 0xb
je 0x10030f8a