Function at 0xa1b2b0
Capabilities:
Check os version

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0xa8b4e9
push eax
mov eax, 0x1e14
mov dword fs:[0], esp
call fcn.00a7e750
push ebp
push edi
lea ecx, [esp + 0x3c]
call fcn.00a50480
xor ebp, ebp
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1e24], ebp
call fcn.00a504c0
push 3
push str.SoftwareThinstallSxS
lea eax, [esp + 0x44]
push 0x80000002
push eax
call fcn.00a5fcd0
add esp, 0x10
lea ecx, [esp + 0x3c]
call fcn.00a50710
lea ecx, [esp + 0x38]
lea edx, [esp + 0x1c]
push ecx
push edx
push ebp
push 3
push ebp
push ebp
push ebp
push str.SOFTWAREThinstallSxS
push 0x80000002
mov dword [esp + 0x44], ebp
call fcn.00a40d40
add esp, 0x24
cmp eax, ebp
jne 0xa1b3a6
lea eax, [esp + 8]
lea ecx, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x2c]
push ecx
push edx
push ebp
push str.Platform
push eax
mov dword [esp + 0x20], 4
call fcn.00a42be0
add esp, 0x18
cmp eax, ebp
je 0xa1b37f
cmp eax, 2
je 0xa1b379
push eax
push str._SxS:_query_for_SxS_Platform_failed_with_error__d_n
call fcn.009fe320
add esp, 8
mov dword [esp + 0x20], ebp
jmp 0xa1b3aa
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 8]
cmp eax, 4
jne 0xa1b391
cmp ecx, 4
je 0xa1b3aa
push ecx
push eax
push str._SxS:_unexpected_type__d_or_size__dfor_SxS_Platform_n
call fcn.009fe320
add esp, 0xc
mov dword [esp + 0x20], ebp
jmp 0xa1b3aa
mov dword [esp + 0x1c], ebp
mov edi, dword [sym.imp.KERNEL32.dll_GetVersion]
call edi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], eax
cmp eax, ecx
jne 0xa1b3fa
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0xa1b3cf
push eax
call fcn.00a41390
add esp, 4
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1e24], 0xffffffff
call fcn.00a51780
pop edi
pop ebp
mov ecx, dword [esp + 0x1e14]
mov dword fs:[0], ecx
add esp, 0x1e20
ret
push esi
push eax
push ecx
push str.SxS:_Platform_change__old_platform_0x_x_current_platform_0x_x_n
call fcn.009fe320
lea ecx, [esp + 0x1c24]
push 0x104
push ecx
call fcn.00a79690
add esp, 0x14
lea edx, [esp + 0x1c18]
lea ecx, [esp + 0xf84]
push edx
call fcn.00a152e0
push 0x5c
push 1
lea ecx, [esp + 0xf8c]
mov byte [esp + 0x1e30], 1
call fcn.00a15770
mov esi, eax
mov eax, str.WinSxS
test eax, eax
je 0xa1b45e
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1b460
xor eax, eax
push ebx
push 0x5c
push 1
push eax
push str.WinSxS
mov ecx, esi
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
mov cl, byte [esp + 0x37]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x14], cl
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov byte [esp + 0x1e2c], 2
call edi
cmp al, 6
jae 0xa1bac2
mov edx, dword [0xa918f4]
lea eax, [esp + 0xf88]
push edx
push ebp
push eax
lea ecx, [esp + 0x754]
call fcn.00a151b0
mov ecx, str.Policies
mov byte [esp + 0x1e2c], 3
test ecx, ecx
je 0xa1b4d7
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b4d9
xor eax, eax
push eax
push str.Policies
lea ecx, [esp + 0x750]
call fcn.00a15880
push ebp
lea ecx, [esp + 0x74c]
call fcn.00a15640
push eax
call fcn.00a27e70
push 0x5c
push 1
lea ecx, [esp + 0x750]
call fcn.00a15770
mov edx, dword [0xa918f4]
lea eax, [esp + 0xf88]
push edx
push ebp
push eax
lea ecx, [esp + 0xd84]
call fcn.00a151b0
mov ecx, str.Manifests
mov byte [esp + 0x1e2c], 4
test ecx, ecx
je 0xa1b546
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b548
xor eax, eax
push 0x5c
push 1
push eax
push str.Manifests
lea ecx, [esp + 0xd88]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
mov edx, dword [0xa918f4]
lea eax, [esp + 0xd78]
push edx
push ebp
push eax
lea ecx, [esp + 0x11a4]
call fcn.00a151b0
mov ecx, str._policy.____
mov byte [esp + 0x1e2c], 5
test ecx, ecx
je 0xa1b59d
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b59f
xor eax, eax
push eax
push str._policy.____
lea ecx, [esp + 0x11a0]
call fcn.00a15880
mov edx, str..Manifest
mov esi, eax
test edx, edx
je 0xa1b5c7
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b5c9
xor eax, eax
push eax
push str..Manifest
mov ecx, esi
call fcn.00a15880
lea eax, [esp + 0x2a8]
lea ecx, [esp + 0x1198]
push eax
call fcn.00a15640
push eax
call fcn.009f4a50
mov edi, eax
cmp edi, 0xffffffff
je 0xa1b916
mov bl, 9
mov ecx, dword [0xa918f4]
lea edx, [esp + 0xd78]
push ecx
push ebp
push edx
lea ecx, [esp + 0xa4]
call fcn.00a151b0
lea eax, [esp + 0x2d4]
mov byte [esp + 0x1e2c], 6
test eax, eax
je 0xa1b63e
lea ecx, [esp + 0x2d4]
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b640
xor eax, eax
lea edx, [esp + 0x2d4]
push eax
push edx
lea ecx, [esp + 0xa0]
call fcn.00a15880
lea ecx, [esp + 0x13b8]
call fcn.00a155c0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 7
call fcn.00a155c0
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 8
call fcn.00a155c0
lea eax, [esp + 0x13a8]
push ebp
push eax
push 0x20
lea ecx, [esp + 0xa4]
mov byte [esp + 0x1e38], bl
call fcn.00a15640
push eax
call fcn.00a2ea30
add esp, 0x10
test al, al
je 0xa1b8aa
cmp dword [esp + 0x13a8], 2
je 0xa1b8aa
lea ecx, [esp + 0x98]
call fcn.00a15640
push eax
call fcn.00a797a0
mov esi, eax
add esp, 4
cmp esi, ebp
je 0xa1b8aa
push str..Manifest
call fcn.00a7e07a
lea ecx, [esp + 0x2d8]
mov ebp, eax
push ecx
call fcn.00a7e07a
add esp, 8
sub eax, ebp
lea edx, [esp + 0x2d4]
lea ecx, [esp + 0x4f8]
push eax
push edx
call fcn.00a15470
lea eax, [esp + 0x60]
mov ecx, esi
push eax
mov byte [esp + 0x1e30], 0xa
call fcn.00a7acc0
lea ecx, [esp + 0x958]
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.00a79a10
mov eax, dword [0xa918f4]
add esp, 8
xor ebp, ebp
lea ecx, [esp + 0x748]
push eax
push ebp
push ecx
lea ecx, [esp + 0xb74]
call fcn.00a151b0
lea edx, [esp + 0x958]
mov byte [esp + 0x1e2c], 0xb
test edx, edx
je 0xa1b783
lea eax, [esp + 0x958]
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1b785
xor eax, eax
lea ecx, [esp + 0x958]
push eax
push ecx
lea ecx, [esp + 0xb70]
call fcn.00a15880
push ebp
lea ecx, [esp + 0xb6c]
call fcn.00a15640
push eax
call fcn.00a27e70
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
push edx
push eax
push 0x5c
push 1
lea ecx, [esp + 0xb78]
call fcn.00a15770
mov ecx, eax
call fcn.00a15880
lea ecx, [esp + 0xb68]
call fcn.00a15640
push eax
lea ecx, [esp + 0x4fc]
call fcn.00a15640
push eax
push str.SxS:_Need_to_rename_policy__ls_to__ls_n
call fcn.009fe320
mov ecx, dword [esp + 0x508]
mov edx, dword [esp + 0xb78]
add edx, ecx
lea eax, [edx + edx + 4]
push eax
call fcn.009ef3a0
add esp, 0x10
lea ecx, [esp + 0x4f8]
mov dword [esp + 0x10], eax
call fcn.00a15640
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.00a7e270
add esp, 8
lea ecx, [esp + 0xb68]
call fcn.00a15640
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.00a7e07a
mov ecx, dword [esp + 0x18]
add esp, 4
lea edx, [ecx + eax*2 + 2]
push edx
call fcn.00a7e270
mov ecx, dword [esp + 0x24]
add esp, 8
lea eax, [esp + 0x10]
push eax
push 1
push ecx
lea ecx, [esp + 0x20]
call fcn.00a61440
mov ecx, esi
call fcn.00a79760
push esi
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0xb68]
mov byte [esp + 0x1e2c], 0xa
call fcn.00a155e0
lea ecx, [esp + 0x4f8]
mov byte [esp + 0x1e2c], bl
call fcn.00a155e0
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 0xd
call fcn.00a155e0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 0xc
call fcn.00a155e0
lea ecx, [esp + 0x13b8]
mov byte [esp + 0x1e2c], 6
call fcn.00a155e0
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], 5
call fcn.00a155e0
lea edx, [esp + 0x2a8]
push edx
push edi
call fcn.009f4e90
test eax, eax
jne 0xa1b5fd
push edi
call fcn.009f50a0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0xa1ba73
mov bl, 0xe
mov esi, dword [edi]
push esi
call fcn.00a7e07a
add esp, 4
lea ebp, [esi + eax*2 + 2]
mov eax, dword [0xa918f4]
lea ecx, [esp + 0xd78]
push eax
push 0
push ecx
lea ecx, [esp + 0x504]
call fcn.00a151b0
test esi, esi
mov byte [esp + 0x1e2c], bl
je 0xa1b969
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa1b96b
xor eax, eax
push eax
push esi
lea ecx, [esp + 0x500]
call fcn.00a15880
mov edx, str..Manifest
mov esi, eax
test edx, edx
je 0xa1b98f
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1b991
xor eax, eax
push eax
push str..Manifest
mov ecx, esi
call fcn.00a15880
push ebp
lea ecx, [esp + 0x9c]
call fcn.00a152e0
mov eax, 0xaa5340
mov byte [esp + 0x1e2c], 0xf
test eax, eax
je 0xa1b9c7
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1b9c9
xor eax, eax
push eax
push 0xaa5340
lea ecx, [esp + 0xa0]
call fcn.00a15880
push 1
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
call fcn.00a31280
test eax, eax
jne 0xa1ba2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
push str._SxS:_Failed_to_rename_policy_file__ls_to__ls__error__d_n
call fcn.009fe320
add esp, 0x10
mov eax, dword [edi]
push eax
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], bl
call fcn.00a155e0
lea ecx, [esp + 0x4f8]
mov byte [esp + 0x1e2c], 5
call fcn.00a155e0
mov eax, dword [esp + 0x1c]
add edi, 4
cmp edi, eax
jne 0xa1b928
mov edi, dword [esp + 0x18]
push eax
push edi
lea ecx, [esp + 0x1c]
mov esi, edi
call fcn.009ee060
lea ecx, [esp + 0x1198]
mov dword [esp + 0x1c], esi
mov byte [esp + 0x1e2c], 4
call fcn.00a155e0
lea ecx, [esp + 0xd78]
mov byte [esp + 0x1e2c], 3
call fcn.00a155e0
lea ecx, [esp + 0x748]
mov byte [esp + 0x1e2c], 2
call fcn.00a155e0
xor ebp, ebp
mov ecx, dword [0xa918f4]
lea edx, [esp + 0xf88]
push ecx
push ebp
push edx
lea ecx, [esp + 0x1a18]
call fcn.00a151b0
mov eax, str.Manifests
mov byte [esp + 0x1e2c], 0x10
test eax, eax
je 0xa1bafa
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1bafc
xor eax, eax
push eax
push str.Manifests
lea ecx, [esp + 0x1a14]
call fcn.00a15880
mov ecx, 0xaa0bc8
mov esi, eax
test ecx, ecx
je 0xa1bb24
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bb26
xor eax, eax
push eax
push 0xaa0bc8
mov ecx, esi
call fcn.00a15880
mov edx, str..Manifest
mov esi, eax
test edx, edx
je 0xa1bb49
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bb4b
xor eax, eax
push eax
push str..Manifest
mov ecx, esi
call fcn.00a15880
lea eax, [esp + 0x2a8]
lea ecx, [esp + 0x1a0c]
push eax
call fcn.00a15640
push eax
call fcn.009f4a50
mov edi, eax
cmp edi, 0xffffffff
je 0xa1be54
mov bl, 0x14
mov ecx, dword [0xa918f4]
lea edx, [esp + 0xf88]
push ecx
push ebp
push edx
lea ecx, [esp + 0xa4]
call fcn.00a151b0
mov eax, str.Manifests
mov byte [esp + 0x1e2c], 0x11
test eax, eax
je 0xa1bbb7
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1bbb9
xor eax, eax
push 0x5c
push 1
push eax
push str.Manifests
lea ecx, [esp + 0xa8]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
lea ecx, [esp + 0x2d4]
mov esi, eax
test ecx, ecx
je 0xa1bbf5
lea edx, [esp + 0x2d4]
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bbf7
xor eax, eax
push eax
lea eax, [esp + 0x2d8]
push eax
mov ecx, esi
call fcn.00a15880
lea ecx, [esp + 0x13b8]
call fcn.00a155c0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 0x12
call fcn.00a155c0
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 0x13
call fcn.00a155c0
lea ecx, [esp + 0x13a8]
push ebp
push ecx
push 0x20
lea ecx, [esp + 0xa4]
mov byte [esp + 0x1e38], bl
call fcn.00a15640
push eax
call fcn.00a2ea30
add esp, 0x10
test al, al
je 0xa1bde8
cmp dword [esp + 0x13a8], 2
je 0xa1bde8
lea ecx, [esp + 0x98]
call fcn.00a15640
push eax
call fcn.00a797a0
mov esi, eax
add esp, 4
cmp esi, ebp
je 0xa1bde8
push str..Manifest
call fcn.00a7e07a
lea edx, [esp + 0x2d8]
mov ebp, eax
push edx
call fcn.00a7e07a
add esp, 8
sub eax, ebp
lea ecx, [esp + 0x748]
push eax
lea eax, [esp + 0x2d8]
push eax
call fcn.00a15470
lea ecx, [esp + 0x60]
mov byte [esp + 0x1e2c], 0x15
push ecx
mov ecx, esi
call fcn.00a7acc0
lea edx, [esp + 0x958]
lea eax, [esp + 0x60]
push edx
push eax
call fcn.00a79a10
add esp, 8
lea ecx, [esp + 0x748]
call fcn.00a15640
lea ecx, [esp + 0x958]
push eax
push ecx
call fcn.00a886d0
add esp, 8
test eax, eax
je 0xa1bdc3
lea edx, [esp + 0x958]
lea ecx, [esp + 0x748]
push edx
call fcn.00a15640
push eax
push str.SxS:_Need_to_rename__ls_to__ls_n
call fcn.009fe320
add esp, 0xc
lea ecx, [esp + 0x748]
call fcn.00a15640
push eax
call fcn.00a7e07a
mov ebp, eax
lea eax, [esp + 0x95c]
push eax
call fcn.00a7e07a
add ebp, eax
lea ecx, [ebp + ebp + 4]
push ecx
call fcn.009ef3a0
add esp, 0xc
lea ecx, [esp + 0x748]
mov dword [esp + 0x10], eax
call fcn.00a15640
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.00a7e270
mov ecx, dword [esp + 0x18]
add esp, 8
lea eax, [esp + 0x958]
push eax
push ecx
call fcn.00a7e07a
mov edx, dword [esp + 0x18]
add esp, 4
lea eax, [edx + eax*2 + 2]
push eax
call fcn.00a7e270
mov edx, dword [esp + 0x24]
add esp, 8
lea ecx, [esp + 0x10]
push ecx
push 1
push edx
lea ecx, [esp + 0x20]
call fcn.00a61440
mov ecx, esi
call fcn.00a79760
push esi
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0x748]
mov byte [esp + 0x1e2c], bl
call fcn.00a155e0
xor ebp, ebp
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 0x17
call fcn.00a155e0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 0x16
call fcn.00a155e0
lea ecx, [esp + 0x13b8]
mov byte [esp + 0x1e2c], 0x11
call fcn.00a155e0
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], 0x10
call fcn.00a155e0
lea eax, [esp + 0x2a8]
push eax
push edi
call fcn.009f4e90
test eax, eax
jne 0xa1bb7f
push edi
call fcn.009f50a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov ebx, eax
je 0xa1c2f0
mov esi, dword [ebx]
push esi
call fcn.00a7e07a
mov ecx, dword [0xa918f4]
add esp, 4
lea edx, [esp + 0xf88]
lea ebp, [esi + eax*2 + 2]
push ecx
push 0
push edx
lea ecx, [esp + 0x964]
call fcn.00a151b0
mov eax, str.Manifests
mov byte [esp + 0x1e2c], 0x18
test eax, eax
je 0xa1beae
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1beb0
xor eax, eax
push 0x5c
push 1
push eax
push str.Manifests
lea ecx, [esp + 0x968]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
test esi, esi
mov edi, eax
je 0xa1bede
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa1bee0
xor eax, eax
push eax
push esi
mov ecx, edi
call fcn.00a15880
mov ecx, str..Manifest
mov edi, eax
test ecx, ecx
je 0xa1beff
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bf01
xor eax, eax
push eax
push str..Manifest
mov ecx, edi
call fcn.00a15880
mov edx, dword [0xa918f4]
lea eax, [esp + 0xf88]
push edx
push 0
push eax
lea ecx, [esp + 0xb74]
call fcn.00a151b0
mov ecx, str.Manifests
mov byte [esp + 0x1e2c], 0x19
test ecx, ecx
je 0xa1bf47
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bf49
xor eax, eax
push 0x5c
push 1
push eax
push str.Manifests
lea ecx, [esp + 0xb78]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
test ebp, ebp
mov edi, eax
je 0xa1bf77
push ebp
call fcn.00a7e07a
add esp, 4
jmp 0xa1bf79
xor eax, eax
push eax
push ebp
mov ecx, edi
call fcn.00a15880
mov edx, str..Manifest
mov edi, eax
test edx, edx
je 0xa1bf98
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1bf9a
xor eax, eax
push eax
push str..Manifest
mov ecx, edi
call fcn.00a15880
push 1
lea ecx, [esp + 0xb6c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x960]
call fcn.00a15640
push eax
call fcn.00a31280
test eax, eax
je 0xa1c27c
mov eax, dword [0xa918f4]
lea ecx, [esp + 0xf88]
push eax
push 0
push ecx
lea ecx, [esp + 0xd84]
call fcn.00a151b0
test esi, esi
mov byte [esp + 0x1e2c], 0x1a
je 0xa1c003
push esi
call fcn.00a7e07a
add esp, 4
jmp 0xa1c005
xor eax, eax
push 0x5c
push 1
push eax
push esi
lea ecx, [esp + 0xd88]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
mov edx, dword [0xa918f4]
lea eax, [esp + 0xf88]
push edx
push 0
push eax
lea ecx, [esp + 0x754]
call fcn.00a151b0
test ebp, ebp
mov byte [esp + 0x1e2c], 0x1b
je 0xa1c052
push ebp
call fcn.00a7e07a
add esp, 4
jmp 0xa1c054
xor eax, eax
push 0x5c
push 1
push eax
push ebp
lea ecx, [esp + 0x758]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
push 0
lea ecx, [esp + 0x74c]
call fcn.00a15640
push eax
call fcn.00a27e70
mov ecx, dword [0xa918f4]
lea edx, [esp + 0xd78]
push ecx
push 0
push edx
lea ecx, [esp + 0x11a4]
call fcn.00a151b0
mov eax, str..dll
mov byte [esp + 0x1e2c], 0x1c
test eax, eax
je 0xa1c0ba
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1c0bc
xor eax, eax
push eax
push str..dll
lea ecx, [esp + 0x11a0]
call fcn.00a15880
lea ecx, [esp + 0x2a8]
push ecx
lea ecx, [esp + 0x119c]
call fcn.00a15640
push eax
call fcn.009f4a50
mov esi, eax
cmp esi, 0xffffffff
je 0xa1c23e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0xa918f4]
lea eax, [esp + 0xd78]
push edx
push 0
push eax
lea ecx, [esp + 0x504]
call fcn.00a151b0
lea ecx, [esp + 0x2d4]
mov byte [esp + 0x1e2c], 0x1d
test ecx, ecx
je 0xa1c13b
lea edx, [esp + 0x2d4]
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c13d
xor eax, eax
push eax
lea eax, [esp + 0x2d8]
push eax
lea ecx, [esp + 0x500]
call fcn.00a15880
mov ecx, dword [0xa918f4]
lea edx, [esp + 0x748]
push ecx
push 0
push edx
lea ecx, [esp + 0xa4]
call fcn.00a151b0
lea eax, [esp + 0x2d4]
mov byte [esp + 0x1e2c], 0x1e
test eax, eax
je 0xa1c194
lea ecx, [esp + 0x2d4]
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c196
xor eax, eax
lea edx, [esp + 0x2d4]
push eax
push edx
lea ecx, [esp + 0xa0]
call fcn.00a15880
push 1
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
call fcn.00a31280
test eax, eax
jne 0xa1c1fa
call edi
push eax
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
push str._SxS:_Failed_to_rename__ls_to__ls_during_dir_move__error__d_n
call fcn.009fe320
add esp, 0x10
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], 0x1d
call fcn.00a155e0
lea ecx, [esp + 0x4f8]
mov byte [esp + 0x1e2c], 0x1c
call fcn.00a155e0
lea eax, [esp + 0x2a8]
push eax
push esi
call fcn.009f4e90
test eax, eax
jne 0xa1c0f9
push esi
call fcn.009f50a0
lea ecx, [esp + 0x1198]
mov byte [esp + 0x1e2c], 0x1b
call fcn.00a155e0
lea ecx, [esp + 0x748]
mov byte [esp + 0x1e2c], 0x1a
call fcn.00a155e0
lea ecx, [esp + 0xd78]
mov byte [esp + 0x1e2c], 0x19
call fcn.00a155e0
jmp 0xa1c2aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0xb6c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x960]
call fcn.00a15640
push eax
push str._SxS:_Failed_to_rename_manifest__ls_to__ls__error__d_n
call fcn.009fe320
add esp, 0x10
mov eax, dword [ebx]
push eax
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0xb68]
mov byte [esp + 0x1e2c], 0x18
call fcn.00a155e0
lea ecx, [esp + 0x958]
mov byte [esp + 0x1e2c], 0x10
call fcn.00a155e0
mov eax, dword [esp + 0x1c]
add ebx, 4
cmp ebx, eax
jne 0xa1be66
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0xa1caf9
mov ecx, dword [0xa918f4]
lea edx, [esp + 0xf88]
push ecx
push 0
push edx
lea ecx, [esp + 0xb74]
call fcn.00a151b0
mov eax, str.Policies
mov byte [esp + 0x1e2c], 0x1f
test eax, eax
je 0xa1c33b
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1c33d
xor eax, eax
push eax
push str.Policies
lea ecx, [esp + 0xb70]
call fcn.00a15880
mov ecx, 0xaa0bc8
mov esi, eax
test ecx, ecx
je 0xa1c365
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c367
xor eax, eax
push eax
push 0xaa0bc8
mov ecx, esi
call fcn.00a15880
lea edx, [esp + 0x2a8]
lea ecx, [esp + 0xb68]
push edx
call fcn.00a15640
push eax
call fcn.009f4a50
mov edi, eax
cmp edi, 0xffffffff
mov dword [esp + 0x3c], edi
je 0xa1c950
mov ebp, 4
lea eax, [esp + 0x2d4]
push 0xa9e664
push eax
call fcn.00a7fc4a
add esp, 8
test eax, eax
je 0xa1c934
lea ecx, [esp + 0x2d4]
push 0xa9e65c
push ecx
call fcn.00a7fc4a
add esp, 8
test eax, eax
je 0xa1c934
test byte [esp + 0x2a8], 0x10
je 0xa1c934
mov edx, dword [0xa918f4]
lea eax, [esp + 0xf88]
push edx
push 0
push eax
lea ecx, [esp + 0xd84]
call fcn.00a151b0
mov ecx, str.Policies
mov byte [esp + 0x1e2c], 0x20
test ecx, ecx
je 0xa1c423
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c425
xor eax, eax
push 0x5c
push 1
push eax
push str.Policies
lea ecx, [esp + 0xd88]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
lea edx, [esp + 0x2d4]
mov esi, eax
test edx, edx
je 0xa1c461
lea eax, [esp + 0x2d4]
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1c463
xor eax, eax
push 0x5c
push 1
lea ecx, [esp + 0x2dc]
push eax
push ecx
mov ecx, esi
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
mov edx, dword [0xa918f4]
lea eax, [esp + 0xd78]
push edx
push 0
push eax
lea ecx, [esp + 0x11a4]
call fcn.00a151b0
push 0x2a
push 1
lea ecx, [esp + 0x11a0]
mov byte [esp + 0x1e34], 0x21
call fcn.00a15770
mov ecx, 0xaa5340
mov esi, eax
test ecx, ecx
je 0xa1c4c9
push ecx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c4cb
xor eax, eax
push eax
push 0xaa5340
mov ecx, esi
call fcn.00a15880
lea edx, [esp + 0x4f8]
lea ecx, [esp + 0x1198]
push edx
call fcn.00a15640
push eax
call fcn.009f4a50
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x30], ebx
je 0xa1c90c
mov eax, dword [0xa918f4]
lea ecx, [esp + 0xd78]
push eax
push 0
push ecx
lea ecx, [esp + 0xa4]
call fcn.00a151b0
lea edx, [esp + 0x524]
mov byte [esp + 0x1e2c], 0x22
test edx, edx
je 0xa1c542
lea eax, [esp + 0x524]
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1c544
xor eax, eax
lea ecx, [esp + 0x524]
push eax
push ecx
lea ecx, [esp + 0xa0]
call fcn.00a15880
lea ecx, [esp + 0x13b8]
call fcn.00a155c0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 0x23
call fcn.00a155c0
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 0x24
call fcn.00a155c0
lea edx, [esp + 0x13a8]
push 0
push edx
push 0x20
lea ecx, [esp + 0xa4]
mov byte [esp + 0x1e38], 0x25
call fcn.00a15640
push eax
call fcn.00a2ea30
add esp, 0x10
test al, al
je 0xa1c89c
cmp dword [esp + 0x13a8], 2
je 0xa1c89c
lea ecx, [esp + 0x98]
call fcn.00a15640
push eax
call fcn.00a797a0
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x2c], edi
je 0xa1c89c
mov eax, dword [0xa918f4]
lea ecx, [esp + 0xd78]
push eax
push 0
push ecx
lea ecx, [esp + 0x754]
call fcn.00a151b0
lea edx, [esp + 0x524]
mov byte [esp + 0x1e2c], 0x26
push edx
call fcn.00a7e07a
push 0xaa5340
mov esi, eax
call fcn.00a7e07a
add esp, 8
sub esi, eax
lea eax, [esp + 0x524]
lea ecx, [esp + 0x748]
push esi
push eax
call fcn.00a15880
lea ecx, [esp + 0x60]
push ecx
mov ecx, edi
call fcn.00a7acc0
lea edx, [esp + 0x958]
lea eax, [esp + 0x60]
push edx
push eax
call fcn.00a79a10
add esp, 8
lea ecx, [esp + 0x958]
push ecx
lea ecx, [esp + 0x74c]
call fcn.00a15640
push eax
push str.SxS:_Need_to_rename_policy_file__ls_to__ls_n
call fcn.009fe320
add esp, 0xc
lea ecx, [esp + 0x748]
call fcn.00a15640
push eax
call fcn.00a7e07a
lea edx, [esp + 0x95c]
mov esi, eax
push edx
call fcn.00a7e07a
add esi, eax
lea eax, [esi + esi + 4]
push eax
call fcn.009ef3a0
add esp, 0xc
lea ecx, [esp + 0x748]
mov dword [esp + 0x10], eax
call fcn.00a15640
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.00a7e270
mov eax, dword [esp + 0x18]
add esp, 8
lea edx, [esp + 0x958]
push edx
push eax
call fcn.00a7e07a
mov ecx, dword [esp + 0x18]
add esp, 4
lea edx, [ecx + eax*2 + 2]
push edx
call fcn.00a7e270
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub eax, esi
add esp, 8
sar eax, 2
cmp eax, 1
jae 0xa1c7dc
lea ecx, [esp + 0x14]
call fcn.00a1da30
cmp eax, 1
jbe 0xa1c72e
lea ecx, [esp + 0x14]
call fcn.00a1da30
mov edi, eax
jmp 0xa1c733
mov edi, 1
lea ecx, [esp + 0x14]
call fcn.00a1da30
mov ebx, eax
add ebx, edi
mov eax, ebx
jns 0xa1c746
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.009ef380
mov edx, dword [esp + 0x1c]
add esp, 4
mov edi, eax
lea ecx, [esp + 0x14]
push edi
push esi
push edx
call fcn.00a0f290
mov ebp, eax
lea eax, [esp + 0x10]
push eax
push 1
push ebp
lea ecx, [esp + 0x20]
call fcn.00a03890
mov ecx, dword [esp + 0x1c]
add ebp, 4
push ebp
push ecx
push esi
lea ecx, [esp + 0x20]
call fcn.00a0f290
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.009ee060
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00a7d8f0
lea edx, [edi + ebx*4]
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], edx
call fcn.00a1da30
mov ebx, dword [esp + 0x30]
lea eax, [edi + eax*4 + 4]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov ebp, 4
jmp 0xa1c878
xor eax, eax
mov dword [esp + 0x2c], eax
sar eax, 2
cmp eax, 1
jae 0xa1c833
lea ecx, [esi + 4]
push ecx
push esi
push esi
lea ecx, [esp + 0x20]
call fcn.00a0f290
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov ecx, eax
push edx
sub ecx, esi
mov edx, 1
sar ecx, 2
sub edx, ecx
lea ecx, [esp + 0x18]
push edx
push eax
call fcn.00a03890
mov ecx, dword [esp + 0x1c]
mov eax, esi
cmp esi, ecx
je 0xa1c874
mov edx, dword [esp + 0x10]
mov dword [eax], edx
add eax, ebp
cmp eax, ecx
jne 0xa1c825
jmp 0xa1c874
lea eax, [esi - 4]
push esi
push esi
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], eax
call fcn.00a0f290
mov eax, dword [esp + 0x1c]
mov ecx, eax
add eax, 0xfffffffc
cmp esi, eax
je 0xa1c85f
sub eax, ebp
sub ecx, ebp
cmp eax, esi
mov edx, dword [eax]
mov dword [ecx], edx
jne 0xa1c853
lea ecx, [esi + 4]
mov eax, esi
cmp esi, ecx
je 0xa1c874
mov edx, dword [esp + 0x10]
mov dword [eax], edx
add eax, ebp
cmp eax, ecx
jne 0xa1c868
add dword [esp + 0x1c], ebp
mov ecx, edi
call fcn.00a79760
push edi
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0x748]
mov byte [esp + 0x1e2c], 0x25
call fcn.00a155e0
lea ecx, [esp + 0x17d8]
mov byte [esp + 0x1e2c], 0x28
call fcn.00a155e0
lea ecx, [esp + 0x15c8]
mov byte [esp + 0x1e2c], 0x27
call fcn.00a155e0
lea ecx, [esp + 0x13b8]
mov byte [esp + 0x1e2c], 0x22
call fcn.00a155e0
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], 0x21
call fcn.00a155e0
lea eax, [esp + 0x4f8]
push eax
push ebx
call fcn.009f4e90
test eax, eax
jne 0xa1c501
push ebx
call fcn.009f50a0
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x1198]
mov byte [esp + 0x1e2c], 0x20
call fcn.00a155e0
lea ecx, [esp + 0xd78]
mov byte [esp + 0x1e2c], 0x1f
call fcn.00a155e0
lea ecx, [esp + 0x2a8]
push ecx
push edi
call fcn.009f4e90
test eax, eax
jne 0xa1c3a2
push edi
call fcn.009f50a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov ebp, eax
je 0xa1cae1
mov bl, 0x29
mov esi, dword [ebp]
push esi
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x4f8]
lea edi, [esi + eax*2 + 2]
push esi
call fcn.00a152e0
mov edx, 0xaa5340
mov byte [esp + 0x1e2c], bl
test edx, edx
je 0xa1c99c
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c99e
xor eax, eax
push eax
push 0xaa5340
lea ecx, [esp + 0x500]
call fcn.00a15880
mov eax, dword [0xa918f4]
lea ecx, [esp + 0xf88]
push eax
push 0
push ecx
lea ecx, [esp + 0xa4]
call fcn.00a151b0
mov edx, str.Manifests
mov byte [esp + 0x1e2c], 0x2a
test edx, edx
je 0xa1c9e8
push edx
call fcn.00a7e07a
add esp, 4
jmp 0xa1c9ea
xor eax, eax
push 0x5c
push 1
push eax
push str.Manifests
lea ecx, [esp + 0xa8]
call fcn.00a15880
mov ecx, eax
call fcn.00a15770
test edi, edi
mov esi, eax
je 0xa1ca18
push edi
call fcn.00a7e07a
add esp, 4
jmp 0xa1ca1a
xor eax, eax
push eax
push edi
mov ecx, esi
call fcn.00a15880
mov esi, eax
mov eax, str..Manifest
test eax, eax
je 0xa1ca39
push eax
call fcn.00a7e07a
add esp, 4
jmp 0xa1ca3b
xor eax, eax
push eax
push str..Manifest
mov ecx, esi
call fcn.00a15880
push 1
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
call fcn.00a31280
test eax, eax
jne 0xa1ca9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [esp + 0x9c]
call fcn.00a15640
push eax
lea ecx, [esp + 0x500]
call fcn.00a15640
push eax
push str._SxS:_Failed_to_rename_policy_file__ls_to__ls__error__d_n
call fcn.009fe320
add esp, 0x10
mov eax, dword [ebp]
push eax
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0x98]
mov byte [esp + 0x1e2c], bl
call fcn.00a155e0
lea ecx, [esp + 0x4f8]
mov byte [esp + 0x1e2c], 0x1f
call fcn.00a155e0
mov eax, dword [esp + 0x1c]
add ebp, 4
cmp ebp, eax
jne 0xa1c964
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xb68]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1e2c], 0x10
call fcn.00a155e0
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
pop ebx
je 0xa1cb3b
lea ecx, [esp + 0x34]
push 4
push ecx
push 4
push esi
push str.Platform
push eax
call fcn.00a41670
add esp, 0x18
cmp eax, esi
je 0xa1cb2e
push eax
push str._SxS:_Unable_to_save_new_platform__error__d_n
call fcn.009fe320
add esp, 8
mov edx, dword [esp + 0x20]
push edx
call fcn.00a41390
add esp, 4
lea ecx, [esp + 0x1a08]
mov byte [esp + 0x1e28], 2
call fcn.00a155e0
mov eax, dword [esp + 0x14]
push eax
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0xf84]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov byte [esp + 0x1e28], 0
call fcn.00a155e0
lea ecx, [esp + 0x40]
mov dword [esp + 0x1e28], 0xffffffff
call fcn.00a51780
mov ecx, dword [esp + 0x1e20]
pop esi
pop edi
pop ebp
mov dword fs:[0], ecx
add esp, 0x1e20
ret