Function at 0x57d504
Capabilities:
Manipulate boot configuration

Disassembly:
push ebp
sub esp, 0x8c
lea ebp, [esp - 4]
mov eax, dword [0x6e1760]
xor eax, ebp
mov dword [ebp + 0x8c], eax
push 0x16c
mov eax, 0x621bea
call fcn.00409179
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x98]
mov esi, dword [ebp + 0x9c]
xor ebx, ebx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ebx
push str.enumBootIniPaths
push dword [0x6f4a1c]
xor edi, edi
inc edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], edi
call fcn.00553a91
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x1c]
push esi
lea eax, [ebp]
push eax
mov byte [ebp - 4], 3
call fcn.0057d459
cmp dword [ebp + 0x14], ebx
mov byte [ebp - 4], 4
jbe 0x57d58a
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x58]
call fcn.004d50c2
mov ecx, dword [ebp + 0xa0]
cmp ecx, ebx
jne 0x57d5a8
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x58]
push eax
call fcn.004ae18e
mov dword [ebp - 0x14], edi
jmp 0x57d8fe
lea eax, [ebp - 0x60]
push eax
call fcn.00517c9c
mov esi, dword [ebp - 0x60]
push ebx
push 0xfffd
mov byte [ebp - 4], 5
call fcn.0042c71e
pop ecx
push eax
lea eax, [ebp - 0xd4]
push str.Objects
push eax
call fcn.004e6e76
add esp, 0x10
mov edx, dword [esi]
push edi
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
mov byte [ebp - 4], 6
call dword [edx + 4]
push ebx
push edi
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 8
call fcn.004034e8
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
jne 0x57d616
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x58]
push eax
call fcn.004ae18e
mov dword [ebp - 0x14], edi
jmp 0x57d8e6
mov eax, dword [ecx]
mov dword [ebp - 0x2c], ebx
call dword [eax + 0x48]
test eax, eax
jbe 0x57d8d7
push ebx
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x88], 7
call fcn.00402891
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
lea edx, [ebp + 0x70]
push edx
push edi
push dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
push edx
mov byte [ebp - 4], 9
call dword [eax + 0x4c]
cmp dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0xa
je 0x57d8a9
lea eax, [ebp - 0x18]
push eax
push ecx
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
mov dword [ebp - 0x18], ebx
call fcn.0055dca4
mov ecx, dword [ebp - 0x1c]
call fcn.005793f0
cmp al, bl
je 0x57d8a9
cmp dword [ebp - 0x18], 0x10300006
jne 0x57d8a9
mov esi, dword [ebp - 0x28]
push ebx
push 0xfffd
call fcn.0042c71e
pop ecx
push eax
lea eax, [ebp - 0xf0]
push str.Description
push eax
call fcn.004e6e76
add esp, 0x10
mov edx, dword [esi]
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0xb
call dword [edx + 4]
push ebx
push edi
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xd
call fcn.004034e8
cmp dword [ebp - 0x3c], ebx
je 0x57d89d
lea ecx, [ebp - 0x9c]
call fcn.005e230b
mov esi, dword [ebp - 0x3c]
push ebx
push 0xfffd
mov byte [ebp - 4], 0xe
call fcn.0042c71e
pop ecx
push eax
lea eax, [ebp + 0x54]
push str.Type
push eax
call fcn.004e6e76
add esp, 0x10
mov edx, dword [esi]
or dword [ebp - 0x14], 2
lea ecx, [ebp - 0x9c]
push ecx
push eax
mov ecx, esi
mov byte [ebp - 4], 0xf
call dword [edx + 0x1c]
test al, al
je 0x57d74a
cmp dword [ebp - 0x88], 4
jne 0x57d74a
lea ecx, [ebp - 0x9c]
call fcn.005e21fd
cmp eax, 0x10300006
mov byte [ebp - 0xd], bl
je 0x57d74e
mov byte [ebp - 0xd], 1
test byte [ebp - 0x14], 2
mov dword [ebp - 4], 0xe
je 0x57d769
and dword [ebp - 0x14], 0xfffffffd
push ebx
push edi
lea ecx, [ebp + 0x54]
call fcn.004034e8
cmp byte [ebp - 0xd], bl
jne 0x57d88e
lea eax, [ebp - 0x9c]
push eax
push 0x11000001
push ecx
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.0055dca4
mov ecx, dword [ebp - 0x1c]
call fcn.0057b6d7
cmp al, bl
je 0x57d88e
cmp dword [ebp - 0x88], 3
jne 0x57d88e
cmp dword [ebp - 0x8c], 0x3c
jb 0x57d88e
mov esi, dword [ebp - 0x98]
push dword [esi + 0x38]
mov ecx, dword [ebp - 0x1c]
add esi, 0x20
lea eax, [ebp + 0x38]
push eax
call fcn.0057c286
or dword [ebp - 0x18], 0xffffffff
cmp dword [ebp + 0x4c], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
je 0x57d7ed
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x30], eax
push 7
pop esi
push ebx
lea ecx, [ebp + 0x1c]
mov dword [ebp + 0x34], esi
call fcn.00402891
cmp dword [ebp + 0x4c], ebx
mov byte [ebp - 4], 0x11
je 0x57d9fd
cmp dword [ebp - 0x18], ebx
jg 0x57d822
cmp dword [ebp - 0x30], ebx
jl 0x57d9fd
jg 0x57d822
cmp dword [ebp - 0x34], ebx
jbe 0x57d9fd
push ebx
lea ecx, [ebp + 0x54]
mov dword [ebp + 0x6c], esi
call fcn.00402891
cmp dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x12
jle 0x57d852
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + 0x54]
push eax
push dword [ebp - 0x18]
lea eax, [ebp + 0x38]
push eax
call fcn.0057c795
test al, al
jne 0x57d94e
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + 0x54]
push eax
push dword [ebp - 0x30]
lea eax, [ebp + 0x38]
push dword [ebp - 0x34]
push eax
call fcn.0057c374
test al, al
jne 0x57d94e
push ebx
push edi
lea ecx, [ebp + 0x54]
call fcn.004034e8
push ebx
push edi
lea ecx, [ebp + 0x1c]
call fcn.004034e8
push ebx
push edi
lea ecx, [ebp + 0x38]
call fcn.004034e8
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0xd
call fcn.005e2364
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xa
call fcn.004d6118
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.004d6118
push ebx
push edi
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 8
call fcn.004034e8
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
inc dword [ebp - 0x2c]
call dword [eax + 0x48]
cmp dword [ebp - 0x2c], eax
jb 0x57d626
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x58]
push eax
call fcn.004ae18e
or dword [ebp - 0x14], edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.004d6118
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 4
call fcn.004d6118
push ebx
push edi
lea ecx, [ebp]
call fcn.004034e8
lea ecx, [ebp - 0x58]
call fcn.0043772f
lea ecx, [ebp - 0x40]
call fcn.00553477
lea ecx, [ebp + 0xa0]
mov byte [ebp - 4], bl
call fcn.0057817b
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x8c]
xor ecx, ebp
call fcn.0040916a
add ebp, 0x90
leave
ret 0x10
push edi
push 3
lea ecx, [ebp - 0x178]
call fcn.0042c368
push ebx
push 0xfffd
mov byte [ebp - 4], 0x13
call fcn.0042c71e
pop ecx
push eax
lea eax, [ebp - 0xb8]
push str._boot.ini
push eax
call fcn.004e6e76
add esp, 0x10
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp - 0x170]
push eax
mov byte [ebp - 4], 0x14
call fcn.00579fe0
pop ecx
pop ecx
push eax
call fcn.00579fe0
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x13
call fcn.004034e8
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x178]
call fcn.0042b196
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x15
call fcn.00420a4f
push ebx
push edi
lea ecx, [ebp - 0xb8]
call fcn.004034e8
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x12
call fcn.00420963
push ebx
push edi
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x11
call fcn.004034e8
cmp dword [ebp + 0x30], ebx
je 0x57d87a
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.004d50c2
jmp 0x57d87a