Function at 0x498bc0
Capabilities:
Disable automatic windows recovery features

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x49931d
sub esp, 0x98
mov ecx, dword [esp + 0xb0]
lea edx, [ecx - 2]
cmp edx, 0x22
ja 0x499304
mov dword [esp + 0x53], 0
lea edi, [esp + 0x54]
xor eax, eax
call fcn.0045f5e0
movzx ecx, byte [esp + 0xb4]
test cl, cl
je 0x498c2b
mov edx, dword [esp + 0xa8]
sub eax, edx
mov edx, 0
mov ebx, dword [esp + 0xac]
sbb edx, ebx
jmp 0x498c39
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
cmp ebx, 0xa
jne 0x498c4f
mov ebx, 0x41
jmp 0x499066
lea ebp, [ebx - 1]
test ebx, ebp
jne 0x498c99
mov ebp, ebx
neg ebx
and ebx, ebp
imul ebx, ebx, 0x77cb531
shr ebx, 0x1b
lea esi, [0x6174a0]
movzx ebx, byte [esi + ebx]
and ebx, 7
mov esi, ebp
sar ebp, 0x1f
mov dword [esp + 0x44], ebp
lea edi, [esi - 1]
mov dword [esp + 0x20], edi
nop
mov dword [esp + 0x48], eax
mov eax, 0x41
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
jmp 0x498fb6
mov ebp, ebx
sar ebx, 0x1f
mov dword [esp + 0x44], ebx
mov esi, 0x41
jmp 0x498cc4
mov byte [esp + ebp + 0x52], dl
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xb0]
mov edx, eax
mov eax, ecx
movzx ecx, byte [esp + 0xb4]
mov dword [esp + 0x28], esi
cmp edx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, eax
xchg esi, ebx
setbe bl
xchg esi, ebx
cmp edx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
and esi, edi
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x498d4d
mov dword [esp + 0x40], eax
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 8], ecx
call fcn.0045a9e0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, dword [esp + 0xb0]
mul ecx
mov edx, dword [esp + 0x40]
sub edx, eax
mov eax, dword [esp + 0x14]
cmp edx, 0x24
jae 0x498f37
mov ebp, dword [esp + 0x28]
lea esi, [ebp - 1]
lea edi, [0x55081c]
movzx edx, byte [edi + edx]
cmp esi, 0x41
jb 0x498ca9
jmp 0x498f2b
cmp eax, 0x24
jae 0x498f21
mov edx, dword [esp + 0x28]
lea ebx, [edx - 1]
lea ebp, [0x55081c]
movzx ebp, byte [ebp + eax]
cmp ebx, 0x41
jae 0x498f15
xchg ebp, eax
mov byte [esp + edx + 0x52], al
xchg ebp, eax
test cl, cl
je 0x498d8e
lea eax, [ebx - 1]
cmp eax, 0x41
jae 0x498f0b
mov byte [esp + ebx + 0x52], 0x2d
jmp 0x498d90
mov eax, ebx
movzx edx, byte [esp + 0xb5]
test dl, dl
je 0x498e8e
cmp eax, 0x41
ja 0x498f01
mov ecx, dword [esp + 0xa0]
mov edx, ecx
sub ecx, eax
add ecx, 0x41
mov dword [esp + 0x3c], ecx
lea ebx, [eax - 0x41]
neg ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea eax, [esp + eax + 0x53]
mov ebx, dword [esp + 0xa4]
cmp ebx, ecx
jb 0x498de1
mov esi, dword [esp + 0x9c]
jmp 0x498e2f
mov dword [esp + 0x38], ebp
mov dword [esp + 0x94], eax
lea eax, [0x535200]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004475d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x38]
mov esi, eax
mov ebx, ecx
mov eax, dword [esp + 0x94]
mov dword [esp + 0x94], esi
mov dword [esp + 0x38], ebx
lea ecx, [esi + edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0045fce0
mov eax, dword [esp + 0x94]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
add esp, 0x98
ret
cmp eax, 0x41
ja 0x498ef7
mov dword [esp], 0
lea ecx, [eax - 0x41]
neg ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
lea eax, [esp + eax + 0x53]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044d0d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x98
ret
mov ecx, 0x41
call fcn.0045f4b0
mov ecx, 0x41
call fcn.0045f4b0
mov ecx, 0x41
call fcn.0045f450
mov eax, ebx
mov ecx, 0x41
call fcn.0045f450
mov ecx, 0x24
call fcn.0045f460
mov eax, esi
mov ecx, 0x41
call fcn.0045f450
mov eax, edx
mov ecx, 0x24
call fcn.0045f460
xchg edi, eax
mov byte [esp + ebp + 0x52], al
xchg edi, eax
lea ebp, [ebx - 0x20]
mov dword [esp + 0x34], ebp
cmp ebp, 0x20
sbb edi, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb ecx, ecx
mov dword [esp + 0x30], ecx
mov ecx, ebx
mov edx, dword [esp + 0x40]
shr edx, cl
mov dword [esp + 0x2c], edx
mov ecx, ebp
mov edx, dword [esp + 0x40]
mov ebp, edx
shl edx, cl
mov ecx, dword [esp + 0x30]
and edx, ecx
mov ecx, ebx
shr eax, cl
or eax, edx
mov ecx, dword [esp + 0x34]
shr ebp, cl
and ebp, edi
or eax, ebp
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
movzx ecx, byte [esp + 0xb4]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x40], edx
cmp edx, ebp
xchg ebp, ebx
seta bl
xchg ebp, ebx
sete dl
cmp esi, eax
xchg esi, ebx
setbe bl
xchg esi, ebx
and esi, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x498ffc
and edi, eax
cmp edi, 0x24
jae 0x499046
mov ebp, dword [esp + 0x28]
lea esi, [ebp - 1]
lea edx, [0x55081c]
movzx edi, byte [edx + edi]
cmp esi, 0x41
jb 0x498f43
jmp 0x49903a
cmp eax, 0x24
jae 0x499030
mov edx, dword [esp + 0x28]
lea ebx, [edx - 1]
lea ebp, [0x55081c]
movzx ebp, byte [eax + ebp]
cmp ebx, 0x41
jae 0x499024
xchg ebp, eax
mov byte [esp + edx + 0x52], al
xchg ebp, eax
test cl, cl
jmp 0x498d79
mov eax, ebx
mov ecx, 0x41
call fcn.0045f450
mov ecx, 0x24
call fcn.0045f460
mov eax, esi
mov ecx, 0x41
call fcn.0045f450
mov eax, edi
mov ecx, 0x24
call fcn.0045f460
xchg ebp, eax
mov byte [esp + ebx + 0x52], al
xchg ebp, eax
mov ebx, edx
mov edx, eax
mov eax, ecx
movzx ecx, byte [esp + 0xb4]
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
cmp eax, 0x3b9aca00
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x499115
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3b9aca00
call fcn.0045a9e0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x3b9aca00
mul ecx
mov edx, dword [esp + 0x40]
sub edx, eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov ebp, 4
jmp 0x499247
mov ebp, edx
shl edx, 1
inc edx
cmp edx, 0xc8
jae 0x4992c8
lea edx, [ebx - 1]
lea esi, [0x553d17]
lea ebp, [esi + ebp*2 + 1]
movzx ebp, byte [ebp]
cmp edx, 0x41
jb 0x499052
jmp 0x4992bc
mov byte [esp + ebx + 0x51], dl
mov edx, dword [esp + 0x40]
mov ebx, eax
mov eax, edx
cmp eax, 0x64
jb 0x499183
mov edx, eax
shr eax, 1
mov ebp, eax
mov eax, 0xa3d70a3e
mov esi, edx
mul ebp
shr edx, 5
imul ebp, edx, 0x64
sub esi, ebp
mov eax, esi
shl eax, 1
lea ebp, [eax + 1]
cmp ebp, 0xc8
jae 0x499226
mov dword [esp + 0x40], edx
lea ebp, [ebx - 1]
lea edi, [0x553d17]
lea edx, [edi + esi*2 + 1]
movzx edx, byte [edx]
cmp ebp, 0x41
jae 0x49921a
mov byte [esp + ebx + 0x52], dl
cmp eax, 0xc8
jae 0x499210
lea eax, [ebx - 2]
lea edx, [edi + esi*2]
movzx edx, byte [edx]
cmp eax, 0x41
jb 0x499109
jmp 0x499206
mov edx, eax
shl eax, 1
lea ebp, [eax + 1]
cmp ebp, 0xc8
jae 0x4991fa
lea ebp, [ebx - 1]
lea esi, [0x553d17]
lea edi, [esi + edx*2 + 1]
movzx edi, byte [edi]
cmp ebp, 0x41
jae 0x4991ee
xchg edi, eax
mov byte [esp + ebx + 0x52], al
xchg edi, eax
cmp edx, 0xa
jb 0x4991cf
cmp eax, 0xc8
jae 0x4991e4
lea eax, [ebx - 2]
lea edx, [esi + edx*2]
movzx edx, byte [edx]
cmp eax, 0x41
jae 0x4991da
mov byte [esp + ebx + 0x51], dl
test cl, cl
jmp 0x4991d3
test cl, cl
mov eax, ebp
mov ebx, eax
jmp 0x498d79
mov ecx, 0x41
call fcn.0045f450
mov ecx, 0xc8
call fcn.0045f460
mov eax, ebp
mov ecx, 0x41
call fcn.0045f450
mov eax, ebp
mov ecx, 0xc8
call fcn.0045f460
mov ecx, 0x41
call fcn.0045f450
mov ecx, 0xc8
call fcn.0045f460
mov eax, ebp
mov ecx, 0x41
call fcn.0045f450
mov eax, ebp
mov ecx, 0xc8
call fcn.0045f460
xchg esi, eax
mov byte [esp + ebx + 0x51], al
xchg esi, eax
mov esi, dword [esp + 0x24]
dec esi
mov edi, dword [esp + 0x34]
mov ebp, esi
mov ebx, edx
mov edx, edi
test ebp, ebp
jle 0x4990d9
mov esi, edx
shr edx, 1
mov edi, eax
mov eax, 0xa3d70a3e
mul edx
shr edx, 5
mov dword [esp + 0x34], edx
mov eax, edi
imul edi, edx, 0x64
sub esi, edi
mov edi, esi
shl esi, 1
lea edx, [esi + 1]
cmp edx, 0xc8
jae 0x4992f8
mov dword [esp + 0x24], ebp
lea edx, [ebx - 1]
lea ebp, [0x553d17]
lea ebp, [ebp + edi*2 + 1]
movzx ebp, byte [ebp]
cmp edx, 0x41
jae 0x4992ec
xchg ebp, eax
mov byte [esp + ebx + 0x52], al
xchg ebp, eax
cmp esi, 0xc8
jae 0x4992e0
lea edx, [ebx - 2]
lea ebp, [0x553d17]
lea esi, [ebp + edi*2]
movzx esi, byte [esi]
cmp edx, 0x41
jb 0x499232
jmp 0x4992d4
mov eax, edx
mov ecx, 0x41
call fcn.0045f450
mov eax, edx
mov ecx, 0xc8
call fcn.0045f460
mov eax, edx
mov ecx, 0x41
call fcn.0045f450
mov eax, esi
mov ecx, 0xc8
call fcn.0045f460
mov eax, edx
mov ecx, 0x41
call fcn.0045f450
mov eax, edx
mov ecx, 0xc8
call fcn.0045f460
lea eax, [0x535040]
mov dword [esp], eax
lea eax, [0x57d9ec]
mov dword [esp + 4], eax
call fcn.004332d0
nop
call fcn.0045e000
jmp fcn.00498bc0