Function at 0x1001a04f
Capabilities:
Accept command line arguments
Delete registry value
Get file size
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x20], edi
mov dword [ebp - 8], ecx
inc esi
mov dword [ebp - 4], 0xffffffff
mov bl, dl
mov dword [ebp - 0x18], 4
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], ecx
jmp 0x1001a08e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x28], 5
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a080
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ecx
jl 0x1001a0d4
mov dword [ebp - 4], 0xfffffff7
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x28], ecx
jne 0x1001a0d4
mov dword [ebp - 4], ecx
jmp 0x1001a0ca
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], 0
je 0x1001a0c7
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor ecx, ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jle 0x1001a0b0
dec dword [ebp - 8]
jns 0x1001a09b
mov dword [ebp - 8], ecx
jmp 0x1001a18c
mov dword [ebp - 0x14], 0x8d3a18e4
mov dword [ebp - 4], ecx
jmp 0x1001a0f5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe8], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001a0e8
cmp dword [ebp - 0x14], ecx
je 0x1001a102
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 8]
setge dl
imul ecx, edx, 0xff83
xor edx, edx
cmp eax, ecx
setge dl
mov dword [ebp - 0xe4], edx
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, esi
cmp dword [ebp - 0x28], edx
jne 0x1001a136
mov eax, edx
xor ecx, ecx
cmp eax, esi
setle cl
xor eax, eax
add ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
setge al
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edx
je 0x1001a157
mov ecx, esi
cmp dword [ebp - 0x14], edx
jne 0x1001a159
mov ecx, edx
mov eax, dword [ebp - 0x28]
add ecx, 0xffff40c5
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ecx
je 0x1001a178
inc dword [ebp - 0xc]
jmp 0x1001a189
mov byte [ebp - 0xd], cl
cmp byte [ebp - 0xd], cl
je 0x1001a189
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
xor ecx, ecx
inc dword [ebp - 8]
push 3
pop edx
cmp dword [ebp - 8], ecx
jle 0x1001a0dc
test bl, bl
je 0x1001a3b9
mov dword [ebp - 8], 0x1c0f8067
xor ebx, ebx
mov dword [ebp - 4], 0xfffffff6
mov dword [ebp - 0x18], 7
mov dword [ebp - 4], ebx
jmp 0x1001a1cd
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf8], 0xb6fe6d39
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001a1bc
cmp dword [ebp - 8], ebx
je 0x1001a1fb
mov eax, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 4]
sub edx, dword [ebp - 8]
je 0x1001a1fb
mov edx, esi
cmp dword [ebp - 4], ebx
jne 0x1001a1fd
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 8]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0xec]
mov dword [ebp - 0x18], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1001a235
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x14], 0xfaf425f5
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], 0xffffffff
push 2
mov dword [ebp - 4], 0x1480146
mov dword [ebp - 8], ebx
pop esi
jmp 0x1001a263
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x30], 0x57fd5464
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a255
mov dword [ebp - 8], ebx
jmp 0x1001a27e
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x98], 0x5457d670
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jl 0x1001a26d
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0xfffffff6
jne 0x1001a31d
push 8
pop edi
push 3
mov dword [ebp - 8], 0xfec1b16e
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001a2af
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb4], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a2a2
mov eax, dword [ebp - 0xac]
dec eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x18], ebx
jne 0x1001a2c9
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x14], ebx
jne 0x1001a2dd
cmp dword [ebp - 0xac], ebx
jne 0x1001a2dd
mov edx, ebx
jmp 0x1001a2e0
xor edx, edx
inc edx
mov eax, dword [ebp - 0x30]
inc edx
imul edx, eax
xor ecx, ecx
mov eax, dword [ebp - 0xb0]
cmp edx, eax
mov eax, dword [ebp - 0x94]
setge cl
sub eax, ecx
je 0x1001a308
cmp dword [ebp - 8], ebx
je 0x1001a308
xor eax, eax
inc eax
jmp 0x1001a30a
mov eax, ebx
mov dword [ebp - 4], eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xfffffff6
je 0x1001a293
mov edi, dword [ebp - 0x20]
push 3
mov dword [ebp - 8], 1
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001a33d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x114], 0xcff0
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a32c
mov dword [ebp - 8], ebx
jmp 0x1001a39d
mov dword [ebp - 4], 0xf8256a9e
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 4], ebx
jmp 0x1001a395
mov dword [ebp - 0x14], 0x99d9
dec dword [ebp - 0x14]
mov dword [ebp - 0x14], ebx
jmp 0x1001a38d
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1001a38a
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1001a37a
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x1001a36b
inc dword [ebp - 8]
cmp dword [ebp - 8], esi
jle 0x1001a347
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1001a3b0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov eax, dword [edi]
mov dword [eax], ebx
jmp 0x1001aa6c
mov dword [ebp - 8], 0xfffffff7
xor ebx, ebx
mov dword [ebp - 0x18], 7
mov dword [ebp - 4], 0x29b85755
mov dword [ebp - 0xc], 0xfffffff9
mov dword [ebp - 0x14], 0x7d02268f
mov dword [ebp - 4], ebx
jmp 0x1001a3f4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc0], 0xffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a3e3
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 8]
cmp eax, 0xb0b4
mov eax, dword [ebp - 8]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
push 3
setne dl
xor ecx, ecx
pop edi
add edx, edi
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
mov ecx, 0x5b2906c9
setl dl
sub ecx, eax
cmp ecx, edx
jne 0x1001a43d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
cmp edi, eax
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp eax, esi
setge cl
add ecx, dword [ebp - 0x14]
je 0x1001a4e8
mov dword [ebp - 0x18], 0x37b30477
mov dword [ebp - 0xc], ebx
jmp 0x1001a487
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x78], 0xb137d370
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001a479
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x14]
dec eax
dec dword [ebp - 0x78]
add ecx, eax
mov eax, dword [ebp - 0x18]
mov ecx, esi
cmove ecx, ebx
imul eax, ecx
cmp eax, 0xfffffffb
jne 0x1001a4af
mov eax, esi
cmp dword [ebp - 0x70], ebx
jne 0x1001a4b1
mov eax, ebx
mov ecx, dword [ebp - 8]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
cmp edx, eax
setl cl
mov dword [ebp - 4], ecx
jmp 0x1001a54d
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
jmp 0x1001a4fe
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a4f0
cmp dword [ebp - 8], ebx
jne 0x1001a535
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
test eax, eax
mov eax, dword [ebp - 0x14]
sets dl
xor ecx, ecx
cmp edx, eax
mov eax, ebx
setg cl
imul ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x1001a537
mov eax, esi
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], ebx
jne 0x1001a542
mov eax, dword [ebp - 8]
mov eax, 0xffff6ff3
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0xc9ff7503
push 2
mov dword [ebp - 0x14], 0xfffffff6
mov dword [ebp - 0xc], ebx
pop esi
jmp 0x1001a571
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x48], 0x1020
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1001a563
mov dword [ebp - 0xc], ebx
jmp 0x1001a589
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], 0x9b8bc588
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1001a57b
mov dword [ebp - 0xc], ebx
jmp 0x1001a5a1
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x58], 0xfffffff8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1001a593
cmp dword [ebp - 0x48], ebx
je 0x1001a5da
mov dword [ebp - 4], 0xc29000d4
mov dword [ebp - 4], 0xffffffe5
jmp 0x1001a5c9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 4], ebx
jne 0x1001a5cf
inc dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffffb
jge 0x1001a5bb
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
jmp 0x1001a7df
mov dword [ebp - 0x18], 0x2bf35dd7
mov dword [ebp - 0xc], ebx
jmp 0x1001a5f7
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x84], 0xd7d2a7e9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x1001a5e6
push 8
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], edi
pop edi
push 3
pop ecx
jge 0x1001a61c
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x90], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001a60a
mov dword [ebp - 0xc], ebx
jmp 0x1001a62f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0xfff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x1001a621
cmp dword [ebp - 8], ebx
jne 0x1001a67a
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 8]
inc dword [ebp - 0x90]
cmp eax, ecx
jle 0x1001a64f
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x80]
cmp ecx, eax
mov eax, dword [ebp - 0x48]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
cmp ebx, ecx
sete dl
xor ebx, ebx
add eax, edx
jne 0x1001a67a
mov edx, ebx
jmp 0x1001a67d
xor edx, edx
inc edx
inc dword [ebp - 0x54]
xor ecx, ecx
mov eax, dword [ebp - 0x54]
cmp eax, edx
mov eax, dword [ebp - 0x80]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x40]
mov ecx, 0xd0b182bc
setge dl
imul eax, edx
add eax, 0x69be5411
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add ecx, 0xffff787d
cmp ecx, eax
setg dl
cmp edi, edx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x14]
setl cl
add eax, ecx
cmp eax, dword [ebp - 0x14]
jl 0x1001a7d5
xor edi, edi
mov dword [ebp - 0x14], ebx
inc edi
jmp 0x1001a7ca
mov dword [ebp - 0x20], 0x66
mov dword [ebp - 4], ebx
jmp 0x1001a70d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x108], 0x1960cc19
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1001a6fc
mov dword [ebp - 8], ebx
jmp 0x1001a7be
push 3
mov dword [ebp - 4], ebx
pop ecx
jmp 0x1001a734
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xdc], 0x408cdc70
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1001a723
cmp dword [ebp - 8], ebx
je 0x1001a771
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3c]
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x100]
sub ecx, eax
mov eax, dword [ebp - 8]
neg ecx
sbb ecx, ecx
mov eax, dword [ebp + eax*4 - 0x3c]
inc ecx
sub ecx, eax
mov ecx, edi
jne 0x1001a773
mov ecx, ebx
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 8]
setne dl
xor ecx, ecx
add edx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
mov dword [ebp + eax*4 - 0x50], ecx
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], ebx
je 0x1001a7b6
mov eax, edi
cmp dword [ebp - 0xd8], ebx
jne 0x1001a7b8
mov eax, ebx
mov dword [ebp - 0x7c], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1001a71b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x1001a6f0
jmp 0x1001a7e2
mov dword [ebp - 0x18], 0xf054f525
dec dword [ebp - 0x18]
xor edi, edi
inc edi
mov dword [ebp - 8], ebx
mov dword [ebp - 4], 0xeb987642
mov dword [ebp - 4], ebx
jmp 0x1001a7ff
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34], 0xe91a
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001a7f1
mov dword [ebp - 8], ebx
jmp 0x1001a8c8
mov dword [ebp - 4], ebx
jmp 0x1001a81f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c], 0x84b81147
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1001a811
mov dword [ebp - 0x1c], ebx
jmp 0x1001a8a3
mov dword [ebp - 0x14], 0x9978f3c
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1001a88f
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x34]
test eax, eax
setns cl
mov dword [ebp - 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
imul eax, eax, 7
cmp eax, edx
setle cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x14]
jns 0x1001a83f
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001a8a0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1001a829
mov dword [ebp - 4], ebx
cmp dword [ebp - 4], ebx
jl 0x1001a8c5
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001a8c0
push ebx
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
dec dword [ebp - 4]
jns 0x1001a8b0
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jle 0x1001a80c
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], ebx
jl 0x1001a8f4
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001a8ef
push 0x17ac
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
dec dword [ebp - 8]
jns 0x1001a8d9
mov edi, dword [ebp + 8]
mov dword [edi], ebx
cmp dword [edi], ebx
jg 0x1001aa6c
mov eax, 0x7736eae1
xor edx, edx
inc edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x20], 0x553a81f6
cmp dword [ebp - 0xc], ebx
je 0x1001a936
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x9b37d02
jl 0x1001a989
mov dword [ebp - 4], ebx
jmp 0x1001a964
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xbc], 0xc4df8e3b
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x1001a953
mov dword [ebp - 0xc], ebx
jmp 0x1001a97f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xbc], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x1001a96e
jmp 0x1001aa3d
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], ebx
jmp 0x1001a9ae
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x24], 0xfffffffb
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jl 0x1001a9a0
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
sub ecx, eax
cmp ecx, edx
je 0x1001a9ca
cmp dword [ebp - 0x24], ebx
je 0x1001a9cc
mov ebx, edx
mov edx, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0xc]
cmp ebx, eax
setle cl
xor eax, eax
cmp ecx, 3
setne al
xor ecx, ecx
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, 1
mov dword [ebp - 0xa8], eax
setle cl
imul ecx, edx
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, 0xffff
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, 0xfffc
sbb eax, eax
neg eax
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1001aa53
push 0x135b
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x18], 0xf09a2b44
mov eax, 0x7736eae1
dec dword [ebp - 0x18]
inc dword [edi]
cmp dword [edi], ebx
jle 0x1001a906
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret