Function at 0x1002e2b2
Capabilities:
Check os version
Compare security identifiers
Delete directory
Delete file
Extract resource via kernel32 functions
Get common file path
Get disk information
Get disk size
Get graphical window text
Get session user name
Identify system language via api
Log keystrokes via polling
Parse pe header
Query service status
Set registry value

Disassembly:
mov eax, 0x1007e6c3
call fcn.1007d070
mov eax, 0x12ac
call fcn.10079820
push ebx
push esi
push edi
mov dword [ebp - 0x5c], ecx
mov edi, 0xf6af1124
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x960]
push 2
mov byte [ebp - 0x79], dl
call fcn.10015a80
xor eax, eax
mov esi, 0xfa75
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e312
push dword [ebp - 0x10]
lea ecx, [ebp - 0x960]
call fcn.10015b1e
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e2f7
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e325
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
push 1
mov dword [ebp - 0x10], eax
pop ebx
jmp 0x1002e363
mov dword [ebp - 0x28], 0xddd3f467
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x1002e359
push dword [ebp - 0x28]
lea ecx, [ebp - 0x960]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002e357
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002e33c
xor eax, eax
mov dword [ebp - 0x28], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x1002e32d
or eax, 0xffffffff
lea ecx, [ebp - 0x960]
mov dword [ebp - 4], eax
call fcn.10015b02
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0xa8c]
push 2
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e3b3
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa8c]
call fcn.10015b1e
mov dword [eax], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e398
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e3c6
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002e401
mov dword [ebp - 0x28], 0xddd3f467
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x1002e3f7
push dword [ebp - 0x28]
lea ecx, [ebp - 0xa8c]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002e3f5
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002e3da
xor eax, eax
mov dword [ebp - 0x28], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x1002e3cb
or eax, 0xffffffff
lea ecx, [ebp - 0xa8c]
mov dword [ebp - 4], eax
call fcn.10015b02
movdqa xmm0, xmmword [0x10007d50]
lea eax, [ebp - 0xf4c]
push eax
lea eax, [ebp - 0xf5c]
mov dword [ebp - 0x10], edi
push eax
lea ecx, [ebp - 0x124c]
movdqu xmmword [ebp - 0xf5c], xmm0
call fcn.10015b2d
lea ecx, [ebp - 0x1c7]
mov esi, eax
call fcn.10008e13
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x10a4]
push dword [esi]
call fcn.10015adc
mov dword [ebp - 4], 2
or esi, 0xffffffff
mov dword [ebp - 0x18], 0xd444182b
xor eax, eax
mov dword [ebp - 0x2c], 0x7865925e
mov dword [ebp - 0x2c], 0x44d1878a
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0x8b47
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002e4ba
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xcf0], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e4a6
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002e535
mov dword [ebp - 0x2c], 6
lea ecx, [ebp - 0xe8c]
push 3
call fcn.10015a80
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x2c], 0x9a2f3817
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002e50f
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe8c]
call fcn.10015b1e
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002e4f3
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e51e
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
inc dword [ebp - 0x30]
lea ecx, [ebp - 0xe8c]
mov byte [ebp - 4], 2
call fcn.10015b02
dec dword [ebp - 0x18]
jns 0x1002e4c6
lea ecx, [ebp - 0x10a4]
mov dword [ebp - 4], esi
call fcn.10015b02
push 2
lea ecx, [ebp - 0x924]
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e581
push dword [ebp - 0x10]
lea ecx, [ebp - 0x924]
call fcn.10015b1e
mov dword [eax], 0xfa75
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e562
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e594
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002e5cf
mov dword [ebp - 0x28], 0xddd3f467
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x1002e5c5
push dword [ebp - 0x28]
lea ecx, [ebp - 0x924]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002e5c3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002e5a8
xor eax, eax
mov dword [ebp - 0x28], 2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jne 0x1002e599
lea ecx, [ebp - 0x924]
mov dword [ebp - 4], esi
call fcn.10015b02
mov dword [ebp - 0x1c], ebx
xor eax, eax
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x2c], 0x15a8df04
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002e61b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38c], 0xdc85
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1002e602
xor eax, eax
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], eax
jl 0x1002e712
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002e64d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf34], 0xa90c6d21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002e634
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e663
push 0xce0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x38c]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x1002e67e
cmp dword [ebp - 0x38c], eax
je 0x1002e67e
mov eax, ebx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x388]
sub ecx, 0x1e616a2f
imul ecx, eax
xor eax, eax
mov dword [ebp - 0xf34], ecx
test ecx, ecx
je 0x1002e6a6
cmp dword [ebp - 0x10], eax
je 0x1002e6a6
mov eax, ebx
cmp eax, dword [ebp - 0x1c]
jge 0x1002e6b5
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x38c]
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x38c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x38c]
mov edx, dword [ebp - 0x388]
sub edx, eax
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x38c]
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne cl
xor edx, edx
cmp ecx, 0x21462ccd
mov eax, dword [ebp + eax*4 - 0x38c]
setge dl
xor ecx, ecx
cmp eax, edx
pop eax
sete cl
mov dword [ebp - 0x3c], ecx
dec dword [ebp - 0x1c]
jns 0x1002e62b
mov dword [ebp - 0x10], ebx
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002e72a
push eax
push 0x1299
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0x10], 0x17
jmp 0x1002e744
mov dword [ebp - 0x3c], 0xfff8
mov dword [ebp - 0x3c], 0xfffffffc
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffec
je 0x1002e733
mov dword [ebp - 0x44], edi
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x18], 0xfffffff9
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0xfffffff7
push 2
call fcn.10015a80
push 5
pop eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
push 7
pop edi
jge 0x1002e7a1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5a0]
call fcn.10015b1e
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002e786
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002e7c3
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x620], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002e7aa
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe5
push 0xfffffffffffffffd
pop ecx
jl 0x1002e96e
jmp 0x1002e7d7
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002e807
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x300], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002e7ef
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffee
jne 0x1002e95e
mov dword [ebp - 0x48], 0x6bc044b0
lea ecx, [ebp - 0x6c0]
push 3
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002e856
push dword [ebp - 0x10]
lea ecx, [ebp - 0x6c0]
call fcn.10015b1e
mov dword [eax], 0x5cd3860a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002e837
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x1002e8a3
push eax
lea ecx, [ebp - 0x5a0]
call fcn.10015b1e
mov edx, dword [ebp - 0x30]
xor ecx, ecx
add edx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp edx, eax
setle cl
xor ebx, ebx
cmp ecx, edi
lea ecx, [ebp - 0x5a0]
setge bl
xor eax, eax
inc eax
push eax
call fcn.10015b1e
mov dword [eax], ebx
test ebx, ebx
je 0x1002e8a0
xor eax, eax
lea ecx, [ebp - 0x5a0]
push eax
call fcn.10015b1e
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x6c0]
mov dword [ebp - 0x300], eax
xor eax, eax
push eax
call fcn.10015b1e
mov ecx, dword [ebp - 0x24]
mov esi, eax
xor eax, eax
cmp ecx, 0x7bab6ea1
mov ecx, dword [ebp - 0x24]
setne al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
push ebx
setge dl
mov dword [esi], edx
xor edx, edx
dec dword [ebp - 0x61c]
mov ecx, dword [ebp - 0x61c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0x6c0]
sete dl
sub edx, 0x24cacc50
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x3c]
call fcn.10015b1e
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp dword [eax], ecx
mov eax, dword [ebp - 0x24]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfff9
sbb eax, eax
inc eax
cmp dword [ebp - 0x24], eax
jg 0x1002e935
xor eax, eax
cmp dword [ebp - 0x300], eax
je 0x1002e937
mov eax, ebx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x6c0]
push 5
pop eax
mov byte [ebp - 4], al
call fcn.10015b02
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffee
je 0x1002e814
push 0xfffffffffffffffd
or esi, 0xffffffff
pop ecx
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe5
jge 0x1002e7d5
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 4], esi
call fcn.10015b02
push 2
lea ecx, [ebp - 0x954]
call fcn.10015a80
lea eax, [ebp - 0x106c]
mov dword [ebp - 4], edi
movdqa xmm0, xmmword [0x10007d50]
lea ecx, [ebp - 0x1254]
push eax
lea eax, [ebp - 0x107c]
push eax
movdqu xmmword [ebp - 0x107c], xmm0
call fcn.10015b2d
lea ecx, [ebp - 0x163]
mov esi, eax
call fcn.10008e13
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x10c8]
push dword [esi]
call fcn.10015adc
mov byte [ebp - 4], 8
or esi, 0xffffffff
mov dword [ebp - 0x18], 0xd444182b
xor eax, eax
mov dword [ebp - 0x2c], 0x7865925e
mov dword [ebp - 0x2c], 0x44d1878a
mov dword [ebp - 0x2c], ebx
push 4
pop edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x2c], 0x8b47
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002ea27
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd80], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ea13
xor eax, eax
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], eax
jl 0x1002eaa2
mov dword [ebp - 0x2c], 6
lea ecx, [ebp - 0xd04]
push 3
call fcn.10015a80
mov byte [ebp - 4], 9
xor eax, eax
mov dword [ebp - 0x2c], 0x9a2f3817
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002ea7c
push dword [ebp - 0x10]
lea ecx, [ebp - 0xd04]
call fcn.10015b1e
and dword [eax], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002ea60
xor eax, eax
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002ea8b
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
inc dword [ebp - 0x30]
lea ecx, [ebp - 0xd04]
mov byte [ebp - 4], 8
call fcn.10015b02
dec dword [ebp - 0x18]
jns 0x1002ea33
push 7
pop eax
lea ecx, [ebp - 0x10c8]
mov byte [ebp - 4], al
call fcn.10015b02
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002ead1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x954]
call fcn.10015b1e
mov dword [eax], 0xfa75
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002eaba
mov dword [ebp - 0x40], 0xfffffffa
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x28], 0xfc2da8af
push 2
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002eb1c
push dword [ebp - 0x10]
lea ecx, [ebp - 0x65c]
call fcn.10015b1e
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002eb01
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x1b
push 0xfffffffffffffffe
pop edi
je 0x1002ed6a
push ebx
lea ecx, [ebp - 0x13c]
call fcn.10015a80
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002eb67
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x13c]
call fcn.10015b1e
and dword [eax], 0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002eb4c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002eb85
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11c4], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002eb70
xor eax, eax
push eax
lea ecx, [ebp - 0x13c]
call fcn.10015b1e
cmp dword [eax], 0
je 0x1002ec4f
xor eax, eax
lea ecx, [ebp - 0x13c]
push eax
call fcn.10015b1e
cmp dword [eax], 0
je 0x1002ebc4
xor eax, eax
lea ecx, [ebp - 0x13c]
push eax
call fcn.10015b1e
cmp dword [eax], 0
je 0x1002ebc4
mov ecx, ebx
jmp 0x1002ebc8
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x28], 0x573
mov eax, dword [ebp - 0x28]
imul eax, ecx
test eax, eax
je 0x1002ebf0
xor eax, eax
lea ecx, [ebp - 0x13c]
push eax
call fcn.10015b1e
cmp dword [eax], 0
je 0x1002ebf0
mov esi, ebx
jmp 0x1002ebf4
xor eax, eax
mov esi, eax
push ebx
lea ecx, [ebp - 0x65c]
call fcn.10015b1e
lea ecx, [ebp - 0x13c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10015b1e
xor ecx, ecx
cmp esi, dword [eax]
setl cl
cmp edi, ecx
lea ecx, [ebp - 0x13c]
sbb eax, eax
neg eax
imul esi, eax, 0xd72a
xor eax, eax
push eax
call fcn.10015b1e
mov ecx, dword [ebp - 0x40]
sub ecx, esi
neg ecx
sbb ecx, ecx
add ecx, 0xd7cf9938
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [eax]
je 0x1002ec4f
mov esi, ebx
xor eax, eax
jmp 0x1002ec53
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x13c]
call fcn.10015b1e
mov eax, dword [eax]
add eax, esi
je 0x1002ecab
xor eax, eax
mov dword [ebp - 0x30], 0x981c
mov dword [ebp - 0x28], eax
jmp 0x1002ec9d
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002ec9a
push 0xdee
push 0x840
push 0x1ec
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckRadioButton]
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xd
je 0x1002ec73
dec dword [ebp - 0x30]
jmp 0x1002ed3d
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
jg 0x1002ed3f
push dword [ebp - 0x24]
lea ecx, [ebp - 0x65c]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002ecda
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x1002ecdc
mov edi, eax
jmp 0x1002ecde
xor eax, eax
mov edi, ebx
push eax
lea ecx, [ebp - 0x13c]
call fcn.10015b1e
cmp dword [eax], ebx
je 0x1002ecf9
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x1002ecfb
mov esi, eax
jmp 0x1002ecfd
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0x13c]
call fcn.10015b1e
push dword [ebp - 0x24]
xor ecx, ecx
cmp ecx, esi
sbb ecx, ecx
xor edx, edx
neg ecx
cmp edi, ecx
lea ecx, [ebp - 0x65c]
setge dl
xor ebx, ebx
cmp edx, dword [eax]
setg bl
call fcn.10015b1e
mov dword [eax], ebx
xor ebx, ebx
inc dword [ebp - 0x24]
inc ebx
cmp dword [ebp - 0x24], ebx
jle 0x1002ecbc
push 0xfffffffffffffffe
pop edi
xor eax, eax
lea ecx, [ebp - 0x13c]
cmp dword [ebp - 0x24], eax
jne 0x1002ed62
mov byte [ebp - 4], 0xa
call fcn.10015b02
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0x1b
jne 0x1002eb2f
jmp 0x1002ed67
call fcn.10015b02
or esi, 0xffffffff
push 7
pop eax
lea ecx, [ebp - 0x65c]
mov byte [ebp - 4], al
call fcn.10015b02
push 3
lea ecx, [ebp - 0xf4c]
call fcn.10015a80
mov byte [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002edbd
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf4c]
call fcn.10015b1e
mov dword [eax], 0x313dd33a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002ed9e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1002edd8
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002edd5
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x1002edc2
push 7
pop eax
lea ecx, [ebp - 0xf4c]
mov byte [ebp - 4], al
call fcn.10015b02
xor eax, eax
mov byte [ebp - 0x11], al
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002ee25
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x68], 0x40d7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002ee10
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], eax
jg 0x1002efaa
mov dword [ebp - 0x1c], 0x25b3b9da
mov dword [ebp - 0x10], ebx
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x68], 0
jne 0x1002eeb2
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 7
mov eax, dword [ebp + eax*4 - 0x68]
test eax, eax
pop eax
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x68]
setne dl
xor ecx, ecx
cmp eax, edx
setg cl
dec ecx
jne 0x1002ee76
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x1c], eax
je 0x1002ee78
mov ecx, ebx
mov eax, dword [ebp - 0x20]
shl ecx, 3
mov eax, dword [ebp + eax*4 - 0x68]
sub ecx, eax
neg ecx
mov eax, 0xfff9
sbb ecx, ecx
inc ecx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setle cl
cmp dword [ebp - 0x68], ecx
jne 0x1002eea5
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x1c], 3
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x68], esi
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1c]
je 0x1002ef2c
xor eax, eax
cmp dword [ebp - 0x68], eax
je 0x1002ef2e
mov dword [ebp - 0x3c], 0x792891f4
cmp dword [ebp - 0x1c], eax
jne 0x1002eee1
mov ecx, eax
cmp dword [ebp - 0x10], eax
je 0x1002eee3
mov ecx, ebx
xor eax, eax
cmp ecx, esi
setne al
test eax, eax
jle 0x1002eef7
xor eax, eax
mov esi, eax
cmp dword [ebp - 0x68], eax
je 0x1002eef9
mov esi, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x20]
sub esi, eax
mov eax, dword [ebp - 0x68]
cmp esi, edx
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setl dl
xor eax, eax
sub edx, dword [ebp - 0x20]
imul edx, dword [ebp - 0x68]
or esi, 0xffffffff
mov dword [ebp - 0x18], edx
jmp 0x1002ef9c
xor eax, eax
mov dword [ebp - 0x30], 0x783d
mov dword [ebp - 0x3c], 0x5a5285b5
mov dword [ebp - 0x1c], eax
jmp 0x1002ef56
mov byte [ebp - 0x4d], al
cmp byte [ebp - 0x4d], 0
je 0x1002ef53
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jle 0x1002ef41
mov dword [ebp - 0x18], 0x16
cmp dword [ebp - 0x18], 0x10
jne 0x1002ef9c
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x3c], 0xffff
jae 0x1002ef7b
mov edx, ebx
cmp dword [ebp - 0x48], eax
jne 0x1002ef7d
mov edx, eax
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
add eax, edx
push 0
lea eax, [eax + ecx*4]
add eax, 0x7dc46221
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
pop eax
je 0x1002ef68
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x1002ee31
xor eax, eax
cmp byte [ebp - 0x11], 0
je 0x1002f139
mov dword [ebp - 0x20], 0x9464
mov dword [ebp - 0x28], 0xa59c1763
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], 0xdeb2
mov dword [ebp - 0x10], eax
jmp 0x1002efe2
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1110], 0x580eb60f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002efd1
mov eax, dword [ebp - 0x20]
sub eax, 0xffff
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
je 0x1002f010
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setne dl
lea eax, [edx - 0x59fc2d31]
mov dword [ebp - 0x1110], eax
cmp dword [ebp - 0x20], eax
jg 0x1002f046
xor eax, eax
mov edx, eax
cmp dword [ebp - 0x24], eax
je 0x1002f048
mov edx, ebx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
shl edx, 2
sub eax, edx
cmp dword [ebp - 0x28], eax
jg 0x1002f11b
push 5
pop eax
mov dword [ebp - 0x10], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x1002f0f5
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], 0xffffffe7
cmp dword [ebp - 0x24], 0x2c
jg 0x1002f111
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002f0e4
mov dword [ebp - 0x28], 2
cmp dword [ebp - 0x28], eax
jl 0x1002f0e1
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f0c9
push 0xe71
push 0x265b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f0dc
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
dec dword [ebp - 0x28]
jns 0x1002f0a6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
je 0x1002f09a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x2c
jle 0x1002f095
jmp 0x1002f111
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002f111
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
xor eax, eax
jmp 0x1002f120
xor eax, eax
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f131
call dword [sym.imp.USER32.dll_GetMessageTime]
xor eax, eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov dword [ebp - 0x24], 0x462d5e48
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0xffffffe9
cmp dword [ebp - 0x24], 0x1c
jl 0x1002f16d
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f164
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x1c
jge 0x1002f152
push 7
pop eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0xb4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], esi
push 3
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002f1c0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xb4c]
call fcn.10015b1e
mov dword [eax], 0xe1ee67b3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002f1a1
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f1dc
push 0x10f8
push 0xbc2
push eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002f211
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x28]
test edx, edx
jne 0x1002f1ff
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0x24], eax
je 0x1002f201
mov ecx, ebx
mov eax, dword [ebp - 0x18]
imul eax, ecx
test eax, eax
je 0x1002f20f
mov edi, ebx
jmp 0x1002f213
xor eax, eax
mov edi, eax
push 2
lea ecx, [ebp - 0xb4c]
call fcn.10015b1e
mov ecx, dword [ebp - 0x24]
mov esi, eax
xor eax, eax
cmp edi, ecx
mov ecx, dword [ebp - 0x18]
setle al
xor edx, edx
cmp eax, ecx
push 7
setne dl
xor ecx, ecx
cmp edx, 0xfffffff8
pop eax
setg cl
mov byte [ebp - 4], al
mov dword [esi], ecx
lea ecx, [ebp - 0xb4c]
call fcn.10015b02
xor eax, eax
or edi, 0xffffffff
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x16
je 0x1002fce3
jmp 0x1002f267
xor eax, eax
mov dword [ebp - 0x1c], 3
push 0xfffffffffffffff9
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x1c], eax
pop esi
cmp dword [ebp - 0x1c], 0xffffffe6
jle 0x1002f387
push 5
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x3b3152c5
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x3c], 0xcc167df2
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xcc5c
mov eax, dword [ebp - 0x1c]
setg cl
xor ebx, ebx
cmp ecx, eax
setne bl
xor edx, edx
imul ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
cmp ebx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, esi
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor eax, eax
cmp ecx, dword [ebp - 0x1c]
je 0x1002f30b
cmp dword [ebp - 0x18], eax
je 0x1002f30b
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x1002f30e
xor ebx, ebx
inc ebx
mov dword [ebp - 0x18], eax
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
xor eax, eax
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x197c
je 0x1002f341
mov ecx, ebx
cmp dword [ebp - 0x1c], eax
je 0x1002f343
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor eax, eax
test ecx, ecx
sets al
cmp eax, dword [ebp - 0x3c]
jg 0x1002f360
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002f360
mov ecx, eax
cmp dword [ebp - 0x10], eax
je 0x1002f362
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, 0x289ed5b6
mov dword [ebp - 0x10], ecx
dec dword [ebp - 0x1c]
jmp 0x1002f27b
mov dword [ebp - 0x40], 0xddd3f467
lea ecx, [ebp - 0x5b8]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0xfffffff7
push 2
call fcn.10015a80
mov byte [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f3dd
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x5b8]
call fcn.10015b1e
mov dword [eax], 7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f3be
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f3ff
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c8], 0xffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f3e6
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffe5
jl 0x1002f5a7
jmp 0x1002f410
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f440
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x27c], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f428
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xffffffee
jne 0x1002f597
mov dword [ebp - 0x48], 0x6bc044b0
lea ecx, [ebp - 0x6e4]
push 3
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002f48f
push dword [ebp - 0x10]
lea ecx, [ebp - 0x6e4]
call fcn.10015b1e
mov dword [eax], 0x5cd3860a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1002f470
xor eax, eax
cmp dword [ebp - 0x4c], eax
jne 0x1002f4df
push eax
lea ecx, [ebp - 0x5b8]
call fcn.10015b1e
mov edx, dword [ebp - 0x30]
xor ecx, ecx
push 7
add edx, dword [eax]
mov eax, dword [ebp - 0x24]
cmp edx, eax
pop eax
setle cl
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x5b8]
setge bl
xor eax, eax
inc eax
push eax
call fcn.10015b1e
mov dword [eax], ebx
test ebx, ebx
je 0x1002f4dc
xor eax, eax
lea ecx, [ebp - 0x5b8]
push eax
call fcn.10015b1e
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 0x27c], eax
xor eax, eax
push eax
call fcn.10015b1e
mov ecx, dword [ebp - 0x24]
mov esi, eax
xor eax, eax
cmp ecx, 0x7bab6ea1
mov ecx, dword [ebp - 0x24]
setne al
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x4c]
push ebx
setge dl
mov dword [esi], edx
xor edx, edx
dec dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x4c4]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0x6e4]
sete dl
sub edx, 0x24cacc50
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x3c]
call fcn.10015b1e
mov ecx, dword [ebp - 0x48]
xor edx, edx
cmp dword [eax], ecx
mov ecx, 0xfff9
mov eax, dword [ebp - 0x24]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, ecx
sbb eax, eax
inc eax
cmp dword [ebp - 0x24], eax
jg 0x1002f573
xor eax, eax
cmp dword [ebp - 0x27c], eax
je 0x1002f575
mov eax, ebx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x6e4]
mov byte [ebp - 4], 0xe
call fcn.10015b02
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffee
je 0x1002f44d
push 0xfffffffffffffff9
pop esi
mov eax, dword [ebp - 0x28]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe5
jge 0x1002f40e
push 7
pop eax
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 4], al
call fcn.10015b02
xor eax, eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], ebx
jg 0x1002fc47
mov dword [ebp - 0x24], 0x91a049fe
mov dword [ebp - 0x18], 0xeb987642
mov dword [ebp - 0x2c], 6
mov dword [ebp - 0x4c], 0x54f4d21f
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
jmp 0x1002f5f7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2fc], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f5ea
mov dword [ebp - 0x24], 0xe
cmp dword [ebp - 0x24], 0xfffffff1
jg 0x1002f7af
push 0xfffffffffffffffe
pop esi
mov dword [ebp - 0x28], 0xcc25
xor edx, edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x34], 0x162d50c8
mov dword [ebp - 0x30], 0x36fe
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setl dl
cmp edx, esi
je 0x1002f657
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setl dl
xor ecx, ecx
mov dword [ebp - 0x1c], edx
imul eax, dword [ebp - 0x1c], 5
test eax, eax
sets cl
cmp ecx, dword [ebp - 0x34]
je 0x1002f74b
push ebx
lea ecx, [ebp - 0x3a8]
call fcn.10015a80
mov byte [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffff7
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1002f6cb
push dword [ebp - 0x10]
lea ecx, [ebp - 0x3a8]
call fcn.10015b1e
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f6b1
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002f6df
push 0x17af
call dword [sym.imp.USER32.dll_PostQuitMessage]
cmp dword [ebp - 0x34], 0xffff
lea ecx, [ebp - 0x3a8]
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
xor eax, eax
push eax
call fcn.10015b1e
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x3a8]
xor eax, eax
push eax
call fcn.10015b1e
xor eax, eax
lea ecx, [ebp - 0x3a8]
push eax
call fcn.10015b1e
xor eax, eax
lea ecx, [ebp - 0x3a8]
push eax
call fcn.10015b1e
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x3a8]
mov dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
push 7
pop eax
mov byte [ebp - 4], al
call fcn.10015b02
jmp 0x1002f7a2
xor eax, eax
mov dword [ebp - 0x3c], 2
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002f767
push eax
push eax
push eax
call dword [sym.imp.USER32.dll_UnionRect]
xor eax, eax
cmp dword [ebp - 0x2fc], eax
jne 0x1002f79d
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1002f781
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, ebx
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, dword [ebp - 0x18]
cmp eax, 0x47ebdcf2
setle cl
cmp ecx, dword [ebp - 0x1c]
jge 0x1002f79d
xor eax, eax
cmp dword [ebp - 0x30], eax
je 0x1002f79f
mov eax, ebx
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffff1
jle 0x1002f610
dec dword [ebp - 0x4c]
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x38], 0x6d444182
mov dword [ebp - 0x268], edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x25c], edi
push 2
call fcn.10015a80
mov byte [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x28], 0x59dba5c1
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002f812
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x170]
call fcn.10015b1e
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002f7f7
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002f834
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd18], 0x74ae
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1002f81b
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x1002f861
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
imul edx, dword [ebp - 0x38], 0x855e
mov eax, dword [ebp - 0x38]
sub edx, 2
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x38]
jge 0x1002f861
xor eax, eax
mov esi, eax
jmp 0x1002f865
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x170]
call fcn.10015b1e
mov ecx, dword [ebp - 0x38]
xor edx, edx
sub esi, ecx
mov ecx, dword [ebp - 0x38]
cmp esi, ecx
setle dl
add edx, dword [eax]
cmp edx, dword [ebp - 0x38]
jg 0x1002f88a
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
push ebx
call fcn.10015b1e
push ebx
lea ecx, [ebp - 0x170]
call fcn.10015b1e
cmp dword [eax], 0
je 0x1002f9a1
xor eax, eax
lea ecx, [ebp - 0x93c]
mov dword [ebp - 0x34], eax
push ebx
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x10], eax
jmp 0x1002f8ed
push dword [ebp - 0x10]
lea ecx, [ebp - 0x93c]
call fcn.10015b1e
mov dword [eax], 0x2614f5c6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1002f8d6
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x170]
xor ebx, ebx
cmp eax, 0xd004
setne bl
xor eax, eax
push eax
call fcn.10015b1e
xor edx, edx
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x34]
setg dl
imul eax, dword [ebp - 0x38]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setl bl
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x34]
setg cl
xor ebx, ebx
cmp ecx, 0x2327
lea ecx, [ebp - 0x93c]
setg bl
sub ebx, eax
xor eax, eax
push eax
call fcn.10015b1e
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x34]
cmp ebx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setne bl
xor ecx, ecx
cmp ebx, eax
setle cl
mov dword [ebp - 0x264], ecx
lea ecx, [ebp - 0x93c]
call fcn.10015b02
xor ebx, ebx
inc ebx
jmp 0x1002fc12
mov dword [ebp - 0x10], 0xfffffff8
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x3c], 0x563e
xor eax, eax
mov dword [ebp - 0x48], 0x49b5b57a
mov dword [ebp - 0x2c], 0xc7924425
mov esi, dword [ebp - 0x10]
push eax
call fcn.10015b1e
mov dword [eax], esi
test esi, esi
je 0x1002fa00
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002fc0f
push eax
push eax
push 0x7b5
push 0x410
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
jmp 0x1002fc0f
mov dword [ebp - 0x30], 0xa9bed5d2
lea ecx, [ebp - 0xaa4]
mov dword [ebp - 0x18], 0xfffffffb
push ebx
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fa40
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2d4], 0xfffc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fa28
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x1002fa66
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xaa4]
call fcn.10015b1e
mov dword [eax], 0x58cf
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fa48
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x1002fbfb
mov dword [ebp - 0x1c], 0xfff6
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], eax
jl 0x1002fbf8
mov dword [ebp - 0x48], 0xd8287126
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x264], 0
jl 0x1002faa3
push dword [ebp - 0x38]
lea ecx, [ebp - 0x170]
call fcn.10015b1e
mov eax, dword [ebp - 0x1c]
add eax, 9
jne 0x1002fab2
mov edx, eax
cmp dword [ebp - 0x30], eax
je 0x1002fab4
mov edx, ebx
mov eax, dword [ebp - 0x38]
push ebx
mov ecx, dword [ebp + eax*4 - 0x264]
imul eax, edx, 0xc392
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setl cl
mov dword [ebp + eax*4 - 0x268], ecx
lea ecx, [ebp - 0x170]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002fb8e
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
mov dword [ebp + eax*4 - 0x264], edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, 0x3d12ee8b
setg cl
imul ecx, dword [ebp - 0x1c]
sub eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
je 0x1002fb55
push dword [ebp - 0x38]
lea ecx, [ebp - 0x170]
call fcn.10015b1e
cmp dword [ebp - 0x2d4], 0x7b38
jg 0x1002fb64
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x1002fb7d
cmp dword [ebp - 0xd18], eax
jne 0x1002fb7d
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x264]
mov eax, dword [ebp - 0x2d4]
cmp dword [ebp - 0x1c], ebx
jne 0x1002fb8e
xor eax, eax
mov edx, eax
jmp 0x1002fb90
mov edx, ebx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
push 5
setle cl
pop eax
cmp ecx, eax
jne 0x1002fbab
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax*4 - 0x264]
push dword [ebp - 0x38]
lea ecx, [ebp - 0x170]
call fcn.10015b1e
lea ecx, [ebp - 0xaa4]
and dword [eax], 0
mov eax, dword [ebp - 0xd18]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
call fcn.10015b1e
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x264]
sub edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
setge cl
mov dword [ebp - 0x48], ecx
dec dword [ebp - 0x38]
jns 0x1002fa81
xor eax, eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1002fa6e
lea ecx, [ebp - 0xaa4]
call fcn.10015b02
dec dword [ebp - 0x4c]
push 7
pop eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], al
call fcn.10015b02
push dword [ebp - 0x40]
lea ecx, [ebp - 0x954]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x1002fc45
inc dword [ebp - 0x40]
push 0
pop eax
cmp dword [ebp - 0x40], ebx
jle 0x1002f5c6
xor eax, eax
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0xea4]
mov dword [ebp - 0x2c], 0xfe7d8a87
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xb25b3b9d
mov dword [ebp - 0x2c], 0x82ff40fc
push 2
call fcn.10015a80
mov byte [ebp - 4], 0x14
xor eax, eax
mov dword [ebp - 0x30], 0xd6b9
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1002fca0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xea4]
call fcn.10015b1e
mov dword [eax], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1002fc85
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x1002fcb6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd90], 0x35e1f6f0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1002fca5
dec dword [ebp - 0x30]
lea ecx, [ebp - 0xea4]
push 7
pop eax
mov byte [ebp - 4], al
call fcn.10015b02
mov dword [ebp - 0x40], 2
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x16
jne 0x1002f265
lea ecx, [ebp - 0x954]
mov dword [ebp - 4], edi
call fcn.10015b02
mov dword [ebp - 0x18], 0xda439beb
xor eax, eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002fd26
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x630], 0x7ab3921d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002fd0d
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002fd2e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ebx, dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov esi, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x10], 0x45559507
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
je 0x1002fdb7
xor eax, eax
mov dword [ebp - 0x30], 0x2c9a
xor edi, edi
inc edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff6
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 2
jl 0x1002fdaf
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
jmp 0x1002fdec
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002fdc6
push eax
call esi
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fde9
push 0x2444
push eax
push eax
push 0x38
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor edi, edi
inc edi
mov eax, dword [ebp - 0x48]
or edx, 0xffffffff
neg eax
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp ecx, 0xfe98
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x18], 0xda439beb
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1002fe46
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x4dc], 0x7ab3921d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1002fe2d
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x1002fe4e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x10], 0x45559507
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
je 0x1002fec8
xor eax, eax
mov dword [ebp - 0x30], 0x2c9a
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff6
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 2
jl 0x1002fec0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
jmp 0x1002fefa
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x1002fed7
push eax
call esi
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1002fefa
push 0x2444
push eax
push eax
push 0x38
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
neg eax
or esi, 0xffffffff
cmp eax, esi
push 3
setl cl
xor eax, eax
cmp ecx, 0xfe98
lea ecx, [ebp - 0x96c]
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], edi
call fcn.10015a80
push edi
lea ecx, [ebp - 0xbac]
mov dword [ebp - 4], 0x15
call fcn.10015a80
mov byte [ebp - 4], 0x16
mov eax, 0x7504ed09
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 4
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc5c], eax
mov dword [ebp - 0xc58], eax
mov dword [ebp - 0xc54], eax
mov eax, 0xaa7054f8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002ffb1
push dword [ebp - 0x20]
lea ecx, [ebp - 0x96c]
call fcn.10015b1e
mov dword [eax], 0x7747bb7a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1002ff92
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x1002ffcd
push dword [ebp - 0x20]
lea ecx, [ebp - 0xbac]
call fcn.10015b1e
mov dword [eax], 0x6986d6d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1002ffb6
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x96c]
add eax, 6
mov dword [ebp - 0x30], eax
push edi
call fcn.10015b1e
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
mov dword [eax], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0xbac]
call fcn.10015b1e
push 5
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x91a8
setl cl
xor eax, eax
cmp ecx, 0xdd71
mov ecx, 0x33ecb407
setl al
mov dword [ebp - 0xc5c], eax
cmp eax, dword [ebp - 0x1c]
jne 0x1003005f
mov dword [ebp - 0x3c], 0xda5659cd
xor eax, eax
mov dword [ebp - 0x3c], 0x71cc545e
or esi, 0xffffffff
jmp 0x10030117
mov dword [ebp - 0x2c], 0x3d38
xor eax, eax
mov dword [ebp - 0x2c], 0xb7228d
or esi, 0xffffffff
mov dword [ebp - 0x2c], 0xa2560131
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x2c], 0x9b6e
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x100300b8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x119c], 0x4807c1f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003009f
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], edi
jge 0x100300d8
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2f4], 0xc580b0b8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100300c0
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030111
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x30], 0xe577
dec dword [ebp - 0x2f4]
inc dword [ebp - 0x30]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
jl 0x100300dd
mov edi, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003012d
push eax
push eax
push eax
push eax
push eax
call edi
lea ecx, [ebp - 0xbac]
call fcn.10015b02
lea ecx, [ebp - 0x96c]
mov dword [ebp - 4], esi
call fcn.10015b02
mov dword [ebp - 0x18], 0xda439beb
xor eax, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x1003017b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x640], 0x7ab3921d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030162
xor eax, eax
cmp dword [ebp - 0x18], eax
je 0x10030183
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x10], 0x45559507
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
je 0x10030200
xor eax, eax
mov dword [ebp - 0x30], 0x2c9a
xor ebx, ebx
inc ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff6
setg al
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 2
jl 0x100301f8
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10], eax
jmp 0x10030239
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], al
je 0x10030213
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030236
push 0x2444
push eax
push eax
push 0x38
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call ebx
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
neg eax
cmp eax, esi
push 3
setl cl
xor eax, eax
cmp ecx, 0xfe98
lea ecx, [ebp - 0xabc]
pop esi
setg al
sub eax, dword [ebp - 0x10]
neg eax
push esi
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
call fcn.10015a80
mov dword [ebp - 4], 0x17
xor eax, eax
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], esi
jge 0x100302a3
push dword [ebp - 0x10]
lea ecx, [ebp - 0xabc]
call fcn.10015b1e
mov dword [eax], 0x7571177e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10030285
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x100302ef
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x30], 6
mov dword [ebp - 0x3c], 0xfffffff8
push 2
call fcn.10015b1e
or ecx, 0xffffffff
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov eax, dword [ebp - 0x4c]
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
lea ecx, [ebp - 0xabc]
jle 0x100302a8
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10015b02
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xb64]
mov dword [ebp - 0x30], ebx
push esi
call fcn.10015a80
push ebx
lea ecx, [ebp - 0x984]
mov dword [ebp - 4], 0x18
call fcn.10015a80
mov byte [ebp - 4], 0x19
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
mov eax, 0x7504ed09
mov dword [ebp - 0x30], 4
mov dword [ebp - 0xc40], eax
mov dword [ebp - 0xc3c], eax
mov dword [ebp - 0xc38], eax
mov dword [ebp - 0xc34], eax
mov eax, 0xaa7054f8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10030398
push dword [ebp - 0x20]
lea ecx, [ebp - 0xb64]
call fcn.10015b1e
mov dword [eax], 0x7747bb7a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x1003037a
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100303b4
push dword [ebp - 0x20]
lea ecx, [ebp - 0x984]
call fcn.10015b1e
mov dword [eax], 0x6986d6d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1003039d
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb64]
add eax, 6
mov dword [ebp - 0x30], eax
push ebx
call fcn.10015b1e
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
mov dword [eax], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x984]
call fcn.10015b1e
push 5
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x91a8
setl al
xor ecx, ecx
cmp eax, 0xdd71
setl cl
xor eax, eax
mov dword [ebp - 0xc3c], ecx
or esi, 0xffffffff
cmp ecx, dword [ebp - 0x1c]
jne 0x10030441
mov dword [ebp - 0x3c], 0xda5659cd
mov dword [ebp - 0x3c], 0x71cc545e
jmp 0x100304fd
mov dword [ebp - 0x2c], 0x3d38
mov dword [ebp - 0x2c], 0xb7228d
mov dword [ebp - 0x2c], 0xa2560131
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x2c], 0x9b6e
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10030495
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11bc], 0x4807c1f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003047c
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100304b5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x290], 0xc580b0b8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x1003049d
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x11
jge 0x100304fd
mov ecx, 0x33ecb407
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x30], 0xe577
dec dword [ebp - 0x290]
inc dword [ebp - 0x30]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
jl 0x100304c3
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x1003050d
push eax
push eax
push eax
push eax
push eax
call edi
lea ecx, [ebp - 0x984]
call fcn.10015b02
lea ecx, [ebp - 0xb64]
mov dword [ebp - 4], esi
call fcn.10015b02
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x1c], 0x4e2db58
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030703
mov dword [ebp - 0x24], 0xfffffffa
lea ecx, [ebp - 0x7ec]
push ebx
call fcn.10015a80
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1003057e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x7ec]
call fcn.10015b1e
mov dword [eax], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030567
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, ebx
jb 0x100305bb
xor eax, eax
lea ecx, [ebp - 0x7ec]
push eax
call fcn.10015b1e
cmp dword [eax], 0
je 0x100305bb
mov eax, ebx
jmp 0x100305bd
xor eax, eax
mov dword [ebp - 0x20], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x20], eax
push 5
pop eax
cmp dword [ebp - 0x20], eax
jg 0x100306f2
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x34], 0xe6b93388
mov dword [ebp - 0x40], 0xc30bca0b
mov dword [ebp - 0x3c], 0xb221494f
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x1c]
jl 0x1003060a
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x1c], eax
jne 0x10030626
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10030628
mov esi, eax
jmp 0x1003062a
xor eax, eax
mov esi, ebx
push eax
lea ecx, [ebp - 0x7ec]
call fcn.10015b1e
xor ecx, ecx
cmp esi, dword [eax]
setle cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0x18
cmp dword [ebp - 0x18], 0xffffffef
jle 0x100306de
xor eax, eax
mov dword [ebp - 0x4c], 0x79a46bb2
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x1003067d
mov dword [ebp - 0x34], eax
jmp 0x10030673
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jle 0x1003066d
dec dword [ebp - 0x24]
jns 0x10030668
mov dword [ebp - 0x28], 0xfffffff8
cmp dword [ebp - 0x28], 0x1d
jg 0x100306d1
or ecx, 0xffffffff
mov dword [ebp - 0x10], 0xd2ca
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x30], 0xfd208dd2
mov dword [ebp - 0x48], 0x4e19c781
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], ebx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x1d
jle 0x1003068d
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffef
jg 0x10030659
inc dword [ebp - 0x20]
push 5
pop eax
push 0xffffffffffffffff
pop esi
cmp dword [ebp - 0x20], eax
jle 0x100305d2
or esi, esi
lea ecx, [ebp - 0x7ec]
mov dword [ebp - 4], esi
call fcn.10015b02
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1a
je 0x10030540
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0xad4]
mov dword [ebp - 0x30], ebx
push 3
call fcn.10015a80
push ebx
lea ecx, [ebp - 0x99c]
mov dword [ebp - 4], 0x1b
call fcn.10015a80
mov byte [ebp - 4], 0x1c
mov eax, 0x7504ed09
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x30], 4
mov dword [ebp - 0xc80], eax
mov dword [ebp - 0xc7c], eax
mov dword [ebp - 0xc78], eax
mov dword [ebp - 0xc74], eax
mov eax, 0xaa7054f8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1003079f
push dword [ebp - 0x20]
lea ecx, [ebp - 0xad4]
call fcn.10015b1e
mov dword [eax], 0x7747bb7a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10030780
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x100307bb
push dword [ebp - 0x20]
lea ecx, [ebp - 0x99c]
call fcn.10015b1e
mov dword [eax], 0x6986d6d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100307a4
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xad4]
add eax, 6
mov dword [ebp - 0x30], eax
push ebx
call fcn.10015b1e
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x1c]
mov dword [eax], ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x99c]
call fcn.10015b1e
push 5
mov dword [eax], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x91a8
setl al
xor ecx, ecx
cmp eax, 0xdd71
setl cl
xor eax, eax
mov dword [ebp - 0xc7c], ecx
or esi, 0xffffffff
cmp ecx, dword [ebp - 0x1c]
jne 0x10030848
mov dword [ebp - 0x3c], 0xda5659cd
mov dword [ebp - 0x3c], 0x71cc545e
jmp 0x10030904
mov dword [ebp - 0x2c], 0x3d38
mov dword [ebp - 0x2c], 0xb7228d
mov dword [ebp - 0x2c], 0xa2560131
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], 0xfffffffc
mov dword [ebp - 0x2c], 0x9b6e
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x1003089c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x11cc], 0x4807c1f4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10030883
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jge 0x100308bc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x28c], 0xc580b0b8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jl 0x100308a4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x11
jge 0x10030904
mov ecx, 0x33ecb407
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x30], 0xe577
dec dword [ebp - 0x28c]
inc dword [ebp - 0x30]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x11
jl 0x100308ca
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030914
push eax
push eax
push eax
push eax
push eax
call edi
lea ecx, [ebp - 0x99c]
call fcn.10015b02
lea ecx, [ebp - 0xad4]
mov dword [ebp - 4], esi
call fcn.10015b02
mov dword [ebp - 0x38], 0xd5e48d32
mov dword [ebp - 0x38], 0x1a
jmp 0x10030964
mov dword [ebp - 0x10], 4
mov dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0xe
jg 0x10030961
xor eax, eax
cmp dword [ebp - 0x38], eax
jne 0x10030961
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xe
jle 0x10030953
dec dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x11
jne 0x1003093d
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x38]
neg eax
push ebx
sbb eax, eax
inc eax
cmp eax, 0xa9a9
jl 0x10030a44
lea ecx, [ebp - 0x5d8]
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100309bb
push dword [ebp - 0x10]
lea ecx, [ebp - 0x5d8]
call fcn.10015b1e
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003099d
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x100309ef
push dword [ebp - 0x38]
lea ecx, [ebp - 0x5d8]
call fcn.10015b1e
mov esi, eax
lea ecx, [ebp - 0x5d8]
xor eax, eax
push eax
call fcn.10015b1e
mov ecx, dword [esi]
mov dword [eax], ecx
dec dword [ebp - 0x38]
jns 0x100309c3
xor eax, eax
or esi, 0xffffffff
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jl 0x10030a3c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10030a20
push dword [ebp - 0x18]
lea ecx, [ebp - 0x5d8]
call fcn.10015b1e
mov dword [eax], 0xb2aee5a9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030a02
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030a37
push 0x946
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
xor eax, eax
dec dword [ebp - 0x38]
jns 0x100309f7
lea ecx, [ebp - 0x5d8]
jmp 0x10030abe
lea ecx, [ebp - 0x9b4]
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10030a7e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x9b4]
call fcn.10015b1e
mov dword [eax], 0xfffffff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10030a60
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030a9d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x10030ab3
push dword [ebp - 0x38]
call fcn.10015b1e
mov dword [eax], 0xdb959c45
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x9b4]
cmp dword [ebp - 0x38], ebx
jl 0x10030aa2
mov dword [ebp - 4], esi
call fcn.10015b02
push 3
pop esi
push esi
lea ecx, [ebp - 0x6fc]
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030b03
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x6fc]
call fcn.10015b1e
or ecx, 0xffffffff
mov dword [eax], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x10030ae6
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10030b19
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6a4], 0x59c17633
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10030b08
push 2
lea ecx, [ebp - 0x6fc]
call fcn.10015b1e
and dword [eax], 0
xor eax, eax
mov dword [ebp - 0x698], eax
jmp 0x10030b55
push dword [ebp - 0x698]
lea ecx, [ebp - 0x6fc]
call fcn.10015b1e
cmp dword [eax], 0
jne 0x10030b5e
inc dword [ebp - 0x698]
cmp dword [ebp - 0x698], 2
jle 0x10030b39
or eax, 0xffffffff
lea ecx, [ebp - 0x6fc]
mov dword [ebp - 4], eax
call fcn.10015b02
mov dword [ebp - 0x44], 0xda439beb
or eax, 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x2c], 0x15a8df04
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x10030bb1
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x364], 0xdc85
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10030b98
xor eax, eax
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x10030ca5
jmp 0x10030bc1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030be3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xce0], 0xa90c6d21
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030bca
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030bf9
push 0xce0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x364]
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10030c14
cmp dword [ebp - 0x364], eax
je 0x10030c14
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x360]
sub ecx, 0x1e616a2f
imul ecx, eax
xor eax, eax
mov dword [ebp - 0xce0], ecx
test ecx, ecx
je 0x10030c3c
mov dword [ebp - 0x10], 0xf6af1124
lea ecx, [ebp - 0xbdc]
push 2
call fcn.10015a80
xor eax, eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jge 0x10030cea
push dword [ebp - 0x10]
lea ecx, [ebp - 0xbdc]
call fcn.10015b1e
mov dword [eax], 0xfa75
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030ccb
xor eax, eax
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x10030cfd
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10030d38
mov dword [ebp - 0x28], 0xddd3f467
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x10030d2e
cmp dword [ebp - 0x10], 0x16
jne 0x10030d02
or eax, 0xffffffff
lea ecx, [ebp - 0xbdc]
mov dword [ebp - 4], eax
call fcn.10015b02
or eax, 0xffffffff
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x40], eax
push esi
call fcn.10015a80
push 2
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0x21
call fcn.10015a80
xor eax, eax
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
jge 0x10030d9e