Function at 0x454b50
Capabilities:
Inspect section memory permissions

Disassembly:
mov ecx, dword [esp + 4]
xor eax, eax
test ecx, ecx
push esi
push edi
mov byte [0x4a2b30], al
jne 0x454b84
mov eax, dword [0x48c784]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454b68
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454b77
jmp 0x45583e
test cl, 1
jne 0x454b8e
cmp ecx, 1
jne 0x454bc5
mov eax, dword [0x48c788]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454b95
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454ba4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
push ebx
mov ebx, dword [0x48c78c]
push ebp
mov ebp, ecx
and ebp, 2
jne 0x454bd9
cmp ecx, 2
jne 0x454c26
test eax, eax
je 0x454bf2
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454be3
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, ebx
mov edx, ebx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454bf6
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454c05
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, 4
jne 0x454c30
cmp ecx, 4
jne 0x454c87
test eax, eax
je 0x454c50
mov edi, 0x4a2b30
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454c40
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [0x48c790]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454c57
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454c66
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, 8
jne 0x454c91
cmp ecx, 8
jne 0x454ce7
test eax, eax
je 0x454cb0
mov edi, 0x4a2b30
dec edi
jmp 0x454ca0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454ca0
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [0x48c794]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454cb7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454cc6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, 0x10
jne 0x454cf1
cmp ecx, 0x10
jne 0x454d46
test eax, eax
je 0x454d0f
mov edi, 0x4a2b30
dec edi
jmp 0x454d00
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454d00
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagRESERVED4]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454d16
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454d25
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, 0x20
jne 0x454d50
cmp ecx, 0x20
jne 0x454da7
test eax, eax
je 0x454d70
mov edi, 0x4a2b30
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454d60
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagRESERVED3]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454d77
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454d86
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, 0x40
jne 0x454db1
cmp ecx, 0x40
jne 0x454e07
test eax, eax
je 0x454dd0
mov edi, 0x4a2b30
dec edi
jmp 0x454dc0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454dc0
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagRESERVED2]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454dd7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454de6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test cl, cl
js 0x454e13
cmp ecx, 0x80
jne 0x454e66
test eax, eax
je 0x454e2f
mov edi, 0x4a2b30
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454e20
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagRESERVED1]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454e36
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454e45
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test ch, 1
jne 0x454e73
cmp ecx, 0x100
jne 0x454ec7
test eax, eax
je 0x454e90
mov edi, 0x4a2b30
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454e80
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpiFlagNOCLOSE]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454e97
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454ea6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test ch, 2
jne 0x454ed4
cmp ecx, 0x200
jne 0x454f27
test eax, eax
je 0x454ef0
mov edi, 0x4a2b30
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454ee0
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpiFlagLISTOBJ]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454ef7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454f06
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test ebp, ebp
jne 0x454f30
cmp ecx, 2
jne 0x454f83
test eax, eax
je 0x454f4f
mov edi, 0x4a2b30
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454f40
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, ebx
mov edx, ebx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454f53
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454f62
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, 1
test ch, 4
pop ebp
pop ebx
jne 0x454f92
cmp ecx, 0x400
jne 0x454fe7
test eax, eax
je 0x454fb0
mov edi, 0x4a2b30
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x454fa0
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagEQUAL]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x454fb7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x454fc6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ch, 8
jne 0x454ff4
cmp ecx, 0x800
jne 0x455047
test eax, eax
je 0x455010
mov edi, 0x4a2b30
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455000
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagLIST1]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455017
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455026
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ch, 0x10
jne 0x455054
cmp ecx, 0x1000
jne 0x4550a6
test eax, eax
je 0x45506f
mov edi, 0x4a2b30
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455060
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagLIST2]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455076
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455085
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ch, 0x20
jne 0x4550b3
cmp ecx, 0x2000
jne 0x455107
test eax, eax
je 0x4550d0
mov edi, 0x4a2b30
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4550c0
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagNEWER1]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4550d7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4550e6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ch, 0x40
jne 0x455114
cmp ecx, 0x4000
jne 0x455167
test eax, eax
je 0x455130
mov edi, 0x4a2b30
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455120
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagNEWER2]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455137
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455146
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ch, ch
js 0x455173
cmp ecx, 0x8000
jne 0x4551c6
test eax, eax
je 0x45518f
mov edi, 0x4a2b30
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455180
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagDIFF]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455196
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4551a5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x10000
jne 0x4551d6
cmp ecx, 0x10000
jne 0x455227
test eax, eax
je 0x4551f0
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4551e0
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagPUSHED]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4551f7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455206
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x20000
jne 0x455237
cmp ecx, 0x20000
jne 0x455288
test eax, eax
je 0x455251
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455241
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagUNUSEDO13]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455258
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455267
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x40000
jne 0x455298
cmp ecx, 0x40000
jne 0x4552e8
test eax, eax
je 0x4552b1
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4552a2
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagCACHE_DIR]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4552b8
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4552c7
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x80000
jne 0x4552f8
cmp ecx, 0x80000
jne 0x455351
test eax, eax
je 0x455312
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455302
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagUNUSEDO11]
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455320
mov edi, 0x4a2b30
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455330
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x100000
jne 0x455361
cmp ecx, 0x100000
jne 0x4553b7
test eax, eax
je 0x455380
mov edi, 0x4a2b30
dec edi
jmp 0x455370
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455370
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagFROZEN]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455387
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455396
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x200000
jne 0x4553c7
cmp ecx, 0x200000
jne 0x455417
test eax, eax
je 0x4553e0
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4553d1
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagDIRTY]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4553e7
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4553f6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x400000
jne 0x455427
cmp ecx, 0x400000
jne 0x455478
test eax, eax
je 0x455441
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455431
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpiFlagREADMETA]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455448
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455457
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x800000
jne 0x455488
cmp ecx, 0x800000
jne 0x4554e1
test eax, eax
je 0x4554a2
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455492
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpiFlagFREE_ME]
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4554b0
mov edi, 0x4a2b30
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4554c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x1000000
jne 0x4554f1
cmp ecx, 0x1000000
jne 0x455546
test eax, eax
je 0x45550f
mov edi, 0x4a2b30
dec edi
jmp 0x455500
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455500
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagVISITED]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455516
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455525
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x2000000
jne 0x455556
cmp ecx, 0x2000000
jne 0x4555a7
test eax, eax
je 0x455570
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455560
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagCUROBJ]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455577
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455586
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x4000000
jne 0x4555b7
cmp ecx, 0x4000000
jne 0x455608
test eax, eax
je 0x4555d1
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4555c1
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpiFlagMEGA_INDEX]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4555d8
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4555e7
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x8000000
jne 0x455618
cmp ecx, 0x8000000
jne 0x455668
test eax, eax
je 0x455631
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455622
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagUNUSEDO21]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455638
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455647
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x10000000
jne 0x455678
cmp ecx, 0x10000000
jne 0x4556d1
test eax, eax
je 0x455692
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455682
mov ecx, dword [0x47f5a8]
mov dword [edi], ecx
mov eax, dword [str.vfpFlagSMEXISTS]
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4556a0
mov edi, 0x4a2b30
sub eax, edx
dec edi
nop
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4556b0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x20000000
jne 0x4556e1
cmp ecx, 0x20000000
jne 0x455737
test eax, eax
je 0x455700
mov edi, 0x4a2b30
dec edi
jmp 0x4556f0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4556f0
mov edx, dword [0x47f5a8]
mov dword [edi], edx
mov eax, dword [str.vfpFlagVPEXISTS]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455707
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455716
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x30000000
jne 0x455747
cmp ecx, 0x30000000
jne 0x455797
test eax, eax
je 0x455760
mov edi, 0x4a2b30
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x455751
mov eax, dword [0x47f5a8]
mov dword [edi], eax
mov eax, dword [str.vfpFlagEXISTS]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x455767
mov edi, 0x4a2b30
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x455776
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0xc]
mov eax, 1
test ecx, 0x40000000
jne 0x4557a7
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
mov eax, 0x4a2b30
pop esi
ret