Function at 0x40596b
Capabilities:
Manipulate boot configuration
Query environment variable
Set environment variable
Set file attributes

Disassembly:
push ebp
push ebx
push edi
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.0045e790
mov ebp, 0x46e853
mov dword [esp + 8], ebp
mov ebp, dword [esp + 8]
mov byte [ebp], 0x4d
push 0
call sub.OLE32.DLL_CoInitialize
call fcn.00432bf1
push 0x8938b8
call fcn.0040d3ea
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x462e6c
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.004451b5
call fcn.0044e2f0
push edx
call fcn.0045e620
pop edx
push eax
push 2
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x462e6c
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call sub.kernel32.dll_SetFileAttributesW
call fcn.0044e2f0
push 0
push 0
mov eax, str.7zSfxFolder36
push eax
call sub.kernel32.dll_GetEnvironmentVariableW
and eax, eax
jne 0x405a7b
push 0
push 0
mov eax, str.sfxcmd
push eax
call sub.kernel32.dll_GetEnvironmentVariableW
and eax, eax
je 0x405a73
push 0
push 0
mov eax, str.sfxpar
push eax
call sub.kernel32.dll_GetEnvironmentVariableW
and eax, eax
je 0x405a73
mov eax, 1
jmp 0x405a75
xor eax, eax
and eax, eax
jne 0x405a7b
jmp 0x405a82
mov eax, 1
jmp 0x405a84
xor eax, eax
and eax, eax
je 0x405afd
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e620
pop edx
push eax
call fcn.0044740c
call fcn.0044e2d2
add dword [esp], edx
call fcn.0045b156
mov ebp, dword [0x47356c]
lea eax, [ebp]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
push dword [ebp]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
je 0x405afd
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.WinNTSetup_iso.cmd
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp + 0x30]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
push dword [ebp + 0x30]
call fcn.0045b1e5
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x405b50
jl 0x405b4c
cmp ebx, 0
ja 0x405b50
xor eax, eax
jmp 0x405b55
mov eax, 1
or eax, eax
je 0x405b5d
xor eax, eax
jmp 0x405b62
mov eax, 1
and eax, eax
je 0x405b97
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.ToolsWinNTSetup_iso.cmd
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp + 0x30]
push eax
call fcn.0045e660
push 0
push 0
mov eax, str.WinNTSetup_lng
push eax
call sub.kernel32.dll_GetEnvironmentVariableW
and eax, eax
je 0x405c15
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Lang_
push edx
call fcn.0045e6f0
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e620
pop edx
push eax
mov eax, str.WinNTSetup_lng
push eax
call fcn.00418478
call fcn.0044e2d2
add dword [esp], edx
call fcn.0040c6b6
pop eax
mov edx, str..dll
push edx
call fcn.0045e6f0
mov ebp, dword [0x473554]
lea eax, [ebp + 0x38]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.WinNTSetup.ini
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp + 0x1c]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
push dword [ebp + 8]
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
pop ecx
call fcn.0044e300
jne 0x405ca7
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.WinNTSetup.ini
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x405ca7
mov eax, 1
jmp 0x405ca9
xor eax, eax
and eax, eax
je 0x405cde
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.WinNTSetup.ini
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp + 0x1c]
push eax
call fcn.0045e660
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.00417bc9
and eax, eax
je 0x405cf4
xor eax, eax
jmp 0x405cf9
mov eax, 1
and eax, eax
je 0x405d44
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.ToolsWinNTSetup.ini
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x405d44
mov eax, 1
jmp 0x405d46
xor eax, eax
and eax, eax
je 0x405d7b
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.ToolsWinNTSetup.ini
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
lea eax, [ebp + 0x1c]
push eax
call fcn.0045e660
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsdiskpartenabled1
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x405dcb
mov ebp, dword [0x473558]
mov dword [ebp + 0xe0], 1
push 1
call fcn.00428419
mov ebp, dword [0x47356c]
mov ebx, dword [ebp + 0x20]
cmp ebx, 0x2710
jle 0x405e3a
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x14]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Fonts_segoeui.ttf
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x405e2a
xor eax, eax
jmp 0x405e2f
mov eax, 1
and eax, eax
je 0x405e3a
mov eax, 1
jmp 0x405e3c
xor eax, eax
and eax, eax
je 0x405e45
call fcn.00421f76
call fcn.0040d075
and eax, eax
je 0x405e52
xor eax, eax
jmp 0x405e57
mov eax, 1
and eax, eax
je 0x405ea8
push edx
call fcn.0045e620
pop edx
push eax
push 0
push edx
call fcn.0045e620
pop edx
push eax
push 0x2601
mov eax, 0x465b96
push eax
call fcn.0041182b
call fcn.0045e850
mov eax, str.Oops_
push eax
push 0x40
call fcn.0044e2d2
add dword [esp + 8], edx
call fcn.0040e5f6
call fcn.0044e2f0
jmp 0x401801
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x461b62
push eax
mov eax, str.NoBootMount
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
call fcn.0045e850
mov edx, 0x461b92
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x405eee
xor eax, eax
jmp 0x405ef3
mov eax, 1
and eax, eax
je 0x405f63
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.BootMountExclude
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
lea eax, [esp + 0x10]
push eax
call fcn.0045e660
push dword [esp + 0xc]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
jne 0x405f5e
mov edx, dword [esp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0xb0]
push eax
call fcn.0045e660
call fcn.0042bb02
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsdefaults.ini
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x405fdf
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsdefaults.ini
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0040dbf8
call fcn.0044e2f0
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.unattend
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0041a2ad
call fcn.0044e2f0
and eax, eax
je 0x4060a6
mov ebp, dword [0x473558]
push dword [ebp + 0x14]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
je 0x40606a
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.unattend
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x14]
push eax
call fcn.0045e660
mov ebp, dword [0x473558]
push dword [ebp + 0x18]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
je 0x4060a6
mov ebp, dword [0x473558]
mov edx, dword [ebp + 0x14]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x18]
push eax
call fcn.0045e660
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.Lang
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
lea eax, [esp + 0x10]
push eax
call fcn.0045e660
push dword [esp + 0xc]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
jne 0x40612f
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Lang_
push edx
call fcn.0045e6f0
mov edx, dword [esp + 0x10]
push edx
call fcn.0045e6f0
mov edx, str..dll
push edx
call fcn.0045e6f0
mov ebp, dword [0x473554]
lea eax, [ebp + 0x38]
push eax
call fcn.0045e660
call fcn.0040d123
call fcn.0040e9db
and eax, eax
je 0x406141
xor eax, eax
jmp 0x406146
mov eax, 1
and eax, eax
je 0x40632c
push 0
mov ebp, dword [0x893880]
push dword [ebp + 0x3ec]
push dword [ebp + 0x3e8]
push 0x41
call fcn.0040e5f6
mov ebx, eax
cmp ebx, 1
jne 0x406185
push 0
call fcn.0041ca9c
jmp 0x40632c
mov ebp, dword [0x47356c]
mov ebx, dword [ebp + 0x20]
cmp ebx, 0x1f40
jl 0x406305
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x18]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.wimgapi.dll
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x4061de
xor eax, eax
jmp 0x4061e3
mov eax, 1
and eax, eax
jne 0x4062f6
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x18]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str._bcdboot.exe
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x40622f
xor eax, eax
jmp 0x406234
mov eax, 1
and eax, eax
jne 0x4062e7
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x18]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str._bcdedit.exe
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x406280
xor eax, eax
jmp 0x406285
mov eax, 1
and eax, eax
jne 0x4062d8
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x18]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str._bootsect.exe
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x4062cd
xor eax, eax
jmp 0x4062d2
mov eax, 1
and eax, eax
jne 0x4062d8
jmp 0x4062df
mov eax, 1
jmp 0x4062e1
xor eax, eax
and eax, eax
jne 0x4062e7
jmp 0x4062ee
mov eax, 1
jmp 0x4062f0
xor eax, eax
and eax, eax
jne 0x4062f6
jmp 0x4062fd
mov eax, 1
jmp 0x4062ff
xor eax, eax
and eax, eax
jne 0x406305
jmp 0x40630c
mov eax, 1
jmp 0x40630e
xor eax, eax
and eax, eax
je 0x40632c
mov eax, str.Error_tools_not_provided_
push eax
call fcn.004280d3
call fcn.00402cc4
push 1
jmp 0x401806
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.ToolsWimBootCompress.ini
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x406370
xor eax, eax
jmp 0x406375
mov eax, 1
and eax, eax
je 0x406384
mov eax, str.Optional_FIle_missing:_ToolsWimBootCompress.ini
push eax
call fcn.004280d3
mov ebp, dword [0x473558]
mov dword [ebp + 0xc0], 2
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsx86DISMwofadk.sys
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x4063d8
xor eax, eax
jmp 0x4063dd
mov eax, 1
and eax, eax
jne 0x406439
push edx
call fcn.0045e620
pop edx
push eax
push 0x46ba58
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsx64DISMwofadk.sys
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00422512
call fcn.0045e850
mov edx, str.10.0.14393
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x406439
jmp 0x406440
mov eax, 1
jmp 0x406442
xor eax, eax
and eax, eax
je 0x40646c
mov ebp, dword [0x473558]
mov ebx, dword [ebp + 0xc0]
dec ebx
push ebx
mov ebp, dword [0x473558]
pop eax
mov dword [ebp + 0xc0], eax
mov eax, str.Optional_File_missing:_Toolsx86DISMwofadk.sys
push eax
call fcn.004280d3
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsx64DISMwofadk.sys
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x4064b0
xor eax, eax
jmp 0x4064b5
mov eax, 1
and eax, eax
jne 0x406511
push edx
call fcn.0045e620
pop edx
push eax
push 0x46ba58
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 8]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Toolsx64DISMwofadk.sys
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00422512
call fcn.0045e850
mov edx, str.10.0.14393
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x406511
jmp 0x406518
mov eax, 1
jmp 0x40651a
xor eax, eax
and eax, eax
je 0x406544
mov ebp, dword [0x473558]
mov ebx, dword [ebp + 0xc0]
dec ebx
push ebx
mov ebp, dword [0x473558]
pop eax
mov dword [ebp + 0xc0], eax
mov eax, str.Optional_File_missing:_Toolsx64DISMwofadk.sys
push eax
call fcn.004280d3
mov ebp, dword [0x473558]
mov ebx, dword [ebp + 0xc0]
cmp ebx, 2
je 0x406565
mov ebp, dword [0x473558]
mov dword [ebp + 0xc0], 0
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e620
pop edx
push eax
mov eax, str.PATH
push eax
call fcn.00418478
mov edx, 0x461d0e
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e6f0
call fcn.0045e850
mov eax, str.PATH
push eax
call fcn.0044e2d2
add dword [esp + 4], edx
call sub.kernel32.dll_SetEnvironmentVariableW
call fcn.0044e2f0
mov ebp, dword [0x47356c]
mov eax, dword [ebp + 0xc]
push eax
call sub.kernel32.dll_SetDllDirectoryW
mov ebp, dword [0x47356c]
mov ebx, dword [ebp + 0x20]
cmp ebx, 0x1b58
jge 0x40661f
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.wimgapi.old
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x40661f
mov eax, 1
jmp 0x406621
xor eax, eax
and eax, eax
je 0x40665d
mov eax, str.wimgapi.old
push eax
call fcn.00417f1e
and eax, eax
je 0x406638
xor eax, eax
jmp 0x40663d
mov eax, 1
and eax, eax
je 0x40665b
mov eax, str.Error_loading_wimgapi
push eax
call fcn.004280d3
call fcn.00402cc4
push 1
jmp 0x401806
jmp 0x406693
mov eax, 0x469a0a
push eax
call fcn.00417f1e
and eax, eax
je 0x406670
xor eax, eax
jmp 0x406675
mov eax, 1
and eax, eax
je 0x406693
mov eax, str.Error_loading_wimgapi
push eax
call fcn.004280d3
call fcn.00402cc4
push 1
jmp 0x401806
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.UseWimLIB
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
call fcn.0045e850
mov edx, 0x461b92
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x4066e5
mov ebp, dword [0x473558]
mov dword [ebp + 0xa0], 1
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.ToolTips
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
call fcn.0045e850
mov edx, 0x461b62
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x406739
mov ebp, dword [0x473558]
mov dword [ebp + 0xa8], 0
jmp 0x406749
mov ebp, dword [0x473558]
mov dword [ebp + 0xa8], 1
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.GUIScalePlus
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
lea eax, [esp + 0x10]
push eax
call fcn.0045e660
push dword [esp + 0xc]
mov edx, 0x46105e
pop ecx
call fcn.0044e300
jne 0x4067b7
fld qword [0x47349c]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x14]
call fcn.0044fda0
fld qword [esp]
fxch st(1)
add esp, 8
faddp st(1)
fadd qword [0x46dfc0]
fstp qword [0x47349c]
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.wimlib
push edx
call fcn.0045e6f0
lea eax, [esp + 0x14]
push eax
call fcn.0045e660
mov eax, dword [esp + 0x10]
push eax
call sub.kernel32.dll_SetDllDirectoryW
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.wimliblibwim_.dll
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.004245de
call fcn.0044e2f0
and eax, eax
je 0x406831
xor eax, eax
jmp 0x406836
mov eax, 1
and eax, eax
je 0x40689f
mov ebp, dword [0x473558]
cmp dword [ebp + 0xa0], 0
je 0x40689f
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e620
pop edx
push eax
mov edx, str.Error_loading_wimlib:
push edx
call fcn.0045e6f0
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e6f0
mov edx, str.wimliblibwim.dll
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.004280d3
call fcn.0044e2f0
call fcn.00402cc4
push 1
jmp 0x401806
push 0
call sub.kernel32.dll_SetDllDirectoryW
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0x18]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.diskcopy.dll
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.00417bc9
call fcn.0044e2f0
and eax, eax
je 0x4068ed
xor eax, eax
jmp 0x4068f2
mov eax, 1
and eax, eax
je 0x40690e
mov ebp, dword [0x47356c]
mov ebx, dword [ebp + 0x20]
cmp ebx, 0x2671
jge 0x40690e
mov eax, 1
jmp 0x406910
xor eax, eax
and eax, eax
je 0x406950
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.DiskCopy.dll
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call sub.kernel32.dll_LoadLibraryW
call fcn.0044e2f0
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Bootice.exe
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0045b1e5
call fcn.0044e2f0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x4069a0
jl 0x40699c
cmp ebx, 0
ja 0x4069a0
xor eax, eax
jmp 0x4069a5
mov eax, 1
or eax, eax
je 0x4069df
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Bootice.exe
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x50]
push eax
call fcn.0045e660
jmp 0x406b87
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x466014
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0045b1e5
call fcn.0044e2f0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x406a2f
jl 0x406a2b
cmp ebx, 0
ja 0x406a2f
xor eax, eax
jmp 0x406a34
mov eax, 1
or eax, eax
je 0x406a6e
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x466014
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x50]
push eax
call fcn.0045e660
jmp 0x406b87
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x4622e4
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0045b1e5
call fcn.0044e2f0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x406abe
jl 0x406aba
cmp ebx, 0
ja 0x406abe
xor eax, eax
jmp 0x406ac3
mov eax, 1
or eax, eax
je 0x406afd
mov ebp, dword [0x47356c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, 0x4622e4
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x50]
push eax
call fcn.0045e660
jmp 0x406b87
push edx
call fcn.0045e620
pop edx
push eax
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Booticex86.exe
push edx
call fcn.0045e6f0
call fcn.0044e2d2
add dword [esp], edx
call fcn.0045b1e5
call fcn.0044e2f0
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jg 0x406b4d
jl 0x406b49
cmp ebx, 0
ja 0x406b4d
xor eax, eax
jmp 0x406b52
mov eax, 1
or eax, eax
je 0x406b87
mov ebp, dword [0x47356c]
mov edx, dword [ebp]
push edx
call fcn.0045e620
pop edx
push eax
push edx
call fcn.0045e6f0
mov edx, str.Booticex86.exe
push edx
call fcn.0045e6f0
mov ebp, dword [0x473558]
lea eax, [ebp + 0x50]
push eax
call fcn.0045e660
call fcn.00414f49
push edx
call fcn.0045e620
pop edx
push eax
mov eax, 0x46105e
push eax
mov eax, str.Imdisk
push eax
mov eax, str.Options
push eax
mov ebp, dword [0x47356c]
push dword [ebp + 0x1c]
call fcn.0042bb5b
call fcn.0045e850
mov edx, 0x461b62
pop ecx
push ecx
call fcn.0044e340
mov ecx, eax
call fcn.0044e300
je 0x406bd2
xor eax, eax
jmp 0x406bd7
mov eax, 1
and eax, eax
je 0x406be0
call fcn.00417918
mov ebp, dword [0x473558]
lea eax, [ebp + 0x54]
push eax
call fcn.0041a6d1
xor eax, eax
push dword [esp + 0x10]
call fcn.0045e7f0
push dword [esp + 0xc]
call fcn.0045e7f0
add esp, 0x14
pop edi
pop ebx
pop ebp
ret