Function at 0x450610
Capabilities:
Disable automatic windows recovery features

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45088f
sub esp, 0x48
mov edx, dword [esp + 0x50]
movzx ebx, byte [edx + 0xf]
and ebx, 0x1f
cmp bl, 0xb
jbe 0x4506ac
cmp bl, 0x11
jbe 0x45066c
cmp bl, 0x16
je 0x4506c7
cmp bl, 0x19
jne 0x450662
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
xor eax, eax
jmp 0x45083d
cmp bl, 0x1a
je 0x4506c7
jmp 0x4507ad
cmp bl, 0xc
je 0x4506c7
cmp bl, 0x11
jne 0x4507ad
cmp dword [edx + 0x28], 1
jne 0x4507ad
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.00450610
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 6
ja 0x4506be
lea ecx, [ebx - 1]
cmp cl, 4
jbe 0x4506c7
jmp 0x45081f
cmp bl, 0xa
ja 0x4507a8
mov ecx, dword [edx]
mov edx, dword [esp + 0x4c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [0x657228]
cmp ebp, ebx
jle 0x45079d
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x34]
xor eax, eax
call fcn.0045f5eb
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 0x45077c
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
lea eax, [0x53e5a0]
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.004475d0
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 [0x6573b0]
test edx, edx
jne 0x45076d
mov dword [edi], eax
jmp 0x450772
call fcn.0045f3d0
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.0045face
inc dword [edx + 0x18]
cmp ebx, eax
setg al
mov byte [esp + 0x58], al
add esp, 0x48
ret
cmp bl, 0xb
jne 0x4507ad
mov dword [esp], edx
call fcn.00458720
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x54c969]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x16
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [0x5531ba]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x37
call fcn.0044cec0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x535040]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004332d0
cmp bl, 6
je 0x4507ad
jmp 0x4507ad
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 0x450880
mov edi, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
cmp eax, ecx
jae 0x450889
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.00450610
movzx eax, byte [esp + 0xc]
test al, al
jne 0x450826
mov byte [esp + 0x58], 0
add esp, 0x48
ret
mov byte [esp + 0x58], 1
add esp, 0x48
ret
call fcn.0045f450
nop
call fcn.0045e000
jmp fcn.00450610