Function at 0x407547
Capabilities:
Manipulate boot configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push 8
call fcn.00419c02
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4c2860
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.00419c02
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x4c2860
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 8
call fcn.00419c02
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, 0x4c2860
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.00419c02
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, eax
mov esi, 0x4c2860
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
push 8
call fcn.00419c02
add esp, 4
mov dword [ebp - 0x28], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 4]
push eax
call fcn.00409d98
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40763a
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x407636
imul eax, dword [ebx]
jmp 0x40762b
mov ecx, eax
test ecx, ecx
je 0x407659
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x407652
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x407640
call fcn.00419bfc
add esp, 4
mov eax, 0x4c2860
mov dword [ebp - 8], eax
push dword [ebp + 8]
call fcn.0040b23f
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x40768d
mov eax, 0x4d57ec
jmp 0x409c03
mov ebx, dword [ebp - 4]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x4076b1
mov eax, 0x4d57fa
jmp 0x409c03
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x407855
mov ebx, dword [ebp - 4]
call fcn.00402902
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40784d
mov ebx, dword [ebp - 4]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x40770e
push 0x1c0
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40772b
push 0x1c0
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp - 0x38]
call fcn.00407309
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
call fcn.0040c17e
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40775f
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x407845
mov ebx, dword [ebp - 4]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x407790
push 0x1f0
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4077ad
push 0x1f0
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 8]
push eax
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x40], ebx
call fcn.00401297
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4077fa
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00419c14
add esp, 8
mov dword [ebp - 8], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
test eax, eax
je 0x40783d
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
jmp 0x407845
pop eax
pop ebx
pop ecx
jmp 0x4076d9
add esp, 0xc
jmp 0x4078fc
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
push eax
mov ebx, eax
call fcn.00401297
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x4078b2
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x4078a6
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x407889
pop eax
push eax
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4078d1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4078cd
imul eax, dword [ebx]
jmp 0x4078c2
mov ecx, eax
test ecx, ecx
je 0x4078f0
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x4078e9
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4078d7
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 8]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x407920
mov eax, 0x4d5807
jmp 0x409c03
mov ebx, dword [ebp - 8]
call fcn.00402902
xor ecx, ecx
push eax
lea eax, [ebp - 0x10]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x407b67
mov ebx, dword [ebp - 8]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x407966
push 0x36d
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407983
push 0x36d
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
call fcn.0040c2e3
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jne 0x407a88
mov ebx, dword [ebp - 8]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x4079d3
push 0x393
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4079f0
push 0x393
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0x14]
push eax
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x40], ebx
call fcn.00401297
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x407a3d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00419c14
add esp, 8
mov dword [ebp - 0x14], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
test eax, eax
je 0x407a80
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
jmp 0x407b5f
mov ebx, dword [ebp - 8]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x10]
dec eax
jns 0x407aaf
push 0x3bc
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407acc
push 0x3bc
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0x18]
push eax
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x40], ebx
call fcn.00401297
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x407b19
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.00419c14
add esp, 8
mov dword [ebp - 0x18], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
test eax, eax
je 0x407b5c
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
pop eax
pop ebx
pop ecx
jmp 0x407931
add esp, 0xc
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407ba2
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407bbe
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x407c3b
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407c00
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x407c13
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41b8a0
call fcn.00419c08
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407c36
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x407c3b
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoft_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407c73
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407c8f
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x407d0c
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoft_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407cd1
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x407ce4
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41b8a0
call fcn.00419c08
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407d07
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x407d0c
mov ebx, dword [ebp - 0x14]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x408870
mov ebx, dword [ebp - 0x18]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x407d3b
jmp 0x408861
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:__mbr
push dword [ebp - 0x38]
push str.__NT52
push dword [0x9384fc]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407d7e
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x407da2
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407db2
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407dea
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407e06
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x407e15
jmp 0x407ee2
mov ebx, dword [ebp - 0x18]
call fcn.00401297
mov eax, 0
cmp eax, ecx
jl 0x407e3d
push 0x80d
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp - 0x38]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push str.:_boot.ini
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407e7d
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x44], eax
push str.:_boot.ini
push dword [ebp - 0x44]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x407eb5
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040c6b7
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407ed2
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x407ee2
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x407f1a
push ebx
call fcn.00419bfc
add esp, 4
push 0
lea eax, [ebp - 0x3c]
push eax
call fcn.0040c756
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407f38
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00401297
mov eax, 0
cmp eax, ecx
jl 0x407f60
push 0x910
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp - 0x38]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push str.:NTDETECT.COM
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407fa0
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x44], eax
push str.:NTDETECT.COM
push dword [ebp - 0x44]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x407fd8
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040c6b7
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407ff5
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x408005
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00401297
mov eax, 0
cmp eax, ecx
jl 0x40802d
push 0x9bd
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp - 0x38]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push str.:_ntldr
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40806d
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x44], eax
push str.:_ntldr
push dword [ebp - 0x44]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x4080a5
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0040c6b7
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4080c2
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4080d2
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x40817e
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40811f
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
push 0x4d5790
push VariantClear
push 0
push 0x4d587b
push VariantClear
push 0
push str.boot_loader
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408156
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41c110
call fcn.00419c08
add esp, 0x34
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408179
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x408210
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4081b6
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
push 0x4d588f
push VariantClear
push 0
push 0x4d587b
push VariantClear
push 0
push str.boot_loader
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4081ed
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41c110
call fcn.00419c08
add esp, 0x34
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408210
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408248
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00401297
mov eax, 0
cmp eax, ecx
jl 0x408270
push 0xc41
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
push dword [ebp - 0x40]
call fcn.0040ca77
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x41b3b0
call fcn.00419c08
add esp, 0x10
mov dword [ebp - 0x48], eax
push str._WINDOWS
push dword [ebp - 0x48]
push str.multi_0_disk_0_rdisk_0_partition_
mov ecx, 3
call fcn.004028a6
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4082ca
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4082dd
mov eax, 0x4c2868
push eax
push VariantClear
push 0
push 0x4d58bd
push VariantClear
push 0
push str.boot_loader
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408309
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41c110
call fcn.00419c08
add esp, 0x34
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40832c
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40833c
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00402902
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x4087e7
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x408382
push 0xcc0
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40839f
push 0xcc0
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push 1
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
push 0x9384f4
push dword [ebp - 0x38]
call fcn.0040ccd5
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4083e8
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4083f8
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40840c
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x408423
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41abc0
call fcn.00419c08
add esp, 0x10
mov dword [ebp - 0x38], eax
push 0x4c2868
push dword [ebp - 0x38]
call fcn.004011fa
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408467
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x3c], 0
je 0x408490
mov eax, 0x4d58c5
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x408487
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
jmp 0x408490
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4084b7
push 0xdd7
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4084d4
push 0xdd7
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x38]
call fcn.0040ca77
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x41b3b0
call fcn.00419c08
add esp, 0x10
mov dword [ebp - 0x40], eax
push str._WINDOWS
push dword [ebp - 0x40]
push str.multi_0_disk_0_rdisk_0_partition_
mov ecx, 3
call fcn.004028a6
add esp, 0xc
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40852e
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x408542
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40857e
push ebx
call fcn.00419bfc
add esp, 4
push str.___noexecuteoptin__fastdetect__noexecutealwaysoff__detecthal
push dword [ebp - 0x20]
push 0x4d590e
mov ecx, 3
call fcn.004028a6
add esp, 0xc
mov dword [ebp - 0x40], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x4085ae
mov eax, 0x4c2868
push eax
push VariantClear
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x4085c2
mov eax, 0x4c2868
push eax
push VariantClear
push 0
push str.operating_systems
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4085e2
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41c110
call fcn.00419c08
add esp, 0x34
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408605
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x408615
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push 0x4c3957
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408653
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408669
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40869f
push 0xf7d
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4086bc
push 0xf7d
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
push 1
push dword [ebp - 0x3c]
call fcn.00407309
mov dword [ebp - 0x40], eax
push 0x4c3957
push dword [ebp - 0x40]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4086fc
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408712
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
push 0x9384e4
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e4]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40875f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4087b9
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4087d8
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
pop eax
pop ebx
pop ecx
jmp 0x40834d
add esp, 0xc
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:Boot.ini
push dword [ebp - 0x38]
push str._s_r__h
push dword [0x938500]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40882d
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x408851
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408861
push ebx
call fcn.00419bfc
add esp, 4
mov eax, 0x4c2868
jmp 0x409c03
mov ebx, dword [ebp - 0x14]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jle 0x40888a
jmp 0x408afd
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIBoot_bootx64.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4088c2
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4088de
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x40895b
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIBoot_bootx64.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408920
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408933
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41b8a0
call fcn.00419c08
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408956
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x40895b
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoftBoot_bootmgfw.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408993
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4089af
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x408a2c
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoftBoot_bootmgfw.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4089f1
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408a04
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41b8a0
call fcn.00419c08
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408a27
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x408a2c
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoftBoot_bootmgr.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408a64
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408a80
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x408afd
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoftBoot_bootmgr.efi
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408ac2
push ebx
call fcn.00419bfc
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x408ad5
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41b8a0
call fcn.00419c08
add esp, 0x10
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408af8
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x408afd
push 0x9384ec
mov eax, 0x4c3963
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x4ce3db
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 8]
call fcn.004101f7
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408b35
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408b45
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x408bcb
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:___mbr
push dword [ebp - 0x38]
push str.__NT60
push dword [0x9384fc]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408b92
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x408bb6
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408bc6
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x408bcb
mov ebx, dword [ebp - 0x14]
call fcn.00402902
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x409323
push 0x9384ec
mov eax, 0x4c3963
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
mov eax, 0x4ce3db
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 8]
call fcn.004101f7
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408c22
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x408c32
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 0
jne 0x408c5b
mov eax, str.__f_uefi
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408c52
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
jmp 0x408c75
mov eax, str.__f_bios
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408c71
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x14]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x408c9c
push 0x1698
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408cb9
push 0x1698
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp - 0x38]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push 2
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x14]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x408d08
push 0x1722
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408d25
push 0x1722
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x44], ebx
push dword [ebp - 0x44]
call fcn.0041109d
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x48]
push eax
call fcn.004112c5
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x408d54
push ebx
call fcn.00419bfc
add esp, 4
push dword [ebp - 0x4c]
push str.__l
push dword [ebp - 0x30]
push 0x4c3865
push dword [ebp - 0x40]
push str.:Windows__s
push dword [ebp - 0x3c]
push 0x4c3865
push dword [0x938504]
mov ecx, 9
call fcn.004028a6
add esp, 0x24
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408d9a
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x408daa
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408dba
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x54], 0
push 0
push dword [ebp - 0x54]
lea eax, [ebp - 0x50]
push eax
call fcn.0040a35b
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x408de2
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x408df6
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push 0x4c3957
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x408e38
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408e4e
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x14]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x408e84
push 0x17dc
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408ea1
push 0x17dc
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
push 1
push dword [ebp - 0x3c]
call fcn.00407309
mov dword [ebp - 0x40], eax
push 0x4c3957
push dword [ebp - 0x40]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x408ee1
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408ef7
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.successfully
push VariantClear
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408f2e
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41a320
call fcn.00419c08
add esp, 0x34
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x40901a
push 0x9384e4
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e4]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408f95
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x408fef
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40900e
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
jmp 0x40931b
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push 0x4d59cc
push VariantClear
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40904b
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41a320
call fcn.00419c08
add esp, 0x34
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x409137
push 0x9384e4
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e4]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4090b2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40910c
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40912b
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
jmp 0x40931b
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 1
push 0
push 0
push 0
push VariantClear
push 0
push str.BFSVC_ERROR
push VariantClear
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409168
mov eax, 0x4c2868
push eax
push 4
mov ebx, 0x41a320
call fcn.00419c08
add esp, 0x34
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0xffffffff
je 0x409254
push 0x9384e4
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e4]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4091cf
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409229
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409248
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
jmp 0x40931b
push 0x9384e8
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e8]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40929b
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e8], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4092f5
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409314
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
pop eax
pop ebx
pop ecx
jmp 0x408bdc
add esp, 0xc
mov ebx, dword [ebp - 0x14]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 1
jne 0x409340
jmp 0x4095e2
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409378
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409394
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x409491
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd___timeout_10
push dword [ebp - 0x38]
push 0x4d59f5
push dword [0x938508]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4093e1
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x409405
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409415
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd___displaybootmenu_yes
push dword [ebp - 0x38]
push 0x4d59f5
push dword [0x938508]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409458
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x40947c
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40948c
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x409491
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoft_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4094c9
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4094e5
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x4095e2
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoft_boot_bcd___timeout_10
push dword [ebp - 0x38]
push 0x4d59f5
push dword [0x938508]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409532
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x409556
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409566
push ebx
call fcn.00419bfc
add esp, 4
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:EFIMicrosoft_boot_bcd___displaybootmenu_yes
push dword [ebp - 0x38]
push 0x4d59f5
push dword [0x938508]
mov ecx, 4
call fcn.004028a6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4095a9
push ebx
call fcn.00419bfc
add esp, 4
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a35b
mov ebx, eax
test ebx, ebx
je 0x4095cd
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4095dd
push ebx
call fcn.00419bfc
add esp, 4
jmp 0x4095e2
mov ebx, dword [ebp - 0x18]
call fcn.00402902
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x4095fc
jmp 0x409bf9
mov ebx, dword [ebp - 0x18]
call fcn.00402902
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x409bf6
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409653
push ebx
call fcn.00419bfc
add esp, 4
lea eax, [ebp - 0x3c]
push eax
call fcn.004072cd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40966f
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x40], 1
jne 0x409a24
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4096a0
push 0x1fa3
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4096bd
push 0x1fa3
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x38], ebx
push 1
push 1
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
push 0x9384f4
push dword [ebp - 0x38]
call fcn.0040ccd5
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x409706
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409716
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40972a
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x409741
mov eax, 0x4c2868
push eax
push 1
mov ebx, 0x41abc0
call fcn.00419c08
add esp, 0x10
mov dword [ebp - 0x38], eax
push 0x4c2868
push dword [ebp - 0x38]
call fcn.004011fa
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409785
push ebx
call fcn.00419bfc
add esp, 4
cmp dword [ebp - 0x3c], 0
je 0x4097ae
mov eax, 0x4d58c5
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4097a5
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
jmp 0x4097ae
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x38], eax
push str.:_boot_bcd
push dword [ebp - 0x38]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4097e6
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x40980d
push 0x208d
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40982a
push 0x208d
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x40], ebx
push dword [ebp + 8]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.00411998
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409855
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push 0x4c3957
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409893
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4098a9
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4098df
push 0x2173
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4098fc
push 0x2173
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
push 1
push dword [ebp - 0x3c]
call fcn.00407309
mov dword [ebp - 0x40], eax
push 0x4c3957
push dword [ebp - 0x40]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40993c
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x409952
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
push 0x9384e4
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e4]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40999f
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4099f9
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409a18
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
jmp 0x409bee
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push 1
push dword [ebp + 8]
call fcn.00407309
mov dword [ebp - 0x3c], eax
push 0x4c3957
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409a62
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x409a78
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00401297
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x409aae
push 0x225e
push 0x4016557
push 4
call fcn.00419c0e
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x409acb
push 0x225e
push 0x4016557
push 1
call fcn.00419c0e
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
push 1
push dword [ebp - 0x3c]
call fcn.00407309
mov dword [ebp - 0x40], eax
push 0x4c3957
push dword [ebp - 0x40]
mov ecx, 2
call fcn.004028a6
add esp, 8
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x409b0b
push ebx
call fcn.00419bfc
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x38]
mov ebx, dword [ebx]
test ebx, ebx
je 0x409b21
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
push 0x9384e8
push 4
mov eax, 2
call fcn.00419bf6
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov ebx, dword [0x9384e8]
mov dword [ebp - 0x3c], ebx
call fcn.00401297
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp - 0x3c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409b6e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x40]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x3c]
call fcn.00419c14
add esp, 8
mov dword [0x9384e8], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x40]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x38]
push edi
push eax
push 8
call fcn.00419c02
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409bc8
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x409be7
push eax
mov ebx, eax
call fcn.004012b7
inc eax
push eax
call fcn.00419c02
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
pop eax
pop ebx
pop ecx
jmp 0x40960d
add esp, 0xc
mov eax, 0x4c2868
jmp 0x409c03
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409c22
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409c1e
imul eax, dword [ebx]
jmp 0x409c13
mov ecx, eax
test ecx, ecx
je 0x409c41
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409c3a
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409c28
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409c67
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409c63
imul eax, dword [ebx]
jmp 0x409c58
mov ecx, eax
test ecx, ecx
je 0x409c86
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409c7f
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409c6d
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409cac
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409ca8
imul eax, dword [ebx]
jmp 0x409c9d
mov ecx, eax
test ecx, ecx
je 0x409ccb
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409cc4
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409cb2
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409cf1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409ced
imul eax, dword [ebx]
jmp 0x409ce2
mov ecx, eax
test ecx, ecx
je 0x409d10
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x409d09
push ebx
push eax
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x409cf7
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x409d28
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x409d38
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x409d4c
push ebx
call fcn.00419bfc
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x409d60
push ebx
call fcn.00419bfc
add esp, 4
pop ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x409d79
push ebx
call fcn.00419bfc
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x409d89
push ebx
call fcn.00419bfc
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc