Function at 0x138ef4
Capabilities:
Manipulate boot configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x146b
push 0
push 0
dec ecx
jne 0x138efd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00014218
mov eax, dword [ebp - 0xc]
call fcn.00014218
mov eax, dword [ebp + 0x14]
call fcn.00014218
mov eax, dword [ebp + 0xc]
call fcn.00014218
lea eax, [ebp - 0x88]
mov edx, dword [0xbdc44]
call fcn.00014858
mov ecx, 0x2710
lea eax, [ebp - 0x9fa4]
mov edx, dword [0x110d0]
call fcn.00014884
lea eax, [ebp - 0xa4]
mov edx, dword [0xbdde4]
call fcn.00014858
lea eax, [ebp - 0xa10c]
mov edx, dword [0x63db8]
call fcn.00014858
xor eax, eax
push ebp
push 0x13d854
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x149c70]
mov eax, dword [eax]
mov edx, 0x13d870
call fcn.00065094
xor edx, edx
push ebp
push 0x13d54a
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x149c20]
mov eax, dword [eax]
mov edx, 0x13d890
call fcn.00064894
mov dl, 1
mov eax, dword [0xe0e00]
call fcn.00013014
mov dword [ebp - 0xb8], eax
mov dl, 1
mov eax, dword [0x136790]
call fcn.00013014
mov dword [ebp - 0xbc], eax
mov dl, 1
mov eax, dword [0xbde74]
call fcn.00013014
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0xcf000]
call fcn.00013014
mov dword [ebp - 0x30], eax
mov dl, 1
mov eax, dword [0xd2d30]
call fcn.00013014
mov dword [ebp - 0x50], eax
mov dl, 1
mov eax, dword [0xd6f70]
call fcn.00013014
mov dword [ebp - 0x64], eax
mov dl, 1
mov eax, dword [0x114560]
call fcn.00013014
mov dword [ebp - 0xc4], eax
mov dl, 1
mov eax, dword [0x8b854]
call fcn.00013014
mov dword [ebp - 0x54], eax
mov dl, 1
mov eax, dword [0x10f7e4]
call fcn.00013014
mov dword [ebp - 0xb0], eax
mov dl, 1
mov eax, dword [0xda430]
call fcn.00013014
mov dword [ebp - 0xdc], eax
mov dl, 1
mov eax, dword [0x115760]
call fcn.00013014
mov dword [ebp - 0xc8], eax
mov dl, 1
mov eax, dword [0xb9edc]
call fcn.00013014
mov dword [ebp - 0x58], eax
mov dl, 1
mov eax, dword [0xd7414]
call fcn.00013014
mov dword [ebp - 0x60], eax
mov dl, 1
mov eax, dword [0xb86c4]
call fcn.00013014
mov dword [ebp - 0xd0], eax
mov dl, 1
mov eax, dword [0x112014]
call fcn.00013014
mov dword [ebp - 0xe0], eax
mov dl, 1
mov eax, dword [0xd5cf0]
call fcn.00013014
mov dword [ebp - 0x40], eax
mov dl, 1
mov eax, dword [0xd980c]
call fcn.00013014
mov dword [ebp - 0xc0], eax
mov dl, 1
mov eax, dword [0x1048ec]
call fcn.00013014
mov dword [ebp - 0xcc], eax
mov dl, 1
mov eax, dword [0x111a74]
call fcn.00013014
mov dword [ebp - 0xd4], eax
xor eax, eax
mov dword [ebp - 0xec], eax
mov eax, 0x15eb3c
mov edx, dword [0x13724c]
call fcn.00016848
lea eax, [ebp - 0xa110]
mov ecx, dword [ebp - 8]
mov edx, 0x13d8c0
call fcn.000140b0
mov edx, dword [ebp - 0xa110]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
mov eax, dword [ebp - 0xb8]
mov byte [eax + 4], 0
mov edx, dword [ebp - 8]
mov eax, 0x13d8e0
call fcn.00014350
test eax, eax
jg 0x139183
mov edx, dword [ebp - 8]
mov eax, 0x13d8f8
call fcn.00014350
test eax, eax
jg 0x139183
mov edx, dword [ebp - 8]
mov eax, 0x13d910
call fcn.00014350
test eax, eax
jg 0x139183
mov edx, dword [ebp - 8]
mov eax, 0x13d928
call fcn.00014350
test eax, eax
jle 0x1391ab
mov eax, dword [0x149c20]
mov eax, dword [eax]
mov edx, 0x13d940
call fcn.00064894
mov eax, dword [ebp - 0xb8]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0xb8]
call fcn.000e0e74
jmp 0x1391b5
mov eax, dword [ebp - 0xb8]
mov byte [eax + 4], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x84], 0
jne 0x1391d0
lea eax, [ebp - 0x20]
mov edx, 0x13d954
call fcn.00013e7c
jmp 0x1391dd
lea eax, [ebp - 0x20]
mov edx, 0x13d960
call fcn.00013e7c
lea eax, [ebp - 0xa114]
mov ecx, dword [ebp - 8]
mov edx, 0x13d96c
call fcn.000140b0
mov edx, dword [ebp - 0xa114]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x84]
cmp al, 2
je 0x139213
cmp al, 4
jne 0x139272
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7c]
call fcn.00016574
mov esi, eax
dec esi
test esi, esi
jl 0x1392cb
inc esi
xor ebx, ebx
lea edx, [ebp - 0xa118]
mov eax, dword [ebp - 8]
call fcn.0001aef0
mov edx, dword [ebp - 0xa118]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x7c]
mov eax, dword [eax + ebx*8]
call fcn.00014174
jne 0x13926c
mov eax, 0x15eb3c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x7c]
mov edx, dword [edx + ebx*8 + 4]
mov ecx, dword [0x13724c]
call fcn.00016884
jmp 0x1392cb
inc ebx
dec esi
jne 0x13922c
jmp 0x1392cb
mov eax, dword [ebp - 8]
call fcn.0001ac8c
test al, al
je 0x1392a6
lea ecx, [ebp - 0xa11c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0xa11c]
mov eax, 0x15eb3c
mov ecx, dword [0x13724c]
call fcn.00016884
jmp 0x1392cb
lea eax, [ebp - 0xa120]
mov ecx, dword [ebp - 8]
mov edx, 0x13d994
call fcn.000140b0
mov edx, dword [ebp - 0xa120]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
cmp dword [0x15eb3c], 0
jne 0x1392f9
lea eax, [ebp - 0xa124]
mov ecx, dword [ebp - 8]
mov edx, 0x13d9b8
call fcn.000140b0
mov edx, dword [ebp - 0xa124]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
cmp dword [0x15eb3c], 0
je 0x13d534
xor eax, eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x40]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
call fcn.00137ae0
mov dword [ebp - 0x104], 0xffffffff
mov eax, dword [0x15eb3c]
call fcn.00016574
mov dword [0x15eb40], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov byte [0x15eb34], 0
push dword [ebp + 0xc]
push 0x13d9d4
push dword [ebp + 0x14]
mov eax, dword [ebp - 4]
push dword [eax + 0xf8]
push 0x13d9e4
lea eax, [ebp - 0x7c]
mov edx, 5
call fcn.00014124
push 0x13d9f4
push dword [ebp + 0x14]
push 0x13da14
mov eax, dword [ebp - 4]
push dword [eax + 0xf8]
push 0x13da3c
push dword [ebp - 0x7c]
push 0x13da58
lea edx, [ebp - 0xa12c]
mov eax, dword [0x15eb40]
call fcn.0001aa1c
push dword [ebp - 0xa12c]
lea eax, [ebp - 0xa128]
mov edx, 8
call fcn.00014124
mov edx, dword [ebp - 0xa128]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
jmp 0x13d41c
xor eax, eax
push ebp
push 0x13d381
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x139403
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [0x15eb3c]
mov ebx, dword [edx + eax*4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x13940f
xor eax, eax
push ebp
push 0x1394cd
push dword fs:[eax]
mov dword fs:[eax], esp
test ebx, ebx
je 0x139445
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [0x15eb3c]
mov ecx, dword [edx + eax*4]
mov eax, dword [0x149c20]
mov eax, dword [eax]
mov edx, dword [ebp + 0x10]
call fcn.00064ae4
jmp 0x1394c3
push 0x13da74
lea edx, [ebp - 0xa134]
mov eax, dword [ebp + 0x10]
call fcn.0001aa1c
push dword [ebp - 0xa134]
push 0x13daa4
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [0x15eb3c]
mov eax, dword [edx + eax*4]
lea edx, [ebp - 0xa138]
call fcn.0001aa1c
push dword [ebp - 0xa138]
push 0x13dab4
lea edx, [ebp - 0xa13c]
mov eax, dword [ebp - 0x10]
call fcn.0001aa1c
push dword [ebp - 0xa13c]
push 0x13dad4
lea eax, [ebp - 0xa130]
mov edx, 7
call fcn.00014124
mov edx, dword [ebp - 0xa130]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1394d7
mov ebx, dword [ebp - 0x10]
lea ebx, [ebx + ebx*4]
mov eax, dword [0x15eb3c]
cmp dword [eax + ebx*4], 0x187
jne 0x1394f5
mov dword [ebp - 0xec], 0xffffffff
mov eax, dword [0x15eb3c]
movzx eax, word [eax + ebx*4 + 4]
lea edx, [ebp - 0xa144]
call fcn.0001aa1c
mov ecx, dword [ebp - 0xa144]
lea eax, [ebp - 0xa140]
mov edx, 0x13dae0
call fcn.000140b0
mov edx, dword [ebp - 0xa140]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
mov ebx, dword [ebp - 0x10]
lea ebx, [ebx + ebx*4]
mov eax, dword [0x15eb3c]
mov esi, dword [eax + ebx*4 + 8]
test esi, esi
je 0x139598
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [0x15eb3c]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x139598
mov eax, dword [0x15eb3c]
mov eax, dword [eax + ebx*4 + 8]
lea edx, [ebp - 0xa14c]
call fcn.00024b10
mov ecx, dword [ebp - 0xa14c]
lea eax, [ebp - 0xa148]
mov edx, 0x13daf4
call fcn.000140b0
mov edx, dword [ebp - 0xa148]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
mov eax, dword [0x15eb3c]
movzx eax, word [eax + ebx*4 + 4]
cmp eax, 0x3da
ja 0x13d2f6
mov al, byte [eax + 0x1395bf]
and eax, 0xff
jmp dword [eax*4 + 0x13999a]
push 0x13de04
lea edx, [ebp - 0xa344]
mov eax, dword [ebp + 0x10]
call fcn.0001aa1c
push dword [ebp - 0xa344]
push 0x13daa4
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [0x15eb3c]
mov eax, dword [edx + eax*4]
lea edx, [ebp - 0xa348]
call fcn.0001aa1c
push dword [ebp - 0xa348]
push 0x13dab4
lea edx, [ebp - 0xa34c]
mov eax, dword [ebp - 0x10]
call fcn.0001aa1c
push dword [ebp - 0xa34c]
push 0x13dad4
lea eax, [ebp - 0xa340]
mov edx, 7
call fcn.00014124
mov edx, dword [ebp - 0xa340]
mov eax, dword [0x149c20]
mov eax, dword [eax]
call fcn.00064894
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x13d419
inc dword [ebp - 0x10]
mov eax, dword [0x15eb40]
dec eax
cmp eax, dword [ebp - 0x10]
jge 0x1393ce
cmp dword [ebp + 0x10], 0x457
je 0x13d44f
cmp dword [ebp + 0x10], 0x41b
je 0x13d44f
cmp dword [ebp + 0x10], 0x461
je 0x13d44f
cmp dword [ebp + 0x10], 0x463
jne 0x13d4a5
cmp dword [ebp - 0xec], 0
jne 0x13d4a5
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov ecx, 0x13de5c
mov eax, dword [ebp - 0x50]
call fcn.000d2d88
test al, al
je 0x13d48b
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x187
mov edx, 0x13d960
mov eax, dword [ebp - 4]
call fcn.00143728
jmp 0x13d4a5
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x187
mov edx, 0x13d954
mov eax, dword [ebp - 4]
call fcn.00143728
cmp dword [ebp + 0x10], 0x523
je 0x13d4c9
cmp dword [ebp + 0x10], 0x53e
je 0x13d4c9
cmp dword [ebp + 0x10], 0x573
je 0x13d4c9
cmp dword [ebp + 0x10], 0x583
jne 0x13d51f
cmp dword [ebp - 0xec], 0
jne 0x13d51f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov ecx, 0x13de70
mov eax, dword [ebp - 0x50]
call fcn.000d2d88
test al, al
je 0x13d505
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x187
mov edx, 0x13d960
mov eax, dword [ebp - 4]
call fcn.00143728
jmp 0x13d51f
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, 0x187
mov edx, 0x13d954
mov eax, dword [ebp - 4]
call fcn.00143728
mov al, byte [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x40]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
call fcn.00138628
mov eax, dword [0x149c70]
mov eax, dword [eax]
call fcn.000650e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x13d5aa
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x13d85e
lea eax, [ebp - 0xa35c]
mov edx, 0xc
call fcn.00013e08
lea eax, [ebp - 0xa32c]
mov edx, dword [0xe0de4]
call fcn.00016848
lea eax, [ebp - 0xa328]
mov edx, 2
call fcn.00013e08
lea eax, [ebp - 0xa320]
mov edx, dword [0xcefc8]
call fcn.00016848
lea eax, [ebp - 0xa31c]
mov edx, 2
call fcn.00013e08
lea eax, [ebp - 0xa314]
mov edx, dword [0xcefc8]
call fcn.00016848
lea eax, [ebp - 0xa310]
mov edx, 2
call fcn.00013e08
lea eax, [ebp - 0xa308]
mov edx, dword [0xcefc8]
call fcn.00016848
lea eax, [ebp - 0xa304]
mov edx, 2
call fcn.00013e08
lea eax, [ebp - 0xa2fc]
mov edx, dword [0xcefc8]
call fcn.00016848
lea eax, [ebp - 0xa2f8]
mov edx, 0x11
call fcn.00013e08
lea eax, [ebp - 0xa2b4]
call fcn.00015e34
lea eax, [ebp - 0xa2a4]
mov edx, 0x10
call fcn.00013e08
lea eax, [ebp - 0xa264]
mov edx, dword [0xe0de4]
mov ecx, 3
call fcn.00014950
lea eax, [ebp - 0xa258]
mov edx, 0x23
call fcn.00013e08
lea eax, [ebp - 0xa1cc]
mov edx, dword [0x10f73c]
mov ecx, 2
call fcn.00014950
lea eax, [ebp - 0xa1ac]
call fcn.00013de4
lea eax, [ebp - 0xa1a8]
call fcn.00013de4
lea eax, [ebp - 0xa1a4]
call fcn.00015e34
lea eax, [ebp - 0xa194]
mov edx, 0x1e
call fcn.00013e08
lea eax, [ebp - 0xa11c]
mov edx, dword [0x13724c]
call fcn.00016848
lea eax, [ebp - 0xa118]
mov edx, 3
call fcn.00013e08
lea eax, [ebp - 0xa10c]
mov edx, dword [0x63db8]
call fcn.00014924
lea eax, [ebp - 0x9fa4]
mov ecx, 0x2710
mov edx, dword [0x110d0]
call fcn.00014950
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.00013e08
lea eax, [ebp - 0xe8]
mov edx, dword [0x138ee0]
call fcn.00016848
lea eax, [ebp - 0xe4]
mov edx, dword [0x10f7bc]
call fcn.00016848
lea eax, [ebp - 0xd8]
mov edx, dword [0xe0d90]
call fcn.00016848
lea eax, [ebp - 0xa8]
mov edx, dword [0xbde50]
call fcn.00016848
lea eax, [ebp - 0xa4]
mov edx, dword [0xbdde4]
call fcn.00014924
lea eax, [ebp - 0x90]
mov edx, dword [0xcefc8]
mov ecx, 2
call fcn.00014950
lea eax, [ebp - 0x88]
mov edx, dword [0xbdc44]
call fcn.00014924
lea eax, [ebp - 0x80]
mov edx, 7
call fcn.00013e08
lea eax, [ebp - 0x5c]
mov edx, dword [0xd73f4]
call fcn.00016848
lea eax, [ebp - 0x4c]
mov edx, dword [0xd2d10]
mov ecx, 3
call fcn.00014950
lea eax, [ebp - 0x38]
mov edx, dword [0xcef5c]
call fcn.00016848
lea eax, [ebp - 0x34]
mov edx, dword [0xcef14]
call fcn.00016848
lea eax, [ebp - 0x2c]
mov edx, dword [0xbdc28]
call fcn.00016848
lea eax, [ebp - 0x28]
mov edx, dword [0xbdbd0]
call fcn.00016848
lea eax, [ebp - 0x20]
call fcn.00013de4
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00013e08
lea eax, [ebp + 0xc]
call fcn.00013de4
lea eax, [ebp + 0x14]
call fcn.00013de4
ret