Function at 0x1002ed12
Capabilities:
Accept command line arguments
Check os version
Create directory
Create process on windows
Delete file
Delete registry value
Extract resource via kernel32 functions
Get disk information
Get file attributes
Get file size
Get file system object information
Get graphical window text
Identify system language via api
Query environment variable
Query service status
Set registry value
Terminate process

Disassembly:
mov eax, 0x100787c6
call fcn.10078180
mov eax, 0x12f4
call fcn.10075da0
push ebx
push esi
push edi
mov byte [ebp - 0x75], dl
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x2c], 0xa624cdb8
xor eax, eax
mov dword [ebp - 0x40], 0xa5273358
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x50], 0xfffffff9
mov dword [ebp - 0x20], 0xc8100c43
push 7
pop edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], 0x7ea4c570
mov dword [ebp - 0x30], 0xc3f3
mov dword [ebp - 0x40], 0xd4c3f121
push 0xfffffffffffffffe
pop ebx
mov dword [ebp - 0x9a8], ebx
mov dword [ebp - 0x9a4], ebx
mov dword [ebp - 0x9a0], ebx
mov dword [ebp - 0x99c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002eda8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd1c], 0x90611bc3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002ed8f
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002edb9
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor eax, eax
push 1
pop esi
cmp dword [ebp - 0x3c], eax
jne 0x1002eddf
imul eax, dword [ebp - 0x20], 0x2699
sub eax, dword [ebp - 0x20]
jne 0x1002edd0
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x24]
test eax, eax
jne 0x1002eddf
mov ecx, eax
jmp 0x1002ede1
mov ecx, esi
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x24]
test eax, eax
je 0x1002ee06
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd18]
imul eax, dword [ebp - 0x20]
test eax, eax
je 0x1002ee1d
mov eax, dword [ebp - 0xd10]
mov dword [ebp - 0x40], 0xd3a1
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x2c]
add ecx, 0xa
imul ecx, eax
mov dword [ebp - 0x9a0], ecx
lea eax, [ecx + 0xb53]
mov dword [ebp - 0xd10], eax
xor eax, eax
mov dword [ebp - 0x24], 0x3ae35568
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0x9e672ca3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002ee7c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd64], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002ee67
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002ee9c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa0], 0x622ba394
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002ee84
xor eax, eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], esi
jg 0x1002eedb
mov dword [ebp - 0x40], 0x17f7
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp + eax*4 - 0xd64]
imul eax, dword [ebp - 0xa0]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], esi
jle 0x1002eeaa
xor eax, eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 0xffffffffffffffff
pop ecx
jle 0x1002f272
jmp 0x1002eefa
xor eax, eax
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002ef0e
call dword [sym.imp.USER32.dll_EndMenu]
xor eax, eax
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002ef2a
push 0x1a3a
push 0x1587
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor eax, eax
push 4
pop edx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x9c8], edx
mov dword [ebp - 0x9c4], edx
push 9
mov dword [ebp - 0x9c0], edx
pop ecx
mov dword [ebp - 0x9bc], edx
mov dword [ebp - 0x20], ecx
push 3
mov dword [ebp - 0x9c0], 0xd7f825e
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], 5
jge 0x1002ef9b
mov dword [ebp - 0x30], 0xf40fc027
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], eax
jl 0x1002ef96
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x10], eax
jmp 0x1002ef8c
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xd4e677b5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002ef7f
dec dword [ebp - 0x30]
jns 0x1002ef73
inc dword [ebp - 0x20]
jmp 0x1002ef5e
mov byte [ebp - 0x11], al
mov dword [ebp - 0x40], 0xfff8
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002efc8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2dc], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002efb4
xor eax, eax
mov dword [ebp - 0x2dc], eax
jmp 0x1002efea
mov byte [ebp - 0x55], al
cmp byte [ebp - 0x55], 0
je 0x1002efe4
call edi
push eax
call dword [sym.imp.USER32.dll_IsIconic]
xor eax, eax
dec dword [ebp - 0x2dc]
cmp dword [ebp - 0x2dc], 0xfffffffa
jge 0x1002efd0
mov eax, dword [ebp - 0x2dc]
neg eax
sbb eax, eax
add eax, 0xffff0009
neg eax
sbb eax, eax
inc eax
cmp eax, 7
ja 0x1002f00f
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x2dc]
xor edx, edx
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x2dc]
setl dl
xor ecx, ecx
cmp eax, 0xfffffff9
setne cl
xor eax, eax
cmp ecx, edx
jne 0x1002f03d
cmp dword [ebp - 0x2d8], eax
je 0x1002f03d
mov eax, esi
mov dword [ebp - 0x3c], eax
cmp byte [ebp - 0x11], 0
je 0x1002f053
xor eax, eax
push eax
push eax
push 0x2051
push eax
push eax
call ebx
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x1c], eax
or edx, 0xffffffff
mov dword [ebp - 0x28], 0xe22401db
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x3b28
setg al
cmp eax, 0x452a26f
jle 0x1002f09b
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f09d
mov edx, esi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0x3e58
setge al
xor ecx, ecx
cmp eax, 0x512a30a
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x1c]
sub edx, 0xf29c
neg edx
sbb edx, edx
add edx, 8
imul eax, edx, 0x860b
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1d
je 0x1002f24f
xor ebx, ebx
mov dword [ebp - 0x10], 4
or eax, 0xffffffff
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x1843ad33
cmp dword [ebp - 0x10], ebx
je 0x1002f132
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x33c]
setne dl
imul eax, edx
test eax, eax
je 0x1002f158
mov eax, dword [ebp - 0x330]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x330]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x330]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x334]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
add edx, 0x8e6f
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x330]
cmp dword [ebp - 0x1c], ebx
je 0x1002f1ef
mov dword [ebp - 0x18], ebx
jmp 0x1002f1cf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x33c], 0xadfd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002f1be
push 0xfffffffffffffff6
mov dword [ebp - 0x28], ebx
pop eax
jmp 0x1002f1e8
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], ebx
jne 0x1002f237
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
je 0x1002f1dd
jmp 0x1002f237
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1002f209
push 0xae1
push ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
cmp dword [ebp - 0x1c], ebx
je 0x1002f222
mov eax, dword [ebp - 0x334]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], 0xce9e
jge 0x1002f224
mov ecx, ebx
xor eax, eax
push 0xfffffffffffffff9
pop edx
cmp ecx, edx
sete al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x50], ebx
jne 0x1002f249
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jne 0x1002f0fe
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xc0198ab7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
jg 0x1002eef8
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f299
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x474], 0xd7f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f280
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002f2b7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x158], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1002f2a2
xor eax, eax
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 2
push 6
pop eax
jg 0x1002f370
xor ebx, ebx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x150]
cmp dword [ebp + eax*4 - 0x474], ebx
je 0x1002f2f0
mov eax, dword [ebp - 0x150]
cmp dword [ebp + eax*4 - 0x474], ebx
jne 0x1002f2f2
mov esi, ebx
mov eax, dword [ebp - 0x150]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x474]
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp + eax*4 - 0x474]
cmp ecx, eax
sete dl
or eax, 0xffffffff
sub eax, edx
cmp eax, dword [ebp - 0x150]
jne 0x1002f32d
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp + eax*4 - 0x474]
mov eax, dword [ebp - 0x150]
xor ecx, ecx
push 1
mov eax, dword [ebp + eax*4 - 0x474]
test eax, eax
setg cl
lea eax, [ecx + 1]
xor ecx, ecx
cmp esi, eax
pop esi
setg cl
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x150]
cmp dword [ebp - 0x150], 2
push 6
pop eax
jle 0x1002f2cf
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x2c], 0xa624cdb8
mov dword [ebp - 0x40], 0xa5273358
mov dword [ebp - 0x24], eax
push 0xfffffffffffffff9
pop ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x20], 0xc8100c43
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0x7ea4c570
mov dword [ebp - 0x30], 0xc3f3
mov dword [ebp - 0x40], 0xd4c3f121
push 0xfffffffffffffffe
pop ecx
mov dword [ebp - 0xbc8], ecx
mov dword [ebp - 0xbc4], ecx
mov dword [ebp - 0xbc0], ecx
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002f3f8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd34], 0x90611bc3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002f3df
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f409
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1002f42c
imul eax, dword [ebp - 0x20], 0x2699
sub eax, dword [ebp - 0x20]
jne 0x1002f41d
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x24]
test eax, eax
jne 0x1002f42c
mov ecx, eax
jmp 0x1002f42e
mov ecx, esi
mov eax, dword [ebp - 0x40]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x24]
test eax, eax
je 0x1002f453
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0xd30]
test eax, eax
je 0x1002f46a
mov eax, dword [ebp - 0xd28]
mov dword [ebp - 0x40], 0xd3a1
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x2c]
add ecx, 0xa
imul ecx, eax
mov dword [ebp - 0xbc0], ecx
lea eax, [ecx + 0xb53]
mov dword [ebp - 0xd28], eax
xor eax, eax
mov dword [ebp - 0x30], 0x3ae35568
mov dword [ebp - 0x3c], 0x9e672ca3
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002f4c6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4c], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1002f4b1
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jge 0x1002f4e6
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], 0x622ba394
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002f4ce
xor eax, eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], esi
jg 0x1002f525
mov dword [ebp - 0x40], 0x17f7
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp + eax*4 - 0xc4c]
imul eax, dword [ebp - 0xa8]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], esi
jle 0x1002f4f4
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f53c
call dword [sym.imp.USER32.dll_EndMenu]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f558
push 0x1a3a
push 0x1587
push eax
call dword [sym.imp.USER32.dll_InflateRect]
xor eax, eax
mov dword [ebp - 0x30], 0xfffffffe
cmp dword [ebp - 0x30], 7
jle 0x1002fb3f
jmp 0x1002f56d
xor eax, eax
push 4
pop ecx
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], ecx
mov dword [ebp - 0x9e0], ecx
mov dword [ebp - 0x9dc], ecx
push 9
pop ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x9e0], 0xd7f825e
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 5
jge 0x1002f5df
push 3
pop ecx
mov dword [ebp - 0x24], 0xf40fc027
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], eax
jl 0x1002f5d6
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x10], eax
jmp 0x1002f5cc
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x3c], 0xd4e677b5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jle 0x1002f5bf
dec dword [ebp - 0x24]
jns 0x1002f5b3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 5
jl 0x1002f5a4
mov dword [ebp - 0x2c], esi
xor ecx, ecx
mov dword [ebp - 0x1c], eax
or edx, 0xffffffff
mov dword [ebp - 0x28], 0xe22401db
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setge cl
xor edx, edx
cmp ecx, esi
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x3b28
setg al
cmp eax, 0x452a26f
jle 0x1002f628
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002f62a
mov edx, esi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0x3e58
setge al
xor ecx, ecx
cmp eax, 0x512a30a
setne cl
xor edx, edx
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setge dl
imul edx, dword [ebp - 0x1c]
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x1c]
sub edx, 0xf29c
neg edx
sbb edx, edx
add edx, 8
imul eax, edx, 0x860b
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1d
je 0x1002f7de
xor ebx, ebx
mov dword [ebp - 0x10], 4
or eax, 0xffffffff
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x1843ad33
cmp dword [ebp - 0x10], ebx
je 0x1002f6bf
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, dword [ebp - 0x370]
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x37c]
setne dl
imul eax, edx
test eax, eax
je 0x1002f6e5
mov eax, dword [ebp - 0x370]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x370]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x370]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x374]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
add edx, 0x8e6f
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x370]
cmp dword [ebp - 0x1c], ebx
je 0x1002f77c
mov dword [ebp - 0x18], ebx
jmp 0x1002f75c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x37c], 0xadfd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002f74b
push 0xfffffffffffffff6
mov dword [ebp - 0x28], ebx
pop eax
jmp 0x1002f775
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x3c], ebx
jne 0x1002f7c4
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
je 0x1002f76a
jmp 0x1002f7c4
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1002f796
push 0xae1
push ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
cmp dword [ebp - 0x1c], ebx
je 0x1002f7af
mov eax, dword [ebp - 0x374]
mov ecx, esi
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], 0xce9e
jge 0x1002f7b1
mov ecx, ebx
xor eax, eax
push 0xfffffffffffffff9
pop edx
cmp ecx, edx
sete al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x50], ebx
jne 0x1002f7d6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1d
jne 0x1002f68b
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
mov byte [ebp - 0x55], al
mov dword [ebp - 0x28], 0xf34111d0
mov dword [ebp - 0x40], 0x56cef3cf
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], 0x83e731e7
mov dword [ebp - 0x10], eax
jmp 0x1002f80f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc1c], 0x935db5a2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002f7fe
mov eax, dword [ebp - 0x28]
sub eax, 5
je 0x1002f82f
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1002f82c
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
xor edx, edx
imul ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp edx, 0x811
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
dec edx
cmp edx, eax
setne cl
imul eax, ecx, 0x6baf
test eax, eax
jne 0x1002f871
mov ecx, eax
cmp dword [ebp - 0x28], eax
je 0x1002f873
mov ecx, esi
xor eax, eax
cmp ecx, 0x6a6c
setl al
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x1002f88f
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x1002f891
mov ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, 0xffffc95b
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
test edx, edx
setg al
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jg 0x1002f8de
xor ebx, ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1002f8ce
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1002f8be
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor eax, eax
cmp byte [ebp - 0x55], 0
je 0x1002fa76
push 4
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ecx
jge 0x1002f910
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xda4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002f8fc
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002f92d
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
cmp dword [ebp - 0x18], edx
jne 0x1002f92b
mov edx, esi
jmp 0x1002f92f
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x18]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setne cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
cmp dword [ebp - 0x18], ecx
je 0x1002fa51
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
push 0xfffffffffffffff6
pop eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002f97e
push 9
pop ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf54], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002f969
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jg 0x1002fa59
xor ebx, ebx
mov dword [ebp - 0x10], 0xfffffffa
mov esi, dword [ebp - 0x24]
neg esi
sbb esi, esi
neg esi
cmp dword [ebp - 0xd98], ebx
jne 0x1002f9e0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd9c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
sub edx, eax
mov eax, dword [ebp - 0x3c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
cmp ecx, 0x4898
jl 0x1002f9e0
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x1002f9e5
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x24]
jge 0x1002f9f1
mov edx, ebx
cmp dword [ebp - 0x10], ebx
je 0x1002f9f3
mov edx, ecx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
cmp esi, ecx
sete dl
xor eax, eax
add edx, 0x10ef7d59
cmp edx, 0x4f75
setge al
cmp eax, 0xc54c9751
sbb edx, edx
xor ecx, ecx
neg edx
sub edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setge cl
add ecx, 0x4c6710ac
mov dword [ebp - 0xf50], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jle 0x1002f98d
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
xor esi, esi
xor eax, eax
inc esi
jmp 0x1002fa59
xor eax, eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fa6b
push eax
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
xor eax, eax
push eax
push eax
push 0x2051
push eax
push eax
call ebx
or eax, 0xffffffff
mov dword [ebp - 0x40], 0xfff8
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002faa7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2f4], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002fa8e
xor eax, eax
mov dword [ebp - 0x2f4], eax
jmp 0x1002fac9
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fac3
call edi
push eax
call dword [sym.imp.USER32.dll_IsIconic]
xor eax, eax
dec dword [ebp - 0x2f4]
cmp dword [ebp - 0x2f4], 0xfffffffa
jge 0x1002faaf
mov eax, dword [ebp - 0x2f4]
neg eax
sbb eax, eax
add eax, 0xffff0009
neg eax
sbb eax, eax
inc eax
cmp eax, 7
ja 0x1002faee
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov eax, dword [ebp - 0x2f4]
cmp ecx, eax
mov eax, dword [ebp - 0x2f4]
setl dl
xor ecx, ecx
cmp eax, 0xfffffff9
setne cl
xor eax, eax
cmp ecx, edx
jne 0x1002fb1c
cmp dword [ebp - 0x2f0], eax
je 0x1002fb1c
mov eax, esi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], 0xc0198ab7
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 7
jg 0x1002f56b
xor eax, eax
mov dword [ebp - 0x44], 0x7c7ce53d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x1002fb68
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c4], 0xa5d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1002fb50
xor eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jg 0x1002fba5
xor ebx, ebx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + eax*4 - 0x3c4]
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x3c4], ecx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1002fb97
push ebx
call esi
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x1002fb78
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, 0x5534
setle cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x24], 0x3ae35568
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], 0xfffffffe
cmp dword [ebp - 0x24], 7
jle 0x1002fc08
mov dword [ebp - 0x10], 1
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fbe9
push eax
push eax
push 0x2051
push eax
push eax
call ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0xc0198ab7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
push 0
pop eax
jg 0x1002fbce
mov dword [ebp - 0x24], 0x3ae35568
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], 0xfffffffe
cmp dword [ebp - 0x24], 7
jle 0x1002fc59
mov dword [ebp - 0x10], 1
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fc3a
push eax
push eax
push 0x2051
push eax
push eax
call ebx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0xc0198ab7
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 7
push 0
pop eax
jg 0x1002fc1f
xor edx, edx
mov dword [ebp - 0x44], 0x7c7ce53d
mov dword [ebp - 0x10], eax
inc edx
cmp dword [ebp - 0x10], edx
jge 0x1002fc83
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x394], 0xa5d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1002fc6b
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jg 0x1002fcb9
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + eax*4 - 0x394]
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x394], ecx
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002fcae
push eax
call esi
xor eax, eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], eax
jle 0x1002fc8b
xor edx, edx
inc edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, 0x5534
mov ebx, 0x8131dda8
setle cl
mov dword [ebp - 0x44], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x2c], 0xb02971c
mov dword [ebp - 0x30], 0x124f84b8
mov dword [ebp - 0x34], 0x90350d8a
mov dword [ebp - 0x34], 0x5db2b058
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x83eb6194
mov dword [ebp - 0x8cc], ebx
mov dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x8c4], ebx
mov dword [ebp - 0x8c0], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xffffffed
cmp dword [ebp - 0x2c], 4
jge 0x1002fe37
push 9
pop eax
mov dword [ebp - 0x34], 0x4fda7ef5
mov dword [ebp - 0x34], 0x8d9dcee3
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x34], 0x80c6548a
mov dword [ebp - 0x34], 0x1d7feae2
mov dword [ebp - 0x34], 0xf4caa5d7
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xd
cmp dword [ebp - 0x24], 6
jle 0x1002fe2a
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1002fdad
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcd0], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002fd95
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x1002fdcd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc24], 0x1a969ac5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1002fdb5
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edx
jg 0x1002fe17
mov dword [ebp - 0x34], 0xd2ae
mov dword [ebp - 0x10], eax
jmp 0x1002fdf2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10f8], 0x64276038
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x1002fde1
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0xcd0], 0
jne 0x1002fe15
inc dword [ebp - 0x8c0]
inc dword [ebp - 0x30]
push 0
pop eax
cmp dword [ebp - 0x30], edx
jle 0x1002fdd5
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 6
jg 0x1002fd8a
push 9
or ecx, 0xffffffff
pop eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002fd36
xor eax, eax
mov dword [ebp - 0x44], 0x7c7ce53d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x1002fe60
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3c8], 0xa5d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1002fe48
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jg 0x1002fe96
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + eax*4 - 0x3c8]
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x3c8], ecx
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002fe8b
push eax
call esi
xor eax, eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], eax
jle 0x1002fe68
xor edx, edx
inc edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
cmp eax, 0x5534
push 3
setle cl
xor eax, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], 0x720e83c7
mov dword [ebp - 0x3c], 5
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1002fed5
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x804], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002fec1
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002fef6
push 9
pop edx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe24], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002fee1
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x1002ff0c
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x804], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x1002fefb
mov eax, dword [ebp - 0x800]
xor edx, edx
mov eax, dword [ebp - 0x800]
mov eax, dword [ebp - 0x800]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xe20]
mov eax, dword [ebp - 0xe20]
cmp ecx, eax
push 3
setle dl
or ecx, 0xffffffff
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x2c], 0xb02971c
mov dword [ebp - 0x30], 0x124f84b8
mov dword [ebp - 0x34], 0x90350d8a
mov dword [ebp - 0x34], 0x5db2b058
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x83eb6194
mov dword [ebp - 0x8e4], ebx
mov dword [ebp - 0x8e0], ebx
mov dword [ebp - 0x8dc], ebx
mov dword [ebp - 0x8d8], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xffffffed
cmp dword [ebp - 0x2c], 4
pop edx
jge 0x100300a8
push 9
pop eax
push 6
pop ebx
mov dword [ebp - 0x34], 0x4fda7ef5
mov dword [ebp - 0x34], 0x8d9dcee3
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x34], 0x80c6548a
mov dword [ebp - 0x34], 0x1d7feae2
mov dword [ebp - 0x34], 0xf4caa5d7
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xd
cmp dword [ebp - 0x24], ebx
jle 0x1003009b
xor ecx, ecx
xor eax, eax
push 2
inc ecx
pop ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x1003001b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc60], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030003
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1003003b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc2c], 0x1a969ac5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030023
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jg 0x10030085
mov dword [ebp - 0x34], 0xd2ae
mov dword [ebp - 0x10], eax
jmp 0x10030060
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1158], 0x64276038
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003004f
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0xc60], 0
jne 0x10030083
inc dword [ebp - 0x8d8]
inc dword [ebp - 0x30]
push 0
pop eax
cmp dword [ebp - 0x30], ecx
jle 0x10030043
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 6
jg 0x1002fff8
push 9
pop eax
push 6
or ecx, 0xffffffff
pop ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002ffaa
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edx
jge 0x100300ca
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x65c], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x100300b2
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100300f5
push eax
push 0x1b77
push 0x1034
call edi
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
push 3
xor eax, eax
pop edx
mov dword [ebp - 0x654], eax
jmp 0x10030118
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030112
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 3
xor eax, eax
pop edx
inc dword [ebp - 0x654]
cmp dword [ebp - 0x654], edx
jg 0x100300fd
mov dword [ebp - 0x24], 8
mov eax, 0x8131dda8
mov dword [ebp - 0x2c], 0xb02971c
or ecx, 0xffffffff
mov dword [ebp - 0x30], 0x124f84b8
mov dword [ebp - 0x34], 0x90350d8a
mov dword [ebp - 0x34], 0x5db2b058
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x83eb6194
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x8f8], eax
mov dword [ebp - 0x8f4], eax
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xffffffed
cmp dword [ebp - 0x2c], 4
jge 0x10030289
push 9
pop eax
mov dword [ebp - 0x34], 0x4fda7ef5
mov dword [ebp - 0x34], 0x8d9dcee3
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 8
mov dword [ebp - 0x34], 0x80c6548a
mov dword [ebp - 0x34], 0x1d7feae2
mov dword [ebp - 0x34], 0xf4caa5d7
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0xd
cmp dword [ebp - 0x24], 6
jle 0x1003027c
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100301fe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd24], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100301e5
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x1003021e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc34], 0x1a969ac5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030206
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ecx
jg 0x10030269
mov dword [ebp - 0x34], 0xd2ae
mov dword [ebp - 0x10], eax
jmp 0x10030243
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1060], 0x64276038
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030232
mov eax, dword [ebp - 0x30]
cmp dword [ebp + eax*4 - 0xd24], 0
jne 0x10030267
inc dword [ebp - 0x8f0]
inc dword [ebp - 0x30]
push 0
pop eax
cmp dword [ebp - 0x30], ecx
jle 0x10030226
xor eax, eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 6
jg 0x100301d9
push 9
or ecx, 0xffffffff
pop eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1003018d
mov dword [ebp - 0x34], 4
xor eax, eax
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x40], 0xf341
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x100302c0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11d0], 0x4e2db58e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100302a8
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edx
jge 0x100302e0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c4], 0xe4438bea
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x100302c8
xor eax, eax
inc dword [ebp - 0x40]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003031a
push 0x11b7
push eax
push 0x1b3b
push 0x1623
push 0x605
push eax
push 0x12ed
push 0x1e3c
call edi
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
xor eax, eax
mov dword [ebp - 0x10], 0xbf68593f
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0x68906353
push 0xfffffffffffffff9
mov dword [ebp - 0x3c], 0xfffffffd
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1003035a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x454], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10030341
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop edi
cmp dword [ebp - 0x18], edi
jge 0x1003037c
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc70], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10030368
xor eax, eax
cmp dword [ebp - 0x450], eax
jne 0x100303d0
mov dword [ebp - 0x10], 0xfffb
xor edx, edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x448]
cmp ecx, eax
setle dl
cmp edx, dword [ebp - 0x450]
jle 0x100303af
mov eax, dword [ebp - 0x450]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
add eax, 0xbc6c8951
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x100303ce
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x100303d5
xor eax, eax
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x450]
xor edx, edx
mov eax, dword [ebp - 0x448]
cmp ecx, eax
mov eax, dword [ebp - 0x44c]
sete dl
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffff6
setge cl
pop eax
cmp eax, ecx
mov eax, dword [ebp - 0x450]
push 9
sbb ecx, ecx
xor edx, edx
neg ecx
add ecx, eax
mov eax, dword [ebp - 0x450]
cmp ecx, eax
pop ecx
setl dl
mov dword [ebp - 0xc6c], edx
mov eax, dword [ebp - 0x450]
mov eax, dword [ebp - 0x448]
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], 0x8b78acc4
mov dword [ebp - 0x34], 0xd4595a2e
mov dword [ebp - 0x40], 0xc0f1a019
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], 0x947e9e58
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030471
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1014], 0xfffffffd
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030458
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x100304eb
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
cmp dword [ebp - 0x18], edx
jg 0x1003049f
imul ecx, dword [ebp - 0x18], 7
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x18]
jl 0x1003049f
mov eax, ebx
jmp 0x100304a1
xor eax, eax
mov edx, dword [ebp - 0x30]
imul edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, 0x64a90c6d
setle dl
xor eax, eax
cmp edx, 0xcd43
setle al
cmp eax, dword [ebp - 0x18]
jge 0x100304e9
mov eax, dword [ebp - 0x30]
neg eax
push 0xfffffffffffffff6
sbb eax, eax
neg eax
mov dword [ebp - 0x1010], eax
pop edx
jmp 0x100305a8
xor eax, eax
push 0xfffffffffffffff6
pop edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x34], 0x21462ccd
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xcc5c6a3f
mov dword [ebp - 0x34], 0x743ccc09
push 0xfffffffffffffffa
pop ecx
mov dword [ebp - 0xae8], ecx
mov dword [ebp - 0xae4], ecx
mov dword [ebp - 0xae0], ecx
mov dword [ebp - 0xadc], ecx
mov dword [ebp - 0x34], 0xe961
mov dword [ebp - 0x34], 0xd95c7885
inc dword [ebp - 0x40]
mov dword [ebp - 0x30], 0xf
cmp dword [ebp - 0x30], 0xffffffee
jle 0x100305a8
or ecx, 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0xe66b6c7e
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0xae0512ed
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], 0xe5f8f0b5
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x34], 0x3d7fba34
mov dword [ebp - 0x10], eax
jmp 0x10030583
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc3c], 0xcf3d0097
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030572
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x18]
neg eax
push 0
sbb eax, eax
inc eax
mov dword [ebp - 0xae4], eax
inc dword [ebp - 0x38]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffee
pop eax
jg 0x10030545
mov dword [ebp - 0x2c], 0x7c7ce53d
xor eax, eax
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x10], 0xbd52a284
mov dword [ebp - 0x3c], 0x535b5b06
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], 0x32c75278
mov dword [ebp - 0x28], 0xfffffff4
jmp 0x1003068d
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x16
jge 0x1003068a
mov dword [ebp - 0x20], 0xc1d6b3bf
cmp dword [ebp - 0x2c], eax
je 0x10030661
mov dword [ebp - 0x10], 0x86bd
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
or eax, 0xffffffff
cmp eax, ecx
mov eax, dword [ebp - 0x10]
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ecx, eax
setne bl
sub ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
cmp eax, 0x2703d9b9
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, ebx
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x10], ecx
inc ebx
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003067a
push ebx
push 0x113b
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
xor eax, eax
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x16
jl 0x100305f0
push 0xfffffffffffffff6
pop edx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edx
jg 0x100305dc
cmp dword [ebp - 0x10], eax
je 0x100306a6
cmp dword [ebp - 0x10], 0xbefc7127
jne 0x100306a6
mov eax, ebx
mov dword [ebp - 0x10], eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, 0x35c52658
setne cl
cmp dword [ebp - 0x28], ecx
je 0x100306be
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0x61928c17
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xffffffe6
jl 0x10030793
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x10], 0x16580849
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10030742
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11e8], 0x70c3099c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10030729
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030762
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x540], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003074a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x1003078a
mov dword [ebp - 0x40], 0x38dd
mov eax, dword [ebp - 0x40]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x540], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1003076a
xor eax, eax
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffe6
jge 0x10030716
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100307b5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x3f0], 0xa5d6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003079d
xor eax, eax
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], eax
jg 0x10030fe3
mov dword [ebp - 0x44], 0x8fb770a7
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100307eb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100307d6
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030801
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x968], 0xfffffffa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x100307f0
mov dword [ebp - 0x68], 0x1a
cmp dword [ebp - 0x68], 0xfffffff8
je 0x10030839
push 0xfffffffffffffff6
pop edi
mov dword [ebp - 0x3c], edi
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
cmp eax, 0xd3b3
setl cl
mov dword [ebp - 0x44], ecx
dec dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0xfffffff8
jne 0x10030817
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x68]
add eax, 0x6a2e3a75
jne 0x1003084b
cmp dword [ebp - 0x44], eax
je 0x1003084d
mov eax, ebx
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x68], eax
cmp eax, 0x28787d63
je 0x1003087a
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x100308ed
push eax
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
jmp 0x100308eb
mov dword [ebp - 0x3c], 4
xor eax, eax
mov dword [ebp - 0x50], 0xb56fe18
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1003089f
push 0xe84
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x964]
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x44]
add eax, 0x197c
imul eax, dword [ebp - 0x3c]
test eax, eax
jne 0x100308c9
cmp dword [ebp - 0x68], eax
je 0x100308cb
mov eax, ebx
cmp ebx, eax
mov eax, dword [ebp - 0x968]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xdf2d
setle al
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [ebp - 0x44], 0xd925b0e4
mov dword [ebp - 0x34], 0x75015e0c
mov dword [ebp - 0x3c], 0x7d8169b4
mov dword [ebp - 0x40], 0xd8e1ce43
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1003092b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x914], 0x6d4f2887
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10030912
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x10030941
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x118], 0x46b8d963
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030930
push 9
mov dword [ebp - 0x910], 0xfffffff7
mov eax, dword [ebp - 0x44]
pop ecx
add eax, ecx
jne 0x10030990
mov dword [ebp - 0x44], 0xf3d3
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x910]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x910]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x910]
jne 0x10030990
xor eax, eax
jmp 0x10030992
mov eax, ebx
mov dword [ebp - 0x118], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xfffffffe
jle 0x10030a33
jmp 0x100309ab
xor eax, eax
mov dword [ebp - 0x10], 0x7cccaea0
mov ecx, 0xf4ea14c5
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x118]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x118]
cmp ecx, eax
mov eax, dword [ebp - 0x40]
sbb ecx, ecx
inc ecx
sub ecx, eax
jne 0x100309e7
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x10], eax
je 0x100309e9
mov ecx, ebx
mov eax, dword [ebp - 0x910]
xor edx, edx
imul eax, ecx
imul ecx, eax, 0xfae7
mov eax, dword [ebp - 0x40]
cmp ecx, eax
sete dl
xor eax, eax
cmp edx, 8
sete al
mov dword [ebp - 0x10], eax
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10030a26
push eax
push 0xa83
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xfffffffe
jg 0x100309a9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x3f0]
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3f0], ecx
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x53644469
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030a7c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xc44], 0xf25cbd94
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030a64
xor eax, eax
push 2
mov dword [ebp - 0x1c], eax
pop ecx
cmp dword [ebp - 0x1c], ecx
jge 0x10030a9f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8b4], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030a87
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x10030abf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1068], 0x28f4e1c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x10030aa7
xor eax, eax
inc dword [ebp - 0x8b4]
or edx, 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030aec
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcdc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030ad7
xor eax, eax
mov dword [ebp - 0x18], 0xffffffeb
cmp dword [ebp - 0x18], 0x11
jg 0x10030c4c
or edi, 0xffffffff
jmp 0x10030b04
xor eax, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10030b33
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1fc], 0xd97a888a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030b1a
xor eax, eax
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], eax
jl 0x10030b50
mov dword [ebp - 0x44], 0xfffffff7
dec dword [ebp - 0x1f8]
jns 0x10030b41
mov eax, dword [ebp - 0x1f8]
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setne dl
cmp edx, dword [ebp - 0x44]
jl 0x10030b6b
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1f8]
xor edx, edx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setge dl
imul ecx, edx, 0xfffffffc
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0xcdc]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1f4]
setge cl
add eax, ecx
cmp eax, 7
sbb eax, eax
xor edx, edx
inc eax
imul ecx, eax, 0x907c
mov eax, dword [ebp - 0x1f4]
sub ecx, eax
mov eax, dword [ebp - 0xcd4]
add ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x1f8]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1f4]
setge cl
xor edx, edx
add eax, ecx
cmp eax, 0x8072
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xffff
setle cl
add ecx, eax
je 0x10030c01
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10030c46
jmp 0x10030c36
mov dword [ebp - 0x44], 0xfffffff5
cmp dword [ebp - 0x44], 5
jne 0x10030c36
xor eax, eax
mov dword [ebp - 0x30], 0x18
jmp 0x10030c1f
dec dword [ebp - 0x40]
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0x15
jl 0x10030c19
cmp dword [ebp - 0x1fc], eax
jne 0x10030c36
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 5
je 0x10030c10
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
push 2
pop ecx
jle 0x10030b02
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
xor eax, eax
or ecx, 0xffffffff
mov byte [ebp - 0x55], al
mov dword [ebp - 0x44], 0xb90da115
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030c7e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd8], 0xfffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030c66
xor eax, eax
dec dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jg 0x10030e83
or edi, 0xffffffff
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], eax
jmp 0x10030e59
mov dword [ebp - 0x24], edi
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0xd8]
cmp eax, edx
setl cl
xor eax, eax
sub ecx, 0xf76e
je 0x10030e09
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030d00
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x248], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030ce7
xor eax, eax
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], eax
jg 0x10030e56
push 9
pop ecx
push 6
pop edi
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x40], 0x7221ebc5
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x10030df2
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0xd8], ecx
xor ecx, ecx
mov dword [ebp - 0x40], 0x77201043
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x244]
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
cmp edx, eax
setge cl
imul eax, ecx, 6
mov ecx, edi
sub ecx, eax
jne 0x10030d85
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x10030d87
mov ecx, ebx
mov eax, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
add eax, 0xa97a
add ecx, eax
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x40]
setle cl
inc dword [ebp - 0x30]
cmp eax, ecx
jne 0x10030db9
mov eax, ebx
jmp 0x10030dbb
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x244]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x33ae
setge al
mov dword [ebp - 0x3c], eax
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x10030d35
push 9
pop ecx
inc dword [ebp - 0x244]
cmp dword [ebp - 0x244], eax
jle 0x10030d18
or edi, 0xffffffff
jmp 0x10030e56
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10030e1a
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jg 0x10030e54
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x10030e4f
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x10030e4a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd8], 0x463a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x10030e32
xor eax, eax
dec dword [ebp - 0x24]
jns 0x10030e2a
inc dword [ebp - 0x30]
jmp 0x10030e1d
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x10030ca5
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xd8]
inc dword [ebp - 0x44]
xor eax, eax
cmp dword [ebp - 0x44], eax
jle 0x10030c90
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
or ecx, 0xffffffff
cmp byte [ebp - 0x55], 0
je 0x10030fd5
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0xcc895931
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x3c], 0x9ba87a5
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030ec5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0x96378555
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030ead
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030ede
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
je 0x10030edc
mov edx, ebx
jmp 0x10030ee0
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0xd4], eax
je 0x10030f28
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10030f12
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030fd2
push eax
push eax
call edi
jmp 0x10030fd0
xor ecx, ecx
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], 0xe074f0e4
setns cl
mov eax, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0xd4]
jne 0x10030f48
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], eax
jl 0x10030fd0
mov dword [ebp - 0x3c], 0xf21ddbc7
xor edx, edx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0xd4]
cmp eax, 0x64fe
mov eax, dword [ebp - 0x44]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, 0x69b4
setle cl
sub eax, ecx
jne 0x10030fa5
cmp dword [ebp - 0x44], eax
je 0x10030fa7
mov eax, ebx
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10030fc6
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030fc3
push eax
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
xor eax, eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], eax
jle 0x10030fb1
dec dword [ebp - 0x44]
jns 0x10030f62
xor eax, eax
push eax
call esi
inc dword [ebp - 0x2c]
xor eax, eax
cmp dword [ebp - 0x2c], eax
jle 0x100307c7
or ecx, 0xffffffff
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0x2131ac69
mov dword [ebp - 0x3c], 0x7f9b64a4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10031017
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x74], 0x69f4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10031002
xor eax, eax
cmp dword [ebp - 0x74], eax
jne 0x1003101f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov esi, 0xffff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x74]
cmp eax, edx
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp ecx, 3
setle dl
add eax, edx
cmp eax, esi
mov eax, dword [ebp - 0x74]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x74]
setl dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x74]
setg cl
imul eax, ecx
test eax, eax
jne 0x10031078
cmp dword [ebp - 0x1c], eax
je 0x1003107a
mov eax, ebx
mov dword [ebp - 0x28], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x100310e6
mov dword [ebp - 0x18], 0x92404e54
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x18], 0x9fa6adc6
mov dword [ebp - 0x28], 0x16
jmp 0x100310d9
mov dword [ebp - 0x40], 0xa861d8d4
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
sub eax, esi
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffffc
jl 0x100310a7
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10031149
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x100310f9
mov dword [ebp - 0x40], ebx
dec dword [ebp - 0x40]
dec dword [ebp - 0x28]
jns 0x100310ee
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jl 0x100310e1
mov dword [ebp - 0x1c], eax
jmp 0x1003112f
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003112c
push 0x2114
push 0x22a6
push 0x1599
push 0x218a
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x10031106
dec dword [ebp - 0x28]
jns 0x10031101
jmp 0x100310e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x74], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003113b
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, 0x5534
setle cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x40], 0xc407858f
mov dword [ebp - 0x10], eax
jmp 0x1003117d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2c4], 0xea75c96d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1003116c
mov dword [ebp - 0x2c4], 0x15
mov ecx, 0x831d26ec
cmp dword [ebp - 0x2c4], 0x13
je 0x100311dc
mov dword [ebp - 0xa08], ecx
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], ecx
mov dword [ebp - 0x9fc], ecx
mov eax, dword [ebp - 0x2c4]
xor eax, eax
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0x54dbbe56
dec dword [ebp - 0x2c4]
cmp dword [ebp - 0x2c4], 0x13
jne 0x1003119b
jmp 0x100311de
xor eax, eax
mov esi, 0x720e83c7
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], 5
push 3
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x1003120c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7a4], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100311f8
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1003122d
push 9
pop edx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc4], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10031218
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x10031243
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x7a4], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ecx
jl 0x10031232
mov eax, dword [ebp - 0x7a0]
xor edx, edx
mov eax, dword [ebp - 0x7a0]
mov eax, dword [ebp - 0x7a0]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xdc0]
mov eax, dword [ebp - 0xdc0]
cmp ecx, eax
push 3
setle dl
xor eax, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], 5
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jge 0x1003129e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x7bc], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1003128a
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x100312bf
push 9
pop ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe64], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100312aa
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x100312d5
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x7bc], 0
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x100312c4
mov eax, dword [ebp - 0x7b8]
xor edx, edx
mov eax, dword [ebp - 0x7b8]
mov eax, dword [ebp - 0x7b8]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xe60]
mov eax, dword [ebp - 0xe60]
cmp ecx, eax
setle dl
xor eax, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x3c], 0xdfe924f6
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10031325
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffe2
jne 0x100313f0
mov dword [ebp - 0x24], 0xb96ca2cb
mov dword [ebp - 0x40], 0xd8bc0d13
mov dword [ebp - 0x40], 0x34a938f7
mov dword [ebp - 0x24], 0xffffffef
cmp dword [ebp - 0x24], esi
jg 0x100313e1
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x2c], 0xfffffffc
cmp dword [ebp - 0x2c], 0xffffffe9
jle 0x100313d5
mov dword [ebp - 0x10], 8
xor edx, edx
mov dword [ebp - 0x3c], 0x512a30a
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x40]
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
setle dl
xor eax, eax
cmp edx, 0x5bd5
setg al
xor edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe9
jg 0x1003136d
or eax, 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x1003135a
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe2
je 0x10031332
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x10031410
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x59c], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x100313f8
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031440
push eax
push 0x1b77
push 0x1034
call ebx
mov esi, dword [sym.imp.USER32.dll_GetDC]
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor eax, eax
jmp 0x10031446
mov esi, dword [sym.imp.USER32.dll_GetDC]
push 3
mov dword [ebp - 0x594], eax
pop edx
jmp 0x1003146c
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031466
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 3
xor eax, eax
pop edx
inc dword [ebp - 0x594]
cmp dword [ebp - 0x594], edx
jg 0x10031451
mov dword [ebp - 0x30], eax
xor ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x3c], 0xe3d4752e
mov dword [ebp - 0x20], 0xc12d4938
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x50], 0x1a16
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100314c0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x48c], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100314a8
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edx
jge 0x100314dc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x610], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100314c8
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
pop edx
cmp dword [ebp - 0x1c], edx
jge 0x100314ff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x620], 0xfffffff9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x100314e7
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10031511
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x89c], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10031504
inc dword [ebp - 0x61c]
mov eax, dword [ebp - 0x608]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x89c], eax
je 0x10031549
cmp dword [ebp - 0x488], eax
je 0x10031549
mov eax, ecx
mov ecx, dword [ebp - 0x61c]
sub ecx, eax
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x61c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x10]
dec dword [ebp - 0x20]
cmp eax, 0xc114
jl 0x10031588
xor eax, eax
lea edx, [eax + 1]
jmp 0x1003158c
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x608]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x61c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x60c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp ecx, eax
setge dl
add edx, 0x63e3
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x2f603f55
jle 0x100315db
cmp dword [ebp - 0x608], eax
je 0x100315db
inc eax
or edx, 0xffffffff
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x484]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setl dl
sub edx, eax
mov dword [ebp - 0x608], edx
je 0x1003160e
xor eax, eax
cmp dword [ebp - 0x488], eax
je 0x10031610
lea edx, [eax + 1]
jmp 0x10031612
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x488]
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x30]
sete cl
add edx, ecx
mov ecx, dword [ebp - 0x484]
mov eax, dword [ebp - 0x618]
neg edx
neg edx
sbb edx, edx
neg edx
add ecx, edx
xor edx, edx
cmp ecx, eax
setl dl
cmp edx, dword [ebp - 0x618]
jge 0x10031654
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10031654
mov edx, eax
jmp 0x10031659
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
setl cl
or eax, 0xffffffff
imul ecx, dword [ebp - 0x484]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], 0x7e2799ac
mov dword [ebp - 0x2c], 0x9a695768
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], 0xfc5c3c3a
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 0xd606
mov dword [ebp - 0x48], 0xfffffff8
mov dword [ebp - 0x28], 0xfffffffe
cmp dword [ebp - 0x28], 0xb
jle 0x10031957
xor edi, edi
inc edi
mov dword [ebp - 0x20], 0xa8ce9b8a
xor eax, eax
mov dword [ebp - 0x10], 0xfb66c146
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x100316e2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1b4], 0xffbe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100316c9
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100316f4
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10031703
cmp dword [ebp - 0x1ac], eax
je 0x10031703
mov eax, edi
xor ecx, ecx
cmp eax, 0xddb7
mov eax, dword [ebp - 0x1b4]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
inc ecx
jne 0x1003172d
mov eax, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x40], 0x6eab3ae5
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x1b4]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], eax
je 0x10031768
cmp dword [ebp - 0x28], eax
je 0x10031768
mov eax, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x1b4]
cmp eax, 0xa9d01274
mov eax, dword [ebp - 0x28]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
cmp dword [ebp - 0x1b4], ecx
jne 0x10031795
mov eax, dword [ebp - 0x30]
or eax, 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xc2a4
setge cl
sub ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x1b4]
setge cl
xor edx, edx
imul ecx, ecx, 0xfffe
cmp ecx, eax
setl dl
mov dword [ebp - 0x40], edx
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setge dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1b0], edi
je 0x10031823
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10031944
push 0xfec
push eax
push eax
push eax
push eax
call ebx
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x10031944
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x50], 0xfa00a4ed
mov dword [ebp - 0x2c], 0xffffffe3
jmp 0x1003193a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10031860
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xb68], 0x9a92
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10031847
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031875
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov eax, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0xb5c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp eax, 0xc30
mov eax, dword [ebp - 0x1b4]
setge dl
xor ecx, ecx
cmp edx, eax
push 0xfffffffffffffff9
setg cl
pop eax
cmp eax, ecx
sbb eax, eax
neg eax
imul ecx, eax, 0xf393
mov eax, dword [ebp - 0x3c]
sub ecx, eax
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0xb64]
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0xb64]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x30], eax
jl 0x10031911
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x24], eax
je 0x10031913
mov edx, edi
mov eax, dword [ebp - 0xb64]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x50], ecx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe6
jne 0x1003183c
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xb
jg 0x100316b0
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x34], 4
xor eax, eax
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x40], 0xf341
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10031990
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11f4], 0x4e2db58e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10031977
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x100319b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1260], 0xe4438bea
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10031999
xor eax, eax
inc dword [ebp - 0x40]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100319ec
push 0x11b7
push eax
push 0x1b3b
push 0x1623
push 0x605
push eax
push 0x12ed
push 0x1e3c
call ebx
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10031a0e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5b0], 0xbbca6318
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x100319f5
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031a30
push eax
push 0x1b77
push 0x1034
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_GetCharABCWidthsW]
xor eax, eax
mov dword [ebp - 0x5a8], eax
jmp 0x10031a50
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10031a4a
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor eax, eax
inc dword [ebp - 0x5a8]
cmp dword [ebp - 0x5a8], 3
jg 0x10031a38
mov dword [ebp - 0x40], 0xc407858f
mov dword [ebp - 0x10], eax
jmp 0x10031a76
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2ac], 0xea75c96d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10031a65
mov dword [ebp - 0x2ac], 0x15
cmp dword [ebp - 0x2ac], 0x13
je 0x10031ad5
mov ecx, 0x831d26ec
mov dword [ebp - 0xa28], ecx
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa20], ecx
mov dword [ebp - 0xa1c], ecx
mov eax, dword [ebp - 0x2ac]
xor eax, eax
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], 0x54dbbe56
dec dword [ebp - 0x2ac]
cmp dword [ebp - 0x2ac], 0x13
jne 0x10031a94
jmp 0x10031ad7
xor eax, eax
mov dword [ebp - 0x18], 0xac204e2d
xor ecx, ecx
mov dword [ebp - 0x30], 0x5fa2ef7
inc ecx
mov dword [ebp - 0x10], eax
or edx, 0xffffffff
cmp dword [ebp - 0x10], ecx
jge 0x10031b07
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x5e4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10031af3
xor eax, eax
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xfffffff2
jge 0x10031bb9
jmp 0x10031b18
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xf9986e3e
mov dword [ebp - 0x3c], 0x6b71
cmp dword [ebp - 0x18], eax
jne 0x10031b5c
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xe974a520
sbb eax, eax
inc eax
add eax, dword [ebp - 0x10]
je 0x10031b59
xor eax, eax
mov ecx, eax
jmp 0x10031b5c
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x20], eax
inc edi
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
cmp edi, ecx
push 8
sbb eax, eax
xor edx, edx
neg eax
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
push edi
cmp ecx, eax
pop ecx
setl dl
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff2
jl 0x10031b16
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
xor ecx, ecx
inc ecx
or edx, 0xffffffff
mov dword [ebp - 0x30], 0x18
xor eax, eax
cmp dword [ebp - 0x30], 0xfffffff2
jle 0x10031bf3
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10031be6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeac], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10031bd1
xor eax, eax
cmp dword [ebp - 0xea8], eax
jne 0x10031bf3
dec dword [ebp - 0x30]
jmp 0x10031bc2
mov dword [ebp - 0x18], 0x2afe
mov dword [ebp - 0x30], 0xb76d6092
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x20], 0xfffc
mov dword [ebp - 0x44], 0x2d29ed7d
mov dword [ebp - 0x24], 0xfffa
mov dword [ebp - 0x3c], 0x966b
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x10], eax
jmp 0x10031c44
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x824], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10031c33
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
sub eax, edx
je 0x10031c61
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], 0xdbc56e70
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x820], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10031ca8
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x30], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0x64caf14c
mov dword [ebp - 0x34], 0x29cf3083
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10031d17
or edx, 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x550], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031d03
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10031d39