Function at 0x450690
Capabilities:
Disable automatic windows recovery features

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45090f
sub esp, 0x48
mov edx, dword [esp + 0x50]
movzx ebx, byte [edx + 0xf]
and ebx, 0x1f
cmp bl, 0xb
jbe 0x45072c
cmp bl, 0x11
jbe 0x4506ec
cmp bl, 0x16
je 0x450747
cmp bl, 0x19
jne 0x4506e2
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
xor eax, eax
jmp 0x4508bd
cmp bl, 0x1a
je 0x450747
jmp 0x45082d
cmp bl, 0xc
je 0x450747
cmp bl, 0x11
jne 0x45082d
cmp dword [edx + 0x28], 1
jne 0x45082d
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x4c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
call fcn.00450690
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 6
ja 0x45073e
lea ecx, [ebx - 1]
cmp cl, 4
jbe 0x450747
jmp 0x45089f
cmp bl, 0xa
ja 0x450828
mov ecx, dword [edx]
mov edx, dword [esp + 0x4c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [0x67e130]
cmp ebp, ebx
jle 0x45081d
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x34]
xor eax, eax
call fcn.0045f67b
mov dword [esp + 0x34], 2
mov ecx, dword [edx + 0xc]
mov eax, ebx
mov ebx, dword [esp + 0x54]
add ecx, ebx
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 4]
lea ebx, [ecx + 1]
mov esi, ebp
mov ebp, dword [edx]
mov edi, edx
mov edx, dword [edx + 8]
cmp edx, ebx
jae 0x4507fc
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
lea eax, [0x551ea0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00447650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x4c]
mov dword [edi + 8], edx
mov edx, dword [0x67e2d0]
test edx, edx
jne 0x4507ed
mov dword [edi], eax
jmp 0x4507f2
call fcn.0045f450
mov esi, dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x30]
lea edx, [ecx + 1]
mov dword [edi + 4], edx
lea ecx, [ecx + ecx*4]
lea ecx, [ebp + ecx*4]
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x34]
call fcn.0045fb5e
inc dword [edx + 0x18]
cmp ebx, eax
setg al
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 0xb
jne 0x45082d
mov dword [esp], edx
call fcn.004587a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x560f89]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x16
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [0x567c86]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x37
call fcn.0044cf40
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408be0
mov eax, dword [esp + 8]
lea ecx, [0x5474c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433350
cmp bl, 6
je 0x45082d
jmp 0x45082d
mov edi, dword [esp + 0x28]
lea eax, [edi + 1]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
cmp eax, ebx
jge 0x450900
mov edi, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x450909
mov dword [esp + 0x28], eax
lea ecx, [eax + eax*2]
mov edx, dword [edi + ecx*4 + 4]
mov ecx, dword [edi + ecx*4 + 8]
mov dword [esp], esi
mov dword [esp + 4], edx
shr ecx, 1
add ecx, ebp
mov dword [esp + 8], ecx
call fcn.00450690
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4508a6
mov byte [esp + 0x58], 0
add esp, 0x48
ret
mov byte [esp + 0x58], 1
add esp, 0x48
ret
call fcn.0045f4d0
nop
call fcn.0045e080
jmp fcn.00450690