Function at 0x1000d458
Capabilities:
Delete registry value
Query environment variable

Disassembly:
mov eax, 0x1005e122
call fcn.1005dc70
sub esp, 0x148
push ebx
mov dword [ebp - 0x20], 8
push esi
xor esi, esi
mov dword [ebp - 0x54], edx
inc esi
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x84], esi
xor ebx, ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x24], 0xa772304b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x7c], eax
push edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 3
jg 0x1000d598
mov dword [ebp - 0x18], 0x7b0a
cmp dword [ebp - 0x18], 0x7c65
jle 0x1000d519
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov edi, esi
mov dword [ebp - 0x3c], ebx
mov ecx, eax
shl edi, cl
and edi, edx
mov eax, edi
mov ecx, 0x10606d98
xor eax, ebx
cdq
push edx
push eax
call fcn.10011b50
inc ebx
cmp ebx, 0x5e29
jl 0x1000d4d3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x28], eax
push 0
pop ebx
cmp eax, 0x3920
jl 0x1000d4c8
inc esi
cmp esi, 0x7b8e
jl 0x1000d4c3
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x3c1d
jl 0x1000d4c1
xor esi, esi
inc esi
mov dword [ebp - 0x3c], 0xfffffff9
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x7788
jge 0x1000d53b
mov edx, 0x10007678
mov ecx, 0x10606d98
call fcn.10014461
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
neg edx
mov dword [ebp + eax*4 - 0x84], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x24]
jmp 0x1000d4a2
push 2
lea ecx, [ebp - 0x9c]
call fcn.10011d78
mov dword [ebp - 4], 2
mov dword [ebp - 0x20], 0x4cd4536
mov dword [ebp - 0x3c], 0xfffffffd
mov dword [ebp - 0x1c], 0x7087
cmp dword [ebp - 0x1c], 0x72d1
jle 0x1000d624
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x10c]
cdq
push edx
push eax
call fcn.1000d3ae
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000d5ed
mov eax, dword [eax]
push eax
call fcn.100489bf
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x10c]
call fcn.100122f8
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x78fb
jl 0x1000d5d1
inc edi
cmp edi, 0x5a40
jl 0x1000d5cc
push 0x1730
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
mov dword [ebp - 0x18], ebx
jmp 0x1000d63c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1000d629
cmp dword [ebp - 0x1c], 0x6f3e
jge 0x1000d656
push 0x100076f8
call fcn.100489bf
pop ecx
mov dword [ebp - 0x20], ebx
jmp 0x1000d683
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d671
push ebx
push ebx
push 0x2597
call dword [sym.imp.ADVAPI32.dll_CopySid]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x1000d65b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.10011dfa
push dword [ebp - 0x54]
movdqa xmm0, xmmword [0x1000bf40]
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x50], ebx
push eax
push ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x4c], ebx
movdqu xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0x48], ebx
call fcn.10014e81
mov dword [ebp - 4], 5
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0x755a
cmp dword [ebp - 0x28], 0x7706
jle 0x1000d70d
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10606d98
cdq
push edx
push eax
call fcn.10011b50
inc edi
cmp edi, 0x431e
jl 0x1000d6e8
inc esi
cmp esi, 0x2235
jl 0x1000d6e6
mov dword [ebp - 0x1c], 0xfffffffd
mov byte [ebp - 4], 6
cmp dword [ebp - 0x28], 0x7362
jge 0x1000d74e
mov edx, 0x1000778c
mov ecx, 0x10606d98
call fcn.10014461
jmp 0x1000d74e
mov dword [ebp - 0x3c], 0x132d683a
mov dword [ebp - 0x18], ebx
jmp 0x1000d76b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xdc], 0x2668451f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000d75a
mov dword [ebp - 0x20], ebx
jmp 0x1000d786
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0x4fda0e60
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x1000d776
mov edi, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x3c], edi
cmp dword [edi + 0xc], ebx
setle al
cmp dword [edi], 0xf63588c5
mov dword [ebp - 0x20], eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, dword [edi + 4]
mov eax, dword [ebp - 0x1c]
setg cl
mov esi, dword [ebp - 0x50]
xor edx, edx
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
mov edi, dword [edi + 4]
xor edx, edx
cmp dword [esi + 8], ecx
mov esi, dword [esi + 8]
sete dl
xor ecx, ecx
cmp edx, eax
mov edx, dword [ebp - 0x3c]
setg cl
sub ecx, esi
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx, 0xfffe
xor ecx, ecx
cmp eax, dword [edx + 0xc]
setle cl
xor eax, eax
sub ecx, esi
cmp ecx, edi
setle al
xor ecx, ecx
cmp eax, edi
mov eax, dword [ebp - 0x50]
setg cl
add ecx, dword [eax]
xor eax, eax
cmp ecx, 0x3b7c39c9
lea ecx, [ebp - 0x50]
setg al
mov dword [ebp - 0x3c], eax
or dword [ebp - 4], 0xffffffff
call fcn.10011dfa
xor esi, esi
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x18], ebx
inc esi
jmp 0x1000d844
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x1000d83a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000d85f
push esi
push ebx
push 0x471
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - 0x44], ebx
jmp 0x1000d874
mov dword [ebp - 0x38], 0xffff
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x38], eax
dec dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0xffffffed
jl 0x1000d864
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x20], 0xa772304b
mov dword [ebp - 0x2c], 0x4008
cmp dword [ebp - 0x2c], 0x42a2
jle 0x1000d931
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x20], ebx
cdq
mov ecx, ebx
idiv edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], edx
mov edi, ebx
mov eax, ecx
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x13c]
or eax, edx
cdq
push edx
push eax
call fcn.1000d3ae
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000d8d8
mov eax, dword [eax]
push eax
call fcn.100489bf
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x13c]
call fcn.100122f8
mov ecx, dword [ebp - 0x1c]
inc edi
mov edx, dword [ebp - 0x28]
cmp edi, 0xe5f
jl 0x1000d8b8
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x3aa6
jl 0x1000d8b6
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x1e6d
jl 0x1000d8ab
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x4d77
jl 0x1000d8a6
push 0x1cbf
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp dword [ebp - 0x2c], 0x3fe0
jge 0x1000d945
push 0x100077f0
call fcn.100489bf
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], 0x78e7
cmp dword [ebp - 0x20], 0x7bd7
jle 0x1000d9d1
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
add eax, edi
xor eax, ecx
lea ecx, [ebp - 0xf4]
or eax, edx
cdq
push edx
push eax
call fcn.1000d3ae
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000d988
mov eax, dword [eax]
push eax
call fcn.100489bf
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xf4]
call fcn.100122f8
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
inc ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x28], ecx
cmp ecx, 0x32e8
jl 0x1000d96a
inc edi
cmp edi, 0x83f
jl 0x1000d965
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x2622
jl 0x1000d963
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x46fc
jl 0x1000d95e
cmp dword [ebp - 0x20], 0x7500
jge 0x1000d9e5
push 0x10007848
call fcn.100489bf
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x30], 0xae9714a
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000da04
push 0x6b0
call dword [sym.imp.USER32.dll_GetMenu]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000da19
push ebx
push 0x1429
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], 0xac204e2d
push 3
call fcn.10011d78
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x20], 0x6645
cmp dword [ebp - 0x20], 0x6a25
jle 0x1000daba
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov ecx, edi
mov eax, ebx
and ecx, esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], ecx
mov esi, ecx
mov ebx, eax
mov edi, 0x3c3a
mov eax, ebx
mov ecx, 0x10606d98
or eax, esi
cdq
push edx
push eax
call fcn.10011b50
dec ebx
dec edi
jne 0x1000da73
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x6d0d
jl 0x1000da6c
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x1c], edi
push 0
pop ebx
cmp edi, 0x2d90
jl 0x1000da5e
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0xf63
jl 0x1000da59
xor esi, esi
inc esi
mov dword [ebp - 0x34], 0x90ae
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x20], 0x6447
jge 0x1000dafe
mov edx, 0x10007878
mov ecx, 0x10606d98
call fcn.10014461
jmp 0x1000dafe
push 2
mov dword [ebp - 4], 0xc
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x1000db20
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0x36a5b5cf
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000db0d
mov dword [ebp - 0x40], 0x1db9
cmp dword [ebp - 0x40], 0x2157
jle 0x1000db8b
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
or eax, ecx
lea ecx, [ebp - 0x124]
cdq
push edx
push eax
call fcn.1000d3ae
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000db5a
mov eax, dword [eax]
push eax
call fcn.100489bf
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x124]
call fcn.100122f8
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x2c37
jl 0x1000db40
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x5688
jl 0x1000db3b
mov dword [ebp - 0x2c], 0x1b
jmp 0x1000dc8f
mov dword [ebp - 0x24], 0xfffffffc
mov dword [ebp - 0x38], 0x8886a6c6
mov dword [ebp - 0x18], ebx
jmp 0x1000dbbb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xb4], 0x3a0b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000dbaa
mov dword [ebp - 0x24], ebx
jmp 0x1000dc5e
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x20], 0x15
jmp 0x1000dc3f
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x1c], ebx
jmp 0x1000dc37
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1000dc34
mov dword [ebp - 0x38], 0xb0a6
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0xac]
setg dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setne cl
mov dword [ebp - 0x38], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x38]
setge cl
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x18]
jns 0x1000dbf4
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1000dbe5
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 8
jg 0x1000dbd9
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000dc5b
push 0x246a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 5
jg 0x1000dbc9
mov dword [ebp - 0x24], ebx
jmp 0x1000dc87
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000dc84
push ebx
push ebx
push ebx
push 0x656
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x1000dc6d
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xffffffe6
je 0x1000db97
cmp dword [ebp - 0x40], 0x1d2f
jge 0x1000dcad
push 0x100078d4
call fcn.100489bf
pop ecx
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x2c], ebx
jl 0x1000dcce
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x30], 0xfffffffb
inc dword [ebp - 0x34]
dec dword [ebp - 0x2c]
jns 0x1000dcb5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.10011dfa
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 3
jg 0x1000e10a
mov dword [ebp - 0x30], 0xfffffff9
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x29ef4a04
mov dword [ebp - 0x34], 0x9a9b8fa4
mov dword [ebp - 0x38], 0xb2455f99
push esi
call fcn.10011d78
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x2c], 0x61b8ce22
mov dword [ebp - 0x28], 0x5de0
push edi
call fcn.10011d78
mov dword [ebp - 0x24], ebx
jmp 0x1000dd4e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0x7606e82a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1000dd3b
mov dword [ebp - 0x24], ebx
jmp 0x1000dd6b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x1000dd58
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000dd82
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
xor ecx, ecx
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x34]
cmp eax, esi
mov eax, dword [ebp - 0x90]
setg cl
xor edx, edx
cmp ecx, 0x77da
setg dl
mov dword [eax], edx
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x6b38
setne dl
add edx, edi
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, 0xffffffff
setle cl
dec dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x2c]
mov ecx, esi
cmovne ecx, ebx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
add edx, 0x361c
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, dword [ebp - 0x28]
setl cl
sub ecx, 0x3b3b
neg ecx
sbb ecx, ecx
add edx, 0xfffffffc
inc ecx
add edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xa8]
cmp edx, dword [eax]
setne cl
mov dword [eax], ecx
lea ecx, [ebp - 0xa8]
call fcn.10011dfa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.10011dfa
push 3
lea ecx, [ebp - 0x60]
call fcn.10011d78
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x2c], 0x6915a136
mov dword [ebp - 0x38], 0xddd9cd44
mov dword [ebp - 0x30], 0xc7a88ff7
mov dword [ebp - 0x1c], ebx
jmp 0x1000de86
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0x8ec0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000de76
mov dword [ebp - 0x18], 0x6657
cmp dword [ebp - 0x18], 0x6700
jle 0x1000defb
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x40], 0x25af
or eax, esi
mov ecx, 0x10606d98
or eax, ebx
cdq
push edx
push eax
call fcn.10011b50
mov eax, dword [ebp - 0x34]
dec eax
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
jne 0x1000deb3
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x4938
jl 0x1000dea9
inc esi
push 0
pop ebx
cmp esi, 0x5c66
jl 0x1000dea1
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x508
jl 0x1000de9f
xor esi, esi
inc esi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000df0e
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x18], 0x62f1
jge 0x1000df4e
mov edx, 0x10007908
mov ecx, 0x10606d98
call fcn.10014461
jmp 0x1000df4e
mov dword [ebp - 4], 0x12
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], edi
jg 0x1000e0d0
mov dword [ebp - 0x18], 0xc6e5c7a0
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x1000e0c5
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], 0x1d68c2af
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], edi
jg 0x1000e0bd
mov dword [ebp - 0x1c], 0x5257
cmp dword [ebp - 0x1c], 0x55bf
jle 0x1000e00f
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov edi, ebx
cdq
mov ecx, ebx
idiv edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], 0x721e
mov eax, ecx
lea ecx, [ebp - 0x154]
cdq
push edx
push eax
call fcn.1000d3ae
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000dfd6
mov eax, dword [eax]
push eax
call fcn.100489bf
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x154]
call fcn.100122f8
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x30]
dec dword [ebp - 0x40]
mov dword [ebp - 0x34], ecx
jne 0x1000dfbc
mov eax, dword [ebp - 0x28]
inc edi
cmp edi, 0x59a
jl 0x1000dfaa
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x6f20
jl 0x1000dfa8
mov dword [ebp - 0x34], 0xffffffff
cmp dword [ebp - 0x1c], 0x5213
jge 0x1000e02a
push 0x10007990
call fcn.100489bf
pop ecx
mov dword [ebp - 4], 0x12
xor edx, edx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
cmp eax, 0x61ec
mov eax, dword [ebp - 0x60]
setge dl
xor ecx, ecx
push 2
cmp dword [eax + 8], edx
setne cl
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x34], ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
imul esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x28], eax
add esi, dword [ebp - 0x18]
add esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x40]
cmp dword [edx + edi*4], eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, esi
mov esi, dword [ebp - 0x28]
pop edi
setge dl
xor ecx, ecx
cmp edx, eax
sete cl
sub ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x60]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x30]
cmp edx, dword [eax + esi*4]
setl cl
xor esi, esi
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x24]
inc esi
jmp 0x1000df84
dec dword [ebp - 0x18]
jmp 0x1000df6b
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x2c]
jmp 0x1000df58
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.10011dfa
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x74]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
neg edx
mov dword [ebp + eax*4 - 0x74], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x70], eax
inc dword [ebp - 0x20]
jmp 0x1000dce0
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1000e132
mov dword [ebp - 0x30], 0x57102d14
cmp dword [ebp - 0x30], ebx
jne 0x1000e138
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000e12f
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff6
jg 0x1000e112
mov eax, dword [ebp - 0x54]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x64]
mov edi, edx
mov esi, eax
call fcn.1000d3e6
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret