Function at 0x1002f9d5
Capabilities:
Accept command line arguments
Delete directory
Delete file
Get common file path
Get disk information
Get file system object information
Identify system language via api
Modify service
Parse pe header
Pause service
Query or enumerate registry key
Read .ini file
Resume thread
Set registry value
Start service

Disassembly:
mov eax, 0x1008309f
call fcn.10081660
mov eax, 0x180c
call fcn.1007de10
push ebx
push esi
mov dword [ebp - 0x28], 0xffffffff
mov esi, 0x2961c0f8
push edi
mov dword [ebp - 0x34], esi
mov edi, 0x7b5ca986
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x34], 0x185a1fa1
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0xbc0]
mov dword [ebp - 0x34], 0x39e3cf95
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x34], 0xffffffff
push 4
mov byte [ebp - 0x69], dl
call fcn.10015f8b
xor eax, eax
mov dword [ebp - 4], eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x1002fa5a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1768], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1002fa42
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x1002fa76
push dword [ebp - 0x14]
lea ecx, [ebp - 0xbc0]
call fcn.10015ff8
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1002fa5f
push 2
pop eax
mov dword [ebp - 0x28], 0x10
cmp dword [ebp - 0x28], 0x12
push 1
pop ebx
jge 0x1002fb08
jmp 0x1002fa94
push 2
pop eax
push eax
lea ecx, [ebp - 0x9fc]
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1002fad2
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x9fc]
call fcn.10015ff8
mov dword [eax], 0x6e87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1002fab1
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x9fc]
call fcn.10015ff8
lea ecx, [ebp - 0x9fc]
cmp dword [eax], 0
jne 0x1002fafe
xor eax, eax
mov byte [ebp - 4], al
call fcn.10015ff3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jl 0x1002fa91
jmp 0x1002fb08
xor eax, eax
mov byte [ebp - 4], al
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0xbc0]
call fcn.10015ff8
lea ecx, [ebp - 0xbc0]
inc dword [eax]
or dword [ebp - 4], 0xffffffff
call fcn.10015ff3
mov dword [ebp - 0x28], 0xffffffff
lea ecx, [ebp - 0xb54]
mov dword [ebp - 0x34], esi
xor eax, eax
mov dword [ebp - 0x34], edi
push 4
mov dword [ebp - 0x34], 0x185a1fa1
pop edi
mov dword [ebp - 0x34], 0x39e3cf95
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0xffffffff
push edi
call fcn.10015f8b
push 2
pop ecx
xor eax, eax
mov dword [ebp - 4], ecx
push 3
mov dword [ebp - 0x14], eax
pop edx
cmp dword [ebp - 0x14], edx
jge 0x1002fb89
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1744], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1002fb71
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x1002fbb0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb54]
call fcn.10015ff8
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1002fb91
push 2
pop ecx
mov dword [ebp - 0x28], 0x10
cmp dword [ebp - 0x28], 0x12
jge 0x1002fc31
jmp 0x1002fbc2
push 2
pop ecx
push ecx
lea ecx, [ebp - 0x7ec]
call fcn.10015f8b
push 3
pop eax
mov byte [ebp - 4], al
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop esi
cmp dword [ebp - 0x18], esi
jge 0x1002fbff
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7ec]
call fcn.10015ff8
mov dword [eax], 0x6e87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1002fbe1
xor eax, eax
push eax
lea ecx, [ebp - 0x7ec]
call fcn.10015ff8
push 2
lea ecx, [ebp - 0x7ec]
cmp dword [eax], 0
pop eax
mov byte [ebp - 4], al
jne 0x1002fc2c
call fcn.10015ff3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jl 0x1002fbbf
jmp 0x1002fc31
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0xb54]
call fcn.10015ff8
lea ecx, [ebp - 0xb54]
inc dword [eax]
or dword [ebp - 4], 0xffffffff
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0x98]
call fcn.10015f8b
mov dword [ebp - 4], edi
xor eax, eax
mov dword [ebp - 0x728], ebx
mov dword [ebp - 0x724], ebx
mov dword [ebp - 0x720], ebx
mov dword [ebp - 0x71c], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x1002fc9a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0xaf1124f0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1002fc85
xor eax, eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
push 3
pop eax
lea ecx, [ebp - 0x98]
cmp dword [ebp - 0x14], eax
jge 0x1002fcbc
push dword [ebp - 0x14]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x14]
jmp 0x1002fc9f
push 2
pop eax
push eax
call fcn.10015ff8
push 2
lea ecx, [ebp - 0x98]
mov dword [eax], ebx
pop eax
push eax
call fcn.10015ff8
push 2
cmp dword [eax], ebx
pop ebx
jg 0x1002feef
mov dword [ebp - 0x24], 0xdd3f4672
lea ecx, [ebp - 0x578]
push edi
call fcn.10015f8b
mov byte [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x48], 6
mov dword [ebp - 0x48], 0x101eae88
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002fd30
xor edi, edi
inc edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x578]
call fcn.10015ff8
mov dword [eax], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002fd13
xor eax, eax
jmp 0x1002fd33
xor edi, edi
inc edi
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x1002fe94
jmp 0x1002fd43
xor eax, eax
mov dword [ebp - 0x38], 0xa4a2c6eb
mov dword [ebp - 0x48], 0xf121adf5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], edi
jge 0x1002fd6e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x68], 0x9fb37b04
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1002fd59
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], eax
jl 0x1002fe81
mov eax, dword [ebp - 0x68]
cmp dword [ebp + eax*4 - 0x80], 0
jne 0x1002fda0
xor eax, eax
cmp dword [ebp - 0x68], eax
je 0x1002fd9d
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x68]
push ebx
mov eax, dword [ebp + eax*4 - 0x80]
call fcn.10015ff8
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x578]
mov eax, dword [ebp - 0x80]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x68]
push ebx
mov eax, dword [eax]
sub eax, ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
call fcn.10015ff8
mov edx, dword [ebp - 0x48]
mov esi, eax
mov ecx, dword [ebp - 0x720]
xor eax, eax
cmp edx, ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x68]
setle al
xor ebx, ebx
imul edx, eax
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp + eax*4 - 0x80]
cmp edx, ecx
setg bl
xor ecx, ecx
cmp eax, ebx
sete cl
xor eax, eax
cmp ecx, dword [esi]
setge al
cmp eax, edi
jbe 0x1002fe3d
xor eax, eax
lea ecx, [ebp - 0x578]
push eax
call fcn.10015ff8
cmp dword [eax], 0
je 0x1002fe3d
mov esi, edi
xor eax, eax
jmp 0x1002fe41
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x578]
call fcn.10015ff8
cmp esi, 0xb5a40a7b
push 2
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0xfe2d
pop ebx
setl dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
xor eax, eax
cmp ecx, 0xfffffffd
setg al
inc eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x68]
jns 0x1002fd7a
mov eax, dword [ebp - 0x24]
push 2
pop ebx
mov eax, dword [ebp + eax*4 - 0x80]
dec dword [ebp - 0x24]
jns 0x1002fd41
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x98]
mov esi, eax
call fcn.10015ff8
mov ecx, dword [esi]
mov ecx, dword [ebp + ecx*4 - 0x80]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x80], ecx
lea ecx, [ebp - 0x578]
mov byte [ebp - 4], 4
call fcn.10015ff3
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x98]
inc dword [eax]
call fcn.10015ff8
push 4
pop edi
cmp dword [eax], 0
jle 0x1002fce1
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
mov eax, dword [ebp - 0x724]
lea ecx, [ebp - 0x98]
push ebx
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x728]
push ebx
call fcn.10015ff8
mov eax, dword [ebp - 0x720]
lea ecx, [ebp - 0x98]
xor eax, eax
push eax
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x98]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x98]
mov esi, eax
call fcn.10015ff8
mov ecx, dword [esi]
xor ebx, ebx
push 2
cmp ecx, dword [eax]
lea ecx, [ebp - 0x98]
pop eax
push eax
setl bl
call fcn.10015ff8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
mov dword [eax], ebx
call fcn.10015ff3
push 2
pop ebx
xor eax, eax
lea ecx, [ebp - 0x90c]
mov dword [ebp - 0x24], eax
push ebx
call fcn.10015f8b
push 0xfffffffffffffffa
pop esi
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 5
push 4
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 7
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x1002ffe6
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x90c]
call fcn.10015ff8
mov dword [eax], 0xec7516a2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x1002ffc8
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1003000e
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x424]
call fcn.10015ff8
mov dword [eax], 0x477ae271
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1002ffef
xor eax, eax
push 3
mov dword [ebp - 0x2c], eax
pop ecx
jmp 0x10030027
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xf74], 0x7736
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10030016
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
cmp eax, 0xfffffff8
jae 0x100300b1
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub edx, 0xa5f2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, esi
setge al
cmp eax, 0xffff
jb 0x10030062
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x20], eax
je 0x1003007b
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x1003007d
xor edi, edi
inc edi
mov eax, edi
jmp 0x10030080
xor eax, eax
xor edi, edi
inc edi
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x90c]
mov eax, dword [ebp - 0x1c]
push edi
call fcn.10015ff8
lea ecx, [ebp - 0x90c]
mov dword [eax], edi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
push eax
call fcn.10015ff8
cmp dword [eax], 0
je 0x100300b4
mov esi, edi
jmp 0x100300b8
xor edi, edi
inc edi
xor eax, eax
mov esi, eax
push ebx
lea ecx, [ebp - 0x424]
call fcn.10015ff8
mov dword [eax], esi
xor eax, eax
cmp esi, 0xfff8
setne al
cmp eax, 0x336d065
jge 0x10030161
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10030100
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x158c], 0xedb553a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100300e7
xor eax, eax
push 3
pop ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x1003017c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x424]
call fcn.10015ff8
push dword [ebp - 0x20]
lea ecx, [ebp - 0x424]
call fcn.10015ff8
push 2
xor ebx, ebx
lea ecx, [ebp - 0x424]
mov eax, dword [eax]
mov dword [ebp - 0x1588], eax
mov eax, dword [ebp - 0xf70]
cmp eax, edi
pop eax
push eax
setl bl
call fcn.10015ff8
mov ecx, dword [ebp - 0xf70]
xor edx, edx
cmp ebx, ecx
setl dl
mov dword [eax], edx
dec dword [ebp - 0x20]
jns 0x1003010b
jmp 0x1003017c
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x48], 0xd890f6da
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x424]
call fcn.10015ff3
or esi, 0xffffffff
lea ecx, [ebp - 0x90c]
mov dword [ebp - 4], esi
call fcn.10015ff3
mov dword [ebp - 0x28], esi
xor eax, eax
mov dword [ebp - 0x24], 0xa53d06ce
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
mov dword [ebp - 0x28], 0x37f1bd53
push 7
pop eax
mov dword [ebp - 0xe90], eax
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe88], eax
mov dword [ebp - 0xe84], eax
mov eax, 0x8d4885c3
mov dword [ebp - 0x3c], 0x764fe605
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], 0xb76a
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xaa4], eax
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa9c], eax
mov dword [ebp - 0x38], 0x546d79c1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003022e
mov dword [ebp - 0x48], 0xffff
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10030229
push 0x2af
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
dec dword [ebp - 0x48]
jmp 0x1003028b
mov dword [ebp - 0x18], 0xfffffff7
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x18]
jl 0x1003024a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], ebx
jg 0x10030258
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030272
mov ecx, ebx
cmp dword [ebp - 0x18], eax
jne 0x10030274
mov ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xe90], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x14], eax
neg ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
neg ecx
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0xaa8]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xaa8], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x100302f7
cmp dword [ebp - 0x1c], eax
je 0x100302f9
mov eax, ebx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0xe54]
mov dword [ebp - 0x34], 0x2961c0f8
xor eax, eax
mov dword [ebp - 0x34], 0x7b5ca986
mov dword [ebp - 0x34], 0x185a1fa1
mov dword [ebp - 0x34], 0x39e3cf95
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], esi
push 4
call fcn.10015f8b
push 8
pop edi
xor eax, eax
mov dword [ebp - 4], edi
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10030358
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x175c], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10030340
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10030370
push dword [ebp - 0x14]
lea ecx, [ebp - 0xe54]
call fcn.10015ff8
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003035d
mov dword [ebp - 0x28], 0x10
jmp 0x100303e6
push 2
pop eax
push eax
lea ecx, [ebp - 0x804]
call fcn.10015f8b
push 9
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100303c3
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x804]
call fcn.10015ff8
mov dword [eax], 0x6e87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100303a2
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x804]
call fcn.10015ff8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x804]
cmp dword [eax], 0
jne 0x100303ee
call fcn.10015ff3
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x12
jl 0x1003037f
jmp 0x100303f3
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0xe54]
call fcn.10015ff8
lea ecx, [ebp - 0xe54]
inc dword [eax]
mov dword [ebp - 4], esi
call fcn.10015ff3
push 2
pop eax
push eax
lea ecx, [ebp - 0x1130]
call fcn.10015f8b
mov dword [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1003045e
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1130]
call fcn.10015ff8
mov dword [eax], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003043d
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x30], ebx
push 0xfffffffffffffff9
pop ecx
cmp dword [ebp - 0x30], eax
jl 0x100304b6
mov dword [ebp - 0x1c], 0x7a888ada
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x100304b1
mov dword [ebp - 0x28], 0xfb5a5efa
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x28], eax
jmp 0x1003049b
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
jne 0x10030543
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x1003048b
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x10030478
dec dword [ebp - 0x30]
jns 0x10030469
lea ecx, [ebp - 0x1130]
mov dword [ebp - 4], esi
call fcn.10015ff3
push 2
pop eax
push eax
lea ecx, [ebp - 0x4cc]
call fcn.10015f8b
xor eax, eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10030509
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4cc]
call fcn.10015ff8
mov dword [eax], 0xac64a684
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100304e8
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1003051b
push eax
call dword [sym.imp.GDI32.dll_CreatePalette]
xor eax, eax
push eax
lea ecx, [ebp - 0x4cc]
call fcn.10015ff8
lea ecx, [ebp - 0x4cc]
mov dword [eax], 0xfffffff6
xor eax, eax
push eax
call fcn.10015ff8
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
jmp 0x10030580
push 0x177a
call dword [sym.imp.KERNEL32.dll_ExitThread]
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10030564
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
xor eax, eax
push eax
lea ecx, [ebp - 0x4cc]
call fcn.10015ff8
lea ecx, [ebp - 0x4cc]
inc dword [eax]
xor eax, eax
push eax
call fcn.10015ff8
cmp dword [eax], 5
jg 0x1003054e
lea ecx, [ebp - 0x4cc]
mov dword [ebp - 4], esi
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0xb0]
call fcn.10015f8b
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x744], ebx
mov dword [ebp - 0x740], ebx
mov dword [ebp - 0x73c], ebx
mov dword [ebp - 0x738], ebx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100305e0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x7c], 0xaf1124f0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100305cb
xor eax, eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
push 3
pop eax
lea ecx, [ebp - 0xb0]
cmp dword [ebp - 0x14], eax
jge 0x10030602
push dword [ebp - 0x14]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x14]
jmp 0x100305e5
push 2
pop eax
push eax
call fcn.10015ff8
push 2
lea ecx, [ebp - 0xb0]
mov dword [eax], ebx
pop eax
push eax
call fcn.10015ff8
cmp dword [eax], ebx
jg 0x10030834
mov dword [ebp - 0x24], 0xdd3f4672
lea ecx, [ebp - 0x60c]
push 4
call fcn.10015f8b
mov byte [ebp - 4], 0xd
xor eax, eax
mov dword [ebp - 0x48], 6
xor ebx, ebx
mov dword [ebp - 0x48], 0x101eae88
inc ebx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10030673
push dword [ebp - 0x18]
lea ecx, [ebp - 0x60c]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10030658
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], eax
jl 0x100307d7
jmp 0x10030683
xor eax, eax
mov dword [ebp - 0x38], 0xa4a2c6eb
mov dword [ebp - 0x48], 0xf121adf5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100306ae
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x64], 0x9fb37b04
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10030699
xor eax, eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], eax
jl 0x100307c7
mov eax, dword [ebp - 0x64]
cmp dword [ebp + eax*4 - 0x7c], 0
jne 0x100306e3
xor eax, eax
cmp dword [ebp - 0x64], eax
je 0x100306e0
push 2
pop eax
push eax
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
push 2
pop ebx
push ebx
mov eax, dword [ebp + eax*4 - 0x7c]
call fcn.10015ff8
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x60c]
mov eax, dword [ebp - 0x7c]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x64]
push ebx
mov eax, dword [eax]
sub eax, ecx
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
call fcn.10015ff8
mov edx, dword [ebp - 0x48]
mov esi, eax
mov ecx, dword [ebp - 0x73c]
xor eax, eax
cmp edx, ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x64]
setle al
xor ebx, ebx
imul edx, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp edx, ecx
setg bl
xor ecx, ecx
cmp eax, ebx
sete cl
xor eax, eax
cmp ecx, dword [esi]
setge al
xor ebx, ebx
inc ebx
cmp eax, ebx
jbe 0x10030786
xor eax, eax
lea ecx, [ebp - 0x60c]
push eax
call fcn.10015ff8
cmp dword [eax], 0
je 0x10030786
mov esi, ebx
xor eax, eax
jmp 0x1003078a
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x60c]
call fcn.10015ff8
cmp esi, 0xb5a40a7b
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0xfe2d
setl dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
xor eax, eax
cmp ecx, 0xfffffffd
setg al
inc eax
mov dword [ebp - 0x48], eax
dec dword [ebp - 0x64]
jns 0x100306ba
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x7c]
dec dword [ebp - 0x24]
jns 0x10030681
push 2
pop ebx
push ebx
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0xb0]
mov esi, eax
call fcn.10015ff8
mov ecx, dword [esi]
mov ecx, dword [ebp + ecx*4 - 0x7c]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x7c], ecx
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 0xc
call fcn.10015ff3
push ebx
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0xb0]
inc dword [eax]
call fcn.10015ff8
cmp dword [eax], 0
jle 0x10030624
jmp 0x10030837
push 2
pop ebx
push ebx
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
mov eax, dword [ebp - 0x740]
lea ecx, [ebp - 0xb0]
push ebx
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
mov eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0xb0]
mov eax, dword [ebp - 0x744]
push ebx
call fcn.10015ff8
mov eax, dword [ebp - 0x73c]
lea ecx, [ebp - 0xb0]
xor eax, eax
push eax
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0xb0]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0xb0]
mov esi, eax
call fcn.10015ff8
mov ecx, dword [esi]
xor ebx, ebx
push 2
cmp ecx, dword [eax]
lea ecx, [ebp - 0xb0]
pop eax
push eax
setl bl
call fcn.10015ff8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
mov dword [eax], ebx
call fcn.10015ff3
push 2
pop ebx
xor eax, eax
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x99c]
push ebx
call fcn.10015f8b
push 0xfffffffffffffffa
pop esi
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], 5
push 4
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10030935
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x99c]
call fcn.10015ff8
mov dword [eax], 0xec7516a2
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10030917
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 4
jge 0x1003095d
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x43c]
call fcn.10015ff8
mov dword [eax], 0x477ae271
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 4
jl 0x1003093e
xor eax, eax
push 3
mov dword [ebp - 0x2c], eax
pop ecx
jmp 0x10030976
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xf84], 0x7736
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10030965
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg eax
cmp eax, 0xfffffff8
jae 0x10030a00
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
sub edx, 0xa5f2
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, esi
setge al
cmp eax, 0xffff
jb 0x100309b1
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x20], eax
je 0x100309ca
xor eax, eax
cmp dword [ebp - 0x20], eax
je 0x100309cc
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x100309cf
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x99c]
mov eax, dword [ebp - 0x1c]
push ebx
call fcn.10015ff8
lea ecx, [ebp - 0x99c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor eax, eax
push eax
call fcn.10015ff8
cmp dword [eax], 0
je 0x10030a03
mov esi, ebx
jmp 0x10030a07
xor ebx, ebx
inc ebx
xor eax, eax
mov esi, eax
push 2
pop eax
push eax
lea ecx, [ebp - 0x43c]
call fcn.10015ff8
mov dword [eax], esi
xor eax, eax
cmp esi, 0xfff8
setne al
cmp eax, 0x336d065
jge 0x10030ab6
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10030a52
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x15a4], 0xedb553a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10030a39
xor eax, eax
push 3
pop ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], eax
jl 0x10030ad1
xor esi, esi
inc esi
push dword [ebp - 0x20]
lea ecx, [ebp - 0x43c]
call fcn.10015ff8
push dword [ebp - 0x20]
lea ecx, [ebp - 0x43c]
call fcn.10015ff8
push 2
xor ebx, ebx
lea ecx, [ebp - 0x43c]
mov eax, dword [eax]
mov dword [ebp - 0x15a0], eax
mov eax, dword [ebp - 0xf80]
cmp eax, esi
pop eax
push eax
setl bl
call fcn.10015ff8
mov ecx, dword [ebp - 0xf80]
xor edx, edx
cmp ebx, ecx
setl dl
mov dword [eax], edx
dec dword [ebp - 0x20]
jns 0x10030a60
jmp 0x10030ad1
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], 0xd890f6da
mov eax, dword [ebp - 0x38]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x43c]
call fcn.10015ff3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x99c]
call fcn.10015ff3
mov dword [ebp - 0x34], 0x2961c0f8
xor eax, eax
mov dword [ebp - 0x24], 0xa53d06ce
xor ebx, ebx
mov dword [ebp - 0x14], eax
inc ebx
mov dword [ebp - 0x28], 0x37f1bd53
push 7
pop eax
mov dword [ebp - 0xf10], eax
mov dword [ebp - 0xf0c], eax
mov dword [ebp - 0xf08], eax
mov dword [ebp - 0xf04], eax
mov eax, 0x8d4885c3
mov dword [ebp - 0x3c], 0x764fe605
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], 0xb76a
mov dword [ebp - 0xa40], eax
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0x38], 0x546d79c1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10030b85
mov dword [ebp - 0x48], 0xffff
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10030b80
push 0x2af
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
dec dword [ebp - 0x48]
jmp 0x10030be2
mov dword [ebp - 0x18], 0xfffffff7
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x18]
jl 0x10030ba1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], ebx
jg 0x10030baf
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030bc9
mov ecx, ebx
cmp dword [ebp - 0x18], eax
jne 0x10030bcb
mov ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xf10], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x14], eax
neg ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
neg ecx
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0xa40]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xa40], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10030c4e
cmp dword [ebp - 0x1c], eax
je 0x10030c50
mov eax, ebx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0xcec]
mov dword [ebp - 0x34], 0x7b5ca986
xor eax, eax
mov dword [ebp - 0x24], 0xfff9
mov dword [ebp - 0x48], eax
push 3
pop eax
mov dword [ebp - 0x48], 0xf0a9b27f
mov dword [ebp - 0x3c], 0x5cf1c946
push eax
call fcn.10015f8b
push 2
pop eax
push eax
lea ecx, [ebp - 0xb6c]
mov dword [ebp - 4], 0x10
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0x11
push 3
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10030ccd
push ecx
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcec]
call fcn.10015ff8
mov dword [eax], 0xa4c82104
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030cac
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x14], eax
push 2
pop eax
cmp dword [ebp - 0x14], eax
jge 0x10030cf9
push eax
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb6c]
call fcn.10015ff8
mov dword [eax], 0xba6aed1d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10030cda
xor ebx, ebx
inc ebx
mov dword [ebp - 0x24], 0xffffffff
xor edx, edx
mov dword [ebp - 0x48], 0xcd49
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x24]
jne 0x10030d26
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x24]
push 2
pop ecx
sub ecx, eax
xor eax, eax
add esi, ecx
lea ecx, [ebp - 0xcec]
push eax
call fcn.10015ff8
lea ecx, [ebp - 0xb6c]
mov dword [eax], esi
xor eax, eax
push eax
call fcn.10015ff8
lea ecx, [ebp - 0xb6c]
mov dword [eax], esi
call fcn.10015ff3
or esi, 0xffffffff
lea ecx, [ebp - 0xcec]
mov dword [ebp - 4], esi
call fcn.10015ff3
mov dword [ebp - 0x34], 0x185a1fa1
mov dword [ebp - 0x34], 0x596960f5
mov dword [ebp - 0x34], 0x398070ad
mov dword [ebp - 0x34], 0xa5c62e08
mov dword [ebp - 0x34], 0xa756a336
push 2
pop eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x34], 0x51c3c39b
mov dword [ebp - 0x34], 0x963ba20b
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], 0x61e3ff14
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x34], 0x8dc5336d
mov dword [ebp - 0x34], 0xcc80fc3a
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xaaf5bfb6
mov dword [ebp - 0x34], 0x2c41ac3d
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x48], 0xbef
inc dword [ebp - 0x48]
mov dword [ebp - 0x34], 0x39e3cf95
mov dword [ebp - 0x18], 0x9b3198a8
mov dword [ebp - 0x18], eax
jmp 0x10030e41
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10030e2c
push eax
push 0x1375
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10030e3e
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10030e11
mov dword [ebp - 0x14], 8
mov dword [ebp - 0x18], 0x1b7e280b
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10030e75
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x15bc], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10030e60
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10030e89
push eax
push 0xc
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov dword [ebp - 0x14], 0xfffffff9
cmp dword [ebp - 0x14], 0x17
je 0x1003101c
jmp 0x10030e9e
xor eax, eax
push 2
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10030ebe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x710], 0xea1bca3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10030ead
imul ecx, dword [ebp - 0x14], 0x74b6
xor edx, edx
mov eax, dword [ebp - 0x14]
push 9
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
imul ecx, edx, 0xffff
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
pop ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0xecf0
setle cl
xor eax, eax
cmp ecx, edx
setle al
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10030f18
cmp dword [ebp - 0x14], eax
je 0x10030f18
mov eax, ebx
xor edx, edx
cmp eax, 0x6eab
mov eax, dword [ebp - 0x28]
setg dl
xor ecx, ecx
neg edx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp ecx, 0x97312b94
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ebx, ebx
cmp edx, 0x3ae5
setg bl
xor ecx, ecx
cmp ebx, eax
setl cl
xor edx, edx
cmp ecx, 0x2b50
setge dl
sub edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x2c9cc141
setl al
imul eax, dword [ebp - 0x28]
test eax, eax
je 0x10030f8e
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10030f90
xor ebx, ebx
inc ebx
mov ecx, ebx
jmp 0x10030f95
xor eax, eax
xor ebx, ebx
mov ecx, eax
inc ebx
mov eax, dword [ebp - 0x28]
xor edx, edx
sub ecx, eax
mov dword [ebp - 0x70c], ecx
mov ecx, dword [ebp - 0x70c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
push 9
setl dl
pop eax
cmp eax, edx
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x18]
jne 0x10030fc9
xor eax, eax
cmp dword [ebp - 0x28], eax
je 0x10030fcb
mov eax, ebx
jmp 0x10030fcb
xor eax, eax
mov edx, dword [ebp - 0x14]
sub edx, eax
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x70c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x15b0], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, ebx
setg cl
mov dword [ebp - 0x24], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x17
jne 0x10030e9c
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], 0x9c28ade1
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031048
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c4], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031030
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x1003106a
push eax
push 0xdb8
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10031080
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x5c4], 0
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jl 0x1003106f
push 3
pop eax
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 0x3c], 0xb2c21353
push eax
call fcn.10015f8b
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x20], 0xe8ef
mov dword [ebp - 0x38], 0xfffffffe
mov dword [ebp - 0x18], eax
push 3
pop eax
cmp dword [ebp - 0x18], eax
jge 0x100310e1
push eax
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x7b0]
call fcn.10015ff8
mov dword [eax], 0xc34ccbb2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100310c2
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x3c]
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10031368
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x7a73d2d6
mov dword [ebp - 0x40], 0xe81a7ecc
mov dword [ebp - 0x48], 0xffdeabfd
push 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10031123
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfbc], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10031112
mov eax, dword [ebp - 0x24]
push 6
pop ecx
sub ecx, eax
sub ecx, dword [ebp - 0x24]
neg ecx
push 9
sbb ecx, ecx
inc ecx
pop eax
sub ecx, eax
je 0x1003114a
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x1003114c
mov edx, ebx
jmp 0x1003114e
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp eax, edx
push 2
setle cl
xor ebx, ebx
cmp ecx, 0x4ce3
lea ecx, [ebp - 0x7b0]
pop eax
push eax
setg bl
call fcn.10015ff8
mov ecx, dword [ebp - 0x24]
xor edx, edx
sub ebx, ecx
mov ecx, dword [ebp - 0x24]
cmp ebx, ecx
setle dl
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
xor eax, eax
cmp dword [ebp - 0x40], eax
jg 0x1003119b
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x48], 0x5ad33d2a
mov dword [ebp - 0x28], 0x13
cmp dword [ebp - 0x28], 0xfffffff6
jg 0x1003137d
mov dword [ebp - 0x24], 0xc870af03
xor ebx, ebx
mov dword [ebp - 0x1c], 0x9da97883
inc ebx
mov dword [ebp - 0x4c], 0xb758c9e4
mov dword [ebp - 0x14], 0xc2329b61
mov dword [ebp - 0x54], esi
inc dword [ebp - 0x24]
mov dword [ebp - 0x24], 0xffffffee
cmp dword [ebp - 0x24], 0x19
jle 0x10031359
mov dword [ebp - 0x2c], 0xa9177c83
lea ecx, [ebp - 0x6d4]
mov dword [ebp - 0x3c], 0x33618264
push ebx
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10031238
push dword [ebp - 0x18]
lea ecx, [ebp - 0x6d4]
call fcn.10015ff8
mov dword [eax], 0x12551ad0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003121a
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10031254
push eax
lea ecx, [ebp - 0x6d4]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x10031254
xor eax, eax
mov edx, eax
jmp 0x10031256
mov edx, ebx
inc dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
add edx, 0xa093
cmp edx, eax
mov edx, dword [ebp - 0x2c]
setl cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setne dl
sub edx, eax
je 0x100312b0
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100312b2
mov esi, ebx
jmp 0x100312b4
xor eax, eax
mov esi, eax
push eax
lea ecx, [ebp - 0x6d4]
call fcn.10015ff8
xor ebx, ebx
lea ecx, [ebp - 0x6d4]
cmp esi, dword [eax]
setge bl
xor eax, eax
push eax
call fcn.10015ff8
mov dword [eax], ebx
test ebx, ebx
jne 0x100312de
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x7b0]
xor ebx, ebx
inc ebx
push ebx
call fcn.10015ff8
cmp dword [eax], 0
jne 0x10031301
xor eax, eax
mov edx, eax
cmp dword [ebp - 0xfb8], eax
je 0x10031303
mov edx, ebx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp edx, eax
setl cl
sub ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x1003133a
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [ebp - 0x6d4]
mov byte [ebp - 4], 0x12
call fcn.10015ff3
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x19
jg 0x100311f2
or esi, 0xffffffff
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xfffffff6
jle 0x100311bc
jmp 0x10031380
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10031380
push 0x14ed
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x10031380
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 4], esi
call fcn.10015ff3
push 4
lea ecx, [ebp - 0xb9c]
call fcn.10015f8b
push 3
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x2dc]
pop eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x48], 0x90197f0a
push eax
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0x15
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x100313ef
push ecx
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x2dc]
call fcn.10015ff8
mov dword [eax], 0xde9bf9f
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x100313ce
xor ebx, ebx
xor eax, eax
inc ebx
push 2
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x10031412
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xfd0], 0x952f3411
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x100313fa
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x10031432
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xa70], 0x1b17d72
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x1003141a
xor eax, eax
push eax
lea ecx, [ebp - 0x2dc]
call fcn.10015ff8
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push ebx
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.10015ff8
xor eax, eax
lea ecx, [ebp - 0x2dc]
mov dword [ebp - 0xfd0], eax
mov dword [ebp - 0xa6c], eax
push ebx
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.10015ff8
mov ecx, dword [ebp - 0xa6c]
push 9
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x24], eax
pop eax
jmp 0x100314ba
mov dword [ebp - 0x4c], 0xae7b
mov dword [ebp - 0x4c], 0x7263b0a6
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
je 0x100314a9
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0x14
call fcn.10015ff3
mov dword [ebp - 0x24], 0xa53d06ce
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0x37f1bd53
push 7
pop eax
mov dword [ebp - 0xeb0], eax
mov dword [ebp - 0xeac], eax
mov dword [ebp - 0xea8], eax
mov dword [ebp - 0xea4], eax
mov eax, 0x8d4885c3
mov dword [ebp - 0x3c], 0x764fe605
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], 0xb76a
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa44], eax
mov dword [ebp - 0x4c], 0x546d79c1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x1003155e
mov dword [ebp - 0x48], 0xffff
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10031559
push 0x2af
push eax
call dword [sym.imp.USER32.dll_CharUpperBuffW]
dec dword [ebp - 0x48]
jmp 0x100315bb
mov dword [ebp - 0x18], 0xfffffff7
xor edx, edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setg dl
cmp edx, dword [ebp - 0x18]
jl 0x1003157a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x14], ebx
jg 0x10031588
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100315a2
mov ecx, ebx
cmp dword [ebp - 0x18], eax
jne 0x100315a4
mov ecx, eax
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xeb0], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x14], eax
neg ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
sbb ecx, ecx
neg ecx
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0xa50]
setle dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0xa50], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x3c], eax
jne 0x10031627
cmp dword [ebp - 0x1c], eax
je 0x10031629
mov eax, ebx
mov dword [ebp - 0x4c], eax
xor eax, eax
push 3
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10031647
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1774], 0
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10031636
mov dword [ebp - 0x34], 0xec3d
mov eax, 0xe31d8329
mov dword [ebp - 0x34], 0x4d8e5ccc
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x34], 0xf1d6
mov dword [ebp - 0x34], 0x421d
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x100316af
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb08], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003169b
xor eax, eax
inc dword [ebp - 0xb08]
mov dword [ebp - 0x14], eax
jmp 0x100316d1
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb9c]
call fcn.10015ff8
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100316ba
mov dword [ebp - 0x20], 0x10
cmp dword [ebp - 0x20], 0x12
jge 0x10031e34
lea eax, [ebp - 0x11dc]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x11ec]
push eax
lea ecx, [ebp - 0x1674]
movdqu xmmword [ebp - 0x11ec], xmm0
call fcn.10016007
lea ecx, [ebp - 0x159]
mov esi, eax
call fcn.10008b33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x13e8]
push dword [esi]
call fcn.10015fcd
xor eax, eax
mov dword [ebp - 0x18], 0x5c8094a1
push 3
mov dword [ebp - 0x18], eax
pop esi
jmp 0x10031766
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10031763
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0xb3d
push 0x1af8
push 0x2552
push eax
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1003173b
lea ecx, [ebp - 0x13e8]
call fcn.10015ff3
push 2
pop eax
push eax
lea ecx, [ebp - 0x834]
call fcn.10015f8b
lea eax, [ebp - 0x120c]
mov byte [ebp - 4], 0x16
movdqa xmm0, xmmword [0x10007b10]
lea ecx, [ebp - 0x14fc]
push eax
lea eax, [ebp - 0x121c]
push eax
movdqu xmmword [ebp - 0x121c], xmm0
call fcn.10016007
lea ecx, [ebp - 0x18a]
mov esi, eax
call fcn.10008b33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x134]
push dword [esi]
call fcn.10015fcd
push 3
pop eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x81c]
mov dword [ebp - 0x1c], eax
push 2
pop eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], 0xd5b4
mov dword [ebp - 0x4c], 0x7b6a
push eax
call fcn.10015f8b
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x48], 0x9cc02768
mov dword [ebp - 0x38], 0xff905219
mov dword [ebp - 0x18], eax
push 2
pop eax
cmp dword [ebp - 0x18], eax
jge 0x10031848
push eax
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x81c]
call fcn.10015ff8
mov dword [eax], 0x3ae5685
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031829
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x134]
call fcn.10015ff8
and dword [eax], 0
jmp 0x10031886
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10031878
push eax
push eax
push 0xfc9
push 0x10ed
call edi
push eax
call dword [sym.imp.USER32.dll_ScrollWindow]
push ebx
lea ecx, [ebp - 0x134]
call fcn.10015ff8
dec dword [eax]
push ebx
lea ecx, [ebp - 0x134]
call fcn.10015ff8
cmp dword [eax], 0xffffffea
jl 0x10031859
xor eax, eax
cmp dword [ebp - 0x1c], eax
je 0x10031a01
push 2
pop eax
push eax
lea ecx, [ebp - 0x134]
call fcn.10015ff8
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x3afd
jl 0x100318d7
push 2
pop eax
push eax
lea ecx, [ebp - 0x134]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x100318d7
xor eax, eax
mov esi, eax
jmp 0x100318d9
mov esi, ebx
push ebx
lea ecx, [ebp - 0x134]
call fcn.10015ff8
xor ebx, ebx
lea ecx, [ebp - 0x134]
cmp esi, dword [eax]
setl bl
xor esi, esi
inc esi
push esi
call fcn.10015ff8
cmp ebx, dword [eax]
jge 0x10031906
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x1003191b
push esi
lea ecx, [ebp - 0x134]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x1003191b
xor eax, eax
mov esi, eax
xor eax, eax
lea ecx, [ebp - 0x134]
inc eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp esi, ecx
setge dl
xor ebx, ebx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x30]
setge bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x4c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
xor esi, esi
inc esi
cmp ecx, dword [ebp - 0x3c]
jge 0x10031976
push esi
lea ecx, [ebp - 0x81c]
call fcn.10015ff8
cmp dword [eax], 0
je 0x10031976
mov ecx, esi
jmp 0x1003197a
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x54]
xor ebx, ebx
cmp ecx, eax
lea ecx, [ebp - 0x134]
push esi
setl bl
call fcn.10015ff8
xor ecx, ecx
test ebx, ebx
setne cl
xor edx, edx
add ecx, 0x4c38b6b0
mov dword [eax], ebx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], eax
jne 0x100319d5
push eax
lea ecx, [ebp - 0x134]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x100319d5
xor ebx, ebx
xor eax, eax
inc ebx
jmp 0x100319da
xor ebx, ebx
inc ebx
mov eax, ebx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x81c]
push ebx
call fcn.10015ff8
mov ecx, dword [ebp - 0x48]
sub ecx, 0xffff
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [eax]
je 0x100319ff
mov eax, ebx
jmp 0x10031a01
xor eax, eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x81c]
call fcn.10015ff3
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x16
call fcn.10015ff3
push 3
pop eax
mov dword [ebp - 0x54], 0xffffffff
lea ecx, [ebp - 0x624]
mov dword [ebp - 0x34], 0x29729cf3
mov dword [ebp - 0x34], 0x16b471df
push eax
call fcn.10015f8b
push 2
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x924]
pop eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x48], 0xb14f4e79
push eax
call fcn.10015f8b
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xdac]
mov dword [ebp - 0x1c], 0xbc43
mov dword [ebp - 0x34], 0x23e4
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x34], ebx
push ebx
call fcn.10015f8b
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0xb84]
push 3
mov dword [ebp - 0x3c], 0x360e5697
pop eax
mov dword [ebp - 0x4c], 0xa4aa3e85
mov dword [ebp - 0x38], 0xbec3a435
mov dword [ebp - 0x34], 0xa21f9f6d
push eax
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0x1c
push 3
mov dword [ebp - 0x2c], eax
pop esi
cmp dword [ebp - 0x2c], esi
jge 0x10031af1
push esi
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x624]
call fcn.10015ff8
mov dword [eax], 0xfffffff9
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031acd
xor ebx, ebx
xor eax, eax
push 3
inc ebx
pop esi
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x10031b1e
push 2
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x924]
call fcn.10015ff8
mov dword [eax], 0x9ca3191b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031afd
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10031b44
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xdac]
call fcn.10015ff8
mov dword [eax], 0xee87
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031b26
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], esi
jge 0x10031b6d
push 3
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xb84]
call fcn.10015ff8
and dword [eax], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031b4f
xor ebx, ebx
xor eax, eax
inc ebx
push eax
lea ecx, [ebp - 0x924]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x10031bc1
push 2
pop eax
push eax
lea ecx, [ebp - 0x624]
call fcn.10015ff8
inc dword [ebp - 0x3c]
lea ecx, [ebp - 0x624]
mov eax, dword [ebp - 0x3c]
push 2
pop eax
push eax
call fcn.10015ff8
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0xdac]
xor eax, eax
push eax
call fcn.10015ff8
xor eax, eax
lea ecx, [ebp - 0x624]
push eax
call fcn.10015ff8
dec dword [ebp - 0x1c]
lea ecx, [ebp - 0x924]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.10015ff8
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
xor eax, eax
cmp ecx, 0xffad
lea ecx, [ebp - 0xb84]
setle al
cmp ebx, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
xor eax, eax
push eax
call fcn.10015ff8
lea ecx, [ebp - 0xb84]
inc dword [eax]
call fcn.10015ff3
lea ecx, [ebp - 0xdac]
call fcn.10015ff3
lea ecx, [ebp - 0x924]
call fcn.10015ff3
lea ecx, [ebp - 0x624]
mov byte [ebp - 4], 0x16
call fcn.10015ff3
xor eax, eax
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10031c69
push ecx
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0x834]
call fcn.10015ff8
mov dword [eax], 0x6e87
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10031c45
xor ebx, ebx
xor eax, eax
push 2
inc ebx
pop ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], 0xde450bb
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x4c], 0x27067d5b
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10031caa
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xcc], 0xfda6c2e3
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031c92
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x10031cca
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x3e0], 0
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031cb2
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x10031cea
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x778], 0x3a50eb6b
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031cd2
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x10031dad
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10031d66
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x10031d1a
mov edx, eax
cmp dword [ebp - 0xcc], eax
je 0x10031d1c
mov edx, ebx
mov eax, dword [ebp - 0xcc]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ebx, ecx
sbb eax, eax
neg eax
cmp eax, 0xffff
jbe 0x10031d3f
xor eax, eax
cmp dword [ebp - 0x24], eax
jne 0x10031d4b
jmp 0x10031d41
xor eax, eax
mov ecx, eax
cmp dword [ebp - 0xcc], eax
je 0x10031d4d
mov ecx, ebx
xor eax, eax
cmp ecx, 0xf9f3
setne al
imul eax, eax, 0x6d9e
test eax, eax
jne 0x10031d66
mov edx, eax
jmp 0x10031d68
mov edx, ebx
mov dword [ebp - 0xcc], edx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3e0]
cmp dword [ebp - 0x3c], eax
jg 0x10031dab
mov ecx, ebx
jmp 0x10031daf
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
add eax, ecx
imul eax, dword [ebp - 0x3e0]
test eax, eax
jne 0x10031dc8
cmp dword [ebp - 0x4c], eax
jne 0x10031dca
mov edx, ebx
jmp 0x10031dcc
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3dc]
setne cl
add eax, ecx
mov ecx, 0x41e55969
mov dword [ebp - 0x3e0], eax
dec eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x778], ecx
xor eax, eax
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0x834]
push eax
call fcn.10015ff8
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x834]
cmp dword [eax], 0
jne 0x10031e2c
call fcn.10015ff3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x12
jl 0x100316e8
jmp 0x10031e31
call fcn.10015ff3
or esi, 0xffffffff
push 3
pop eax
mov dword [ebp - 0x20], 0xe23a
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x28], 0x758fc567
push eax
call fcn.10015f8b
mov byte [ebp - 4], 0x1d
xor eax, eax
mov dword [ebp - 0x1c], 0xbf520f09
push 3
mov dword [ebp - 0x2c], eax
pop ecx
cmp dword [ebp - 0x2c], ecx
jge 0x10031e7d
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x118c], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031e69
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x10031e99
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x514], ebx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jl 0x10031e85
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ecx
jge 0x10031ebf
push 3
pop ebx
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x284]
call fcn.10015ff8
mov dword [eax], esi
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ebx
jl 0x10031ea4
xor ebx, ebx
inc ebx
mov dword [ebp - 0x514], 0xffff8295
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x20]
jne 0x10031eda
mov eax, dword [ebp - 0x514]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x284]
imul eax, dword [ebp - 0x20], 0x531d
xor ebx, ebx
push 2
mov dword [ebp - 0x118c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp eax, 0xfffffffe
pop eax
push eax
setl bl
call fcn.10015ff8
mov ecx, dword [ebp - 0x20]
mov esi, eax
xor eax, eax
cmp ebx, ecx
mov ecx, dword [ebp - 0x20]
setne al
xor edx, edx
add eax, 0x4eff862a
cmp eax, ecx
push 0xfffffffffffffffb
setge dl
xor eax, eax
mov dword [esi], edx
pop edi
cmp dword [ebp - 0x514], eax
je 0x10032019
push eax
lea ecx, [ebp - 0x284]
call fcn.10015ff8
cmp dword [eax], 0
jne 0x10031fd6
push 2
pop eax
push eax
lea ecx, [ebp - 0x284]
call fcn.10015ff8
mov edx, dword [ebp - 0x514]
mov esi, eax
mov ecx, dword [ebp - 0x514]
xor eax, eax
cmp edx, ecx
lea ecx, [ebp - 0x284]
push 2
setle al
xor ebx, ebx
cmp dword [esi], eax
pop eax
setge bl
mov dword [ebp - 0x118c], ebx
mov dword [ebp - 0x514], ebx
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp ebx, ecx
mov esi, eax
push 2
setle dl
lea ecx, [ebp - 0x284]
sub edx, 0x3e63
add edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, eax
pop eax
setne bl
sub ebx, dword [esi]
push eax
call fcn.10015ff8
mov dword [eax], ebx
test ebx, ebx
jne 0x10031fd6
xor eax, eax
inc ebx
jmp 0x10031fdb
xor ebx, ebx
inc ebx
mov eax, ebx
cmp edi, eax
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x1c]
test eax, eax
je 0x10031ff8
push 2
pop eax
push eax
lea ecx, [ebp - 0x284]
call fcn.10015ff8
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x28], eax
push ebx
call fcn.10015ff8
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax]
je 0x10032015
mov eax, ebx
jmp 0x1003201c
xor eax, eax
jmp 0x1003201c
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov eax, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x284]
setge dl
sub edx, 0xda7d8e2d
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x1c], edx
mov byte [ebp - 4], 0x14
call fcn.10015ff3
push 3
pop eax
push eax
lea ecx, [ebp - 0xb9c]
call fcn.10015ff8
or esi, 0xffffffff
lea ecx, [ebp - 0xb9c]
inc dword [eax]
mov dword [ebp - 4], esi
call fcn.10015ff3
push 2
pop eax
push eax
lea ecx, [ebp - 0xf94]
call fcn.10015f8b
mov dword [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x100320bb
push 2
pop ebx
push dword [ebp - 0x18]
lea ecx, [ebp - 0xf94]
call fcn.10015ff8
mov dword [eax], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003209a
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], eax
jl 0x10032113
mov dword [ebp - 0x1c], 0x7a888ada
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1003210e
mov dword [ebp - 0x28], 0xfb5a5efa
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x28], eax
jmp 0x100320f5
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
jne 0x10030543
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x100320e5
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x100320d2
dec dword [ebp - 0x30]
jns 0x100320c3
lea ecx, [ebp - 0xf94]
mov dword [ebp - 4], esi
call fcn.10015ff3
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0xd04]
push ebx
call fcn.10015f8b
mov dword [ebp - 4], 0x1f
xor eax, eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x18], eax
jmp 0x1003214e
push dword [ebp - 0x18]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x18]
lea ecx, [ebp - 0xd04]
cmp dword [ebp - 0x18], ebx
jl 0x10032141
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov edi, dword [sym.imp.ADVAPI32.dll_StartServiceW]
cmp ecx, esi
mov ecx, dword [ebp - 0x28]
mov esi, 0x183d
setge dl
xor ebx, ebx
cmp edx, ecx
setne bl
sub ebx, dword [eax]
mov eax, dword [ebp - 0x28]
add eax, ebx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x100321a2
push eax
push esi
push eax
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd04]
call fcn.10015ff3
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x1148]
call fcn.10015f8b
mov dword [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100321f6
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1148]
call fcn.10015ff8
mov dword [eax], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x100321d8
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], eax
jl 0x10032251
mov dword [ebp - 0x1c], 0x7a888ada
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x1003224c
mov dword [ebp - 0x28], 0xfb5a5efa
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x28], eax
jmp 0x10032233
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
jne 0x10030543
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10032223
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
dec dword [ebp - 0x1c]
push 0
pop eax
jns 0x10032210
dec dword [ebp - 0x30]
jns 0x10032201
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1148]
call fcn.10015ff3
mov dword [ebp - 0x28], 0xa87013dc
mov dword [ebp - 0x34], 0xf6f08421
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x34], 0xd594d035
mov dword [ebp - 0x34], 0xfffffff7
mov dword [ebp - 0x34], 0x39d6b9c2
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x100322ab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf68], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032293
xor eax, eax
mov dword [ebp - 0x28], 0xd7f825e
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], eax
jg 0x10032318
push 2
pop ecx
mov dword [ebp - 0x18], 0xfc0272a
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x100322e4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1614], 0xf3d4e677
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100322cc
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x1003230b
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0x3f0244c3
mov dword [ebp - 0x48], 0x81ec
inc dword [ebp - 0x48]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x100322e9
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x100322bd
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0xbb4]
push ebx
call fcn.10015f8b
mov dword [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x10032349
push dword [ebp - 0x18]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x18]
lea ecx, [ebp - 0xbb4]
cmp dword [ebp - 0x18], ebx
jl 0x1003233c
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 0x28]
setge dl
xor ebx, ebx
cmp edx, ecx
setne bl
sub ebx, dword [eax]
mov eax, dword [ebp - 0x28]
add eax, ebx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10032393
push eax
push esi
push eax
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbb4]
call fcn.10015ff3
xor ebx, ebx
lea ecx, [ebp - 0xe0c]
inc ebx
mov dword [ebp - 0x28], ebx
push ebx
call fcn.10015f8b
mov dword [ebp - 4], 0x22
xor eax, eax
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x100323d6
push dword [ebp - 0x18]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x18]
lea ecx, [ebp - 0xe0c]
cmp dword [ebp - 0x18], ebx
jl 0x100323c9
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 0x28]
setge dl
xor ebx, ebx
cmp edx, ecx
setne bl
sub ebx, dword [eax]
mov eax, dword [ebp - 0x28]
add eax, ebx
mov dword [ebp - 0x4c], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10032420
push eax
push esi
push eax
call edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0c]
call fcn.10015ff3
movdqa xmm0, xmmword [0x10007ab0]
lea eax, [ebp - 0x136c]
push eax
lea eax, [ebp - 0x137c]
mov dword [ebp - 0x28], 0x5b9b55bb
push eax
lea ecx, [ebp - 0x15e4]
movdqu xmmword [ebp - 0x137c], xmm0
call fcn.10016007
lea ecx, [ebp - 0x15a]
mov esi, eax
call fcn.10008b33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x14a8]
push dword [esi]
call fcn.10015fcd
xor eax, eax
mov dword [ebp - 4], 0x23
xor ebx, ebx
mov dword [ebp - 0x18], eax
inc ebx
cmp dword [ebp - 0x18], 4
jge 0x100324a1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x17d8], ebx
inc dword [ebp - 0x18]
jmp 0x1003248c
mov dword [ebp - 0x28], 0xe
cmp dword [ebp - 0x28], 0xffffffe4
jl 0x10032601
push 3
pop edi
movdqa xmm0, xmmword [0x10007af0]
lea eax, [ebp - 0x122c]
push eax
lea eax, [ebp - 0x123c]
push eax
lea ecx, [ebp - 0x14f4]
movdqu xmmword [ebp - 0x123c], xmm0
call fcn.10016007
lea ecx, [ebp - 0x15c]
mov esi, eax
call fcn.10008b33
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x764]
push dword [esi]
call fcn.10015fcd
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xfa4]
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xcd16652d
push 4
call fcn.10015f8b
push 4
mov byte [ebp - 4], 0x25
xor eax, eax
pop ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
jge 0x10032548
push dword [ebp - 0x18]
lea ecx, [ebp - 0xfa4]
call fcn.10015ff8
mov dword [eax], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003252f
push 2
pop eax
push eax
lea ecx, [ebp - 0x764]
call fcn.10015ff8
push 2
lea ecx, [ebp - 0x764]
mov dword [eax], edi
pop eax
push eax
call fcn.10015ff8
cmp dword [eax], 0
jl 0x100325d4
push 2
pop ebx
mov dword [ebp - 0x34], 0x5e81a7ec
xor eax, eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 4
push 3
mov dword [ebp - 0x48], 0xc321a078
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x100325a7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x178c], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10032596
dec dword [ebp - 0x48]
lea ecx, [ebp - 0x764]
push ebx
call fcn.10015ff8
push ebx
lea ecx, [ebp - 0x764]
dec dword [eax]
call fcn.10015ff8
cmp dword [eax], 0
jge 0x10032570
xor ebx, ebx
push 3
inc ebx
pop edi
lea ecx, [ebp - 0xfa4]
call fcn.10015ff3
lea ecx, [ebp - 0x764]
mov byte [ebp - 4], 0x23
call fcn.10015ff3
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe4
jge 0x100324b5
mov edi, dword [sym.imp.ADVAPI32.dll_StartServiceW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14a8]
call fcn.10015ff3
mov dword [ebp - 0x24], 0xa3367f5e
lea ecx, [ebp - 0x10c0]
mov dword [ebp - 0x14], 0xffff
xor eax, eax
mov dword [ebp - 0x20], 0x86335c0
mov dword [ebp - 0x34], eax
push 0xfffffffffffffff9
pop eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x34], eax
push ebx
call fcn.10015f8b
mov dword [ebp - 4], 0x26
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x18], eax
jmp 0x10032679
push dword [ebp - 0x18]
lea ecx, [ebp - 0x10c0]
call fcn.10015ff8
mov dword [eax], 0xa207b8a5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10032662
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
je 0x100326c1
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl bl
xor ecx, ecx
cmp ebx, eax
setge cl
xor eax, eax
cmp ecx, 0xc99c
setg al
xor ebx, ebx
inc ebx
cmp eax, dword [ebp - 0x14]
jl 0x100326c1
mov ecx, ebx
jmp 0x100326c5
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x14]
add eax, ecx
xor ecx, ecx
neg eax
cmp eax, 0xc3d6
setne cl
xor eax, eax
sub ecx, dword [ebp - 0x14]
je 0x100326e4
cmp dword [ebp - 0x14], eax
je 0x100326e4
mov eax, ebx
mov dword [ebp - 0x20], eax
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setg dl
xor eax, eax
cmp edx, 0x1eb64d0
setge al
imul eax, dword [ebp - 0x14]
test eax, eax
je 0x10032830
mov dword [ebp - 0x28], 0xa9c79ebe
xor eax, eax
mov dword [ebp - 0x3c], 0xdedbec15
mov dword [ebp - 0x48], 0x416da84b
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1c
jl 0x1003281e
push 2
pop ebx
push ebx
lea ecx, [ebp - 0xbcc]
call fcn.10015f8b
xor eax, eax
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jge 0x10032767
push dword [ebp - 0x18]
lea ecx, [ebp - 0xbcc]
call fcn.10015ff8
and dword [eax], 0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1003274c
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100327d1
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
lea ecx, [ebp - 0xbcc]
setl dl
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x14]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.10015ff8
mov ecx, dword [ebp - 0x3c]
xor edx, edx
cmp ecx, 0x67d5b44
mov esi, eax
mov ecx, dword [ebp - 0x20]
setg dl
xor eax, eax
cmp edx, 0xc77e
setle al
xor edx, edx
cmp eax, ecx
setge dl
mov dword [esi], edx
imul eax, dword [ebp - 0x20], 0x14ef439
mov dword [ebp - 0x20], eax
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x100327fd
push 0x1bbf
push 0xe3f
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
lea ecx, [ebp - 0xbcc]
mov byte [ebp - 4], 0x26
call fcn.10015ff3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1c
jge 0x10032732
xor ebx, ebx
xor eax, eax
inc ebx
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], 0
je 0x10032840
push eax
call dword [sym.imp.KERNEL32.dll_RtlCaptureContext]
jmp 0x10032840
xor eax, eax
mov byte [ebp - 0x41], al
cmp byte [ebp - 0x41], al
je 0x10032840
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0x10c0]
or dword [ebp - 4], 0xffffffff
call fcn.10015ff3
mov dword [ebp - 0x28], 0xcf5
xor eax, eax
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0x34], 0xc23afc37
mov dword [ebp - 0x24], 0xfffffffc
push 2
mov dword [ebp - 0x18], eax
pop ecx
cmp dword [ebp - 0x18], ecx
jge 0x10032893
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3d8], 0x5a80e358
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003287b
xor eax, eax
push 0x28
pop esi
cmp dword [ebp - 0x28], eax
je 0x100329c8
push 9
pop ecx
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0xd1c]
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x54], eax
push 3
pop eax
mov dword [ebp - 0x34], 0xf5af8b51
mov dword [ebp - 0x28], 0x223fa3a9
mov dword [ebp - 0x18], ebx
push eax
call fcn.10015f8b
xor eax, eax
mov dword [ebp - 4], esi
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100328f7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfe4], 0xa715cc48
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100328df
xor eax, eax
mov dword [ebp - 0x14], eax
push 3
pop eax
cmp dword [ebp - 0x14], eax
jge 0x10032926
push eax
pop ebx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xd1c]
call fcn.10015ff8
mov dword [eax], 0x6f80366e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10032904
push ecx
lea ecx, [ebp - 0xd1c]
call fcn.10015ff8
inc dword [eax]
mov dword [ebp - 0x28], 6
jmp 0x100329b1
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10032a2a
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jg 0x10032a22
cmp dword [ebp - 0x24], esi
jl 0x100329d8
push 2
pop eax
push eax
lea ecx, [ebp - 0xfdc]
call fcn.10015f8b
mov dword [ebp - 4], 0x29
xor eax, eax
push 2
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x18], eax
pop ecx
jmp 0x10032a63