Function at 0x42f510
Capabilities:
Create directory
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x466b2c
mov eax, dword fs:[0]
push eax
sub esp, 0x260
mov eax, dword [0x483004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x250], edi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x25c]
push 0
push 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
call fcn.00430980
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x25c]
mov dword [ebp - 4], 0
push eax
push esi
call fcn.004354d0
lea eax, [edi + 0x250]
push 0x104
push eax
mov dword [ebp - 0x26c], eax
call fcn.004333f0
add esp, 0x10
mov dword [ebp - 0x264], 0
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x260], 0
push 0
push 0
call fcn.00430980
mov ebx, eax
mov dword [ebp - 0x264], ebx
mov ecx, dword [ebp - 0x25c]
mov byte [ebp - 4], 1
mov byte [ebp - 0x251], 0
mov byte [ebp - 0x252], 0
mov esi, dword [ecx]
mov byte [ebp - 0x253], 0
mov byte [ebp - 0x249], 0
mov byte [ebp - 0x254], 0
cmp esi, ecx
je 0x42fd93
mov edi, dword [esi + 0x1c]
lea ebx, [esi + 8]
cmp edi, 8
jb 0x42f611
mov eax, dword [ebx]
jmp 0x42f613
mov eax, ebx
mov ecx, 0x468340
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f63e
test dx, dx
je 0x42f63a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f63e
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f618
xor eax, eax
jmp 0x42f643
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f653
mov byte [ebp - 0x251], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f65c
mov eax, dword [ebx]
jmp 0x42f65e
mov eax, ebx
mov ecx, 0x468350
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f689
test dx, dx
je 0x42f685
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f689
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f663
xor eax, eax
jmp 0x42f68e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f69e
mov byte [ebp - 0x252], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f6a7
mov eax, dword [ebx]
jmp 0x42f6a9
mov eax, ebx
mov ecx, str.uninstall_game
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f6d6
test dx, dx
je 0x42f6d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f6d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f6b0
xor eax, eax
jmp 0x42f6db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f6f1
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x209], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f6fa
mov eax, dword [ebx]
jmp 0x42f6fc
mov eax, ebx
mov ecx, str.uninstall_pdlc
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f727
test dx, dx
je 0x42f723
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f727
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f701
xor eax, eax
jmp 0x42f72c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f742
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x20b], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f74b
mov eax, dword [ebx]
jmp 0x42f74d
mov eax, ebx
mov ecx, str._update
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f778
test dx, dx
je 0x42f774
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f778
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f752
xor eax, eax
jmp 0x42f77d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f78d
mov byte [ebp - 0x253], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f796
mov eax, dword [ebx]
jmp 0x42f798
mov eax, ebx
mov ecx, str._repair
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f7c6
test dx, dx
je 0x42f7c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f7c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f7a0
xor eax, eax
jmp 0x42f7cb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f7db
mov byte [ebp - 0x249], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f7e4
mov eax, dword [ebx]
jmp 0x42f7e6
mov eax, ebx
mov ecx, str._autologging
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f816
test dx, dx
je 0x42f812
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f816
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f7f0
xor eax, eax
jmp 0x42f81b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f82b
mov byte [ebp - 0x254], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f834
mov eax, dword [ebx]
jmp 0x42f836
mov eax, ebx
mov ecx, str._norestart
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f866
test dx, dx
je 0x42f862
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f866
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f840
xor eax, eax
jmp 0x42f86b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f881
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x20e], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f88a
mov eax, dword [ebx]
jmp 0x42f88c
mov eax, ebx
mov ecx, str._respawn
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f8b7
test dx, dx
je 0x42f8b3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f8b7
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f891
xor eax, eax
jmp 0x42f8bc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f8d2
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x210], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f8db
mov eax, dword [ebx]
jmp 0x42f8dd
mov eax, ebx
mov ecx, str._keepMaintenanceLog
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f908
test dx, dx
je 0x42f904
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f908
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f8e2
xor eax, eax
jmp 0x42f90d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f923
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x20f], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f92c
mov eax, dword [ebx]
jmp 0x42f92e
mov eax, ebx
mov ecx, str._quiet
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f959
test dx, dx
je 0x42f955
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f959
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f933
xor eax, eax
jmp 0x42f95e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f974
mov eax, dword [ebp - 0x250]
mov byte [eax + 0x211], 1
jmp 0x42fd79
cmp edi, 8
jb 0x42f97d
mov eax, dword [ebx]
jmp 0x42f97f
mov eax, ebx
mov ecx, str._installPath
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42f9aa
test dx, dx
je 0x42f9a6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42f9aa
add eax, 4
add ecx, 4
test dx, dx
jne 0x42f984
xor eax, eax
jmp 0x42f9af
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fa89
mov esi, dword [esi]
cmp esi, dword [ebp - 0x25c]
je 0x42fd87
cmp dword [esi + 0x1c], 8
lea ecx, [esi + 8]
jb 0x42f9d0
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x250]
mov edi, 0x104
add edx, 0x458
mov ebx, edx
lea eax, [edi + 0x7ffffefa]
test eax, eax
je 0x42fa03
movzx eax, word [ecx]
test ax, ax
je 0x42fa03
mov word [ebx], ax
add ecx, 2
add ebx, 2
sub edi, 1
jne 0x42f9e3
test edi, edi
lea eax, [ebx - 2]
cmovne eax, ebx
xor ecx, ecx
mov word [eax], cx
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fa15
sub ecx, edi
sar ecx, 1
mov dword [ebp - 0x268], ecx
je 0x42fd79
mov eax, ecx
mov ecx, 0x5c
cmp word [edx], 0x2f
jne 0x42fa40
mov word [edx], cx
add edx, 2
sub eax, 1
jne 0x42fa37
mov ecx, dword [ebp - 0x268]
test ecx, ecx
je 0x42fd79
mov eax, dword [ebp - 0x250]
cmp word [eax + ecx*2 + 0x456], 0x5c
je 0x42fd79
cmp ecx, 0x102
jae 0x42fd79
mov dword [eax + ecx*2 + 0x458], 0x5c
xor edx, edx
jmp 0x42fd79
cmp edi, 8
jb 0x42fa92
mov eax, dword [ebx]
jmp 0x42fa94
mov eax, ebx
mov ecx, str._pdlcInstallPath
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42fac6
test dx, dx
je 0x42fac2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42fac6
add eax, 4
add ecx, 4
test dx, dx
jne 0x42faa0
xor eax, eax
jmp 0x42facb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fba6
mov esi, dword [esi]
cmp esi, dword [ebp - 0x25c]
je 0x42fd87
cmp dword [esi + 0x1c], 8
lea ecx, [esi + 8]
jb 0x42faec
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x250]
mov edi, 0x104
add edx, 0x660
mov ebx, edx
nop
lea eax, [edi + 0x7ffffefa]
test eax, eax
je 0x42fb20
movzx eax, word [ecx]
test ax, ax
je 0x42fb20
mov word [ebx], ax
add ecx, 2
add ebx, 2
sub edi, 1
jne 0x42fb00
test edi, edi
lea eax, [ebx - 2]
cmovne eax, ebx
xor ecx, ecx
mov word [eax], cx
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fb32
sub ecx, edi
sar ecx, 1
mov dword [ebp - 0x268], ecx
je 0x42fd79
mov eax, ecx
mov ecx, 0x5c
cmp word [edx], 0x2f
jne 0x42fb5d
mov word [edx], cx
add edx, 2
sub eax, 1
jne 0x42fb54
mov ecx, dword [ebp - 0x268]
test ecx, ecx
je 0x42fd79
mov eax, dword [ebp - 0x250]
cmp word [eax + ecx*2 + 0x65e], 0x5c
je 0x42fd79
cmp ecx, 0x102
jae 0x42fd79
mov dword [eax + ecx*2 + 0x660], 0x5c
xor edx, edx
jmp 0x42fd79
cmp edi, 8
jb 0x42fbaf
mov eax, dword [ebx]
jmp 0x42fbb1
mov eax, ebx
push 0xd
push str._desktopIcon
push eax
call fcn.0043a90c
add esp, 0xc
test eax, eax
jne 0x42fc1a
mov ecx, dword [ebx + 0x14]
cmp ecx, 8
jb 0x42fbd1
mov eax, dword [ebx]
jmp 0x42fbd3
mov eax, ebx
cmp word [eax + 0x1a], 0x30
jne 0x42fbf1
mov eax, dword [ebp - 0x250]
mov ecx, 0x30
mov word [eax + 0x216], cx
jmp 0x42fd79
cmp ecx, 8
jb 0x42fbf8
mov ebx, dword [ebx]
cmp word [ebx + 0x1a], 0x31
jne 0x42fd79
mov eax, dword [ebp - 0x250]
mov ecx, 0x31
mov word [eax + 0x216], cx
jmp 0x42fd79
cmp dword [ebx + 0x14], 8
jb 0x42fc24
mov eax, dword [ebx]
jmp 0x42fc26
mov eax, ebx
push 0xf
push str._startmenuIcon
push eax
call fcn.0043a90c
add esp, 0xc
test eax, eax
jne 0x42fc8f
mov ecx, dword [ebx + 0x14]
cmp ecx, 8
jb 0x42fc46
mov eax, dword [ebx]
jmp 0x42fc48
mov eax, ebx
cmp word [eax + 0x1e], 0x30
jne 0x42fc66
mov eax, dword [ebp - 0x250]
mov ecx, 0x30
mov word [eax + 0x22e], cx
jmp 0x42fd79
cmp ecx, 8
jb 0x42fc6d
mov ebx, dword [ebx]
cmp word [ebx + 0x1e], 0x31
jne 0x42fd79
mov eax, dword [ebp - 0x250]
mov ecx, 0x31
mov word [eax + 0x22e], cx
jmp 0x42fd79
mov edi, dword [ebx + 0x14]
cmp edi, 8
jb 0x42fc9b
mov eax, dword [ebx]
jmp 0x42fc9d
mov eax, ebx
mov ecx, str._locale
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42fcc8
test dx, dx
je 0x42fcc4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42fcc8
add eax, 4
add ecx, 4
test dx, dx
jne 0x42fca2
xor eax, eax
jmp 0x42fccd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fd24
mov esi, dword [esi]
cmp esi, dword [ebp - 0x25c]
je 0x42fd87
cmp dword [esi + 0x1c], 8
lea ecx, [esi + 8]
jb 0x42fcea
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x26c]
mov edi, 0x104
lea eax, [edi + 0x7ffffefa]
test eax, eax
je 0x42fd15
movzx eax, word [ecx]
test ax, ax
je 0x42fd15
mov word [edx], ax
add ecx, 2
add edx, 2
sub edi, 1
jne 0x42fcf5
test edi, edi
lea eax, [edx - 2]
cmovne eax, edx
xor ecx, ecx
mov word [eax], cx
jmp 0x42fd79
cmp edi, 8
jb 0x42fd2d
mov eax, dword [ebx]
jmp 0x42fd2f
mov eax, ebx
push 5
push str._Opt:
push eax
call fcn.0043a90c
add esp, 0xc
test eax, eax
jne 0x42fd79
cmp dword [ebx + 0x14], 8
jb 0x42fd4b
mov ebx, dword [ebx]
lea eax, [ebx + 0xa]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402e10
push eax
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 2
call fcn.00430a60
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 1
call fcn.00402d50
mov esi, dword [esi]
cmp esi, dword [ebp - 0x25c]
jne 0x42f602
mov ebx, dword [ebp - 0x264]
mov edi, dword [ebp - 0x250]
push 0x104
push edi
call fcn.004340c0
add esp, 8
cmp byte [ebp - 0x254], 0
je 0x42ffbb
lea ecx, [ebp - 0x218]
mov esi, edi
mov eax, ecx
mov edx, 0x104
sub esi, eax
nop
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x42fdde
movzx eax, word [esi + ecx]
test ax, ax
je 0x42fdde
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x42fdc0
lea eax, [ecx - 2]
mov byte [edi + 0x1290], 1
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x42ff0a
cmp eax, 1
je 0x42ff0a
lea eax, [ebp - 0x230]
push 0x470368
push eax
call fcn.004336d0
add esp, 8
mov eax, dword [ebp - 0x220]
mov byte [ebp - 4], 3
test eax, eax
je 0x42fee1
lea ecx, [eax - 1]
cmp eax, ecx
ja 0x42fe48
push str.invalid_string_position
call fcn.00437919
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
cmp word [eax + ecx*2], 0x5c
jne 0x42fea2
push ecx
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x230]
call fcn.0040e5e0
push eax
lea ecx, [ebp - 0x230]
call fcn.00402d90
mov eax, dword [ebp - 0x234]
cmp eax, 8
jb 0x42fea2
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00403390
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push str._sEAInstallerLog_
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00404760
add esp, 0x10
lea eax, [ebp - 0x218]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x42fee8
mov byte [edi + 0x1290], 0
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x42ff0a
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00403390
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42ff13
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
cmp eax, 0x100
ja 0x42ff5c
cmp word [ebp + ecx*2 - 0x21a], 0x5c
je 0x42ff5c
mov eax, 0x5c
mov word [ebp + ecx*2 - 0x218], ax
lea eax, [ecx*2 + 2]
cmp eax, 0x208
jae 0x42ff7c
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
cmp byte [ebp - 0x251], 0
jne 0x42ff81
cmp byte [ebp - 0x252], 0
jne 0x42ff81
lea eax, [ebp - 0x218]
push eax
push str._sMaintenanceLog.txt
jmp 0x42ff8d
call fcn.00436d7a
lea eax, [ebp - 0x218]
push eax
push str._sInstallLog.txt
lea eax, [edi + 0x1292]
push 0x104
push eax
call fcn.00404760
add esp, 0x10
cmp byte [edi + 0x1290], 0
je 0x42ffbb
mov ecx, edi
call fcn.0042f280
test al, al
jne 0x42ffbb
mov byte [edi + 0x1290], al
cmp byte [ebp - 0x251], 0
je 0x4300e4
lea eax, [edi + 0x458]
xor ecx, ecx
cmp cx, word [eax]
jne 0x43001c
push str.ERROR:_Install_command_line_parameter_missing__installPath.
push edi
call fcn.00430310
add esp, 8
lea ecx, [ebp - 0x264]
call fcn.004309c0
push dword [ebp - 0x264]
call fcn.00436a06
add esp, 4
lea ecx, [ebp - 0x25c]
call fcn.004309c0
push dword [ebp - 0x25c]
call fcn.00436a06
add esp, 4
xor al, al
jmp 0x4302e3
xor ecx, ecx
lea esi, [edi + 0x250]
cmp cx, word [esi]
jne 0x430070
push str.ERROR:_Install_command_line_parameter_missing__locale.
push edi
call fcn.00430310
add esp, 8
lea ecx, [ebp - 0x264]
call fcn.004309c0
push dword [ebp - 0x264]
call fcn.00436a06
add esp, 4
lea ecx, [ebp - 0x25c]
call fcn.004309c0
push dword [ebp - 0x25c]
call fcn.00436a06
add esp, 4
xor al, al
jmp 0x4302e3
mov cl, byte [ebp - 0x253]
mov dl, byte [ebp - 0x249]
test cl, cl
je 0x4300cf
test dl, dl
je 0x4300cf
push str.ERROR:_Should_not_be_having__update_and__repair_happening_on_the_same_command_line.
push edi
call fcn.00430310
add esp, 8
lea ecx, [ebp - 0x264]
call fcn.004309c0
push dword [ebp - 0x264]
call fcn.00436a06
add esp, 4
lea ecx, [ebp - 0x25c]
call fcn.004309c0
push 0x20
push 1
push dword [ebp - 0x25c]
call fcn.00401b30
add esp, 0xc
xor al, al
jmp 0x4302e3
push eax
mov dword [edi + 0x208], 1
push str.Install_Location:__s
jmp 0x43018c
cmp byte [ebp - 0x252], 0
je 0x4301db
lea eax, [edi + 0x660]
xor ecx, ecx
cmp cx, word [eax]
jne 0x43014d
push str.ERROR:_Install_command_line_parameter_missing__pdlcInstallPath.
push edi
call fcn.00430310
add esp, 8
lea ecx, [ebp - 0x264]
call fcn.004309c0
push 0x20
push 1
push dword [ebp - 0x264]
call fcn.00401b30
add esp, 0xc
lea ecx, [ebp - 0x25c]
call fcn.004309c0
push 0x20
push 1
push dword [ebp - 0x25c]
call fcn.00401b30
add esp, 0xc
xor al, al
jmp 0x4302e3
xor ecx, ecx
lea esi, [edi + 0x250]
cmp cx, word [esi]
jne 0x430161
push str.ERROR:_Install_command_line_parameter_missing__locale.
jmp 0x430103
mov cl, byte [ebp - 0x253]
mov dl, byte [ebp - 0x249]
test cl, cl
je 0x43017c
test dl, dl
je 0x43017c
push str.ERROR:_Should_not_be_having__update_and__repair_happening_on_the_same_command_line.
jmp 0x430103
push eax
mov dword [edi + 0x208], 0x10000
push str.Install_DLC_Location:__s
push edi
mov byte [edi + 0x20c], cl
mov byte [edi + 0x20d], dl
call fcn.00430310
push esi
push str.Install_Locale:__s
push edi
call fcn.00430310
add esp, 0x18
cmp byte [edi + 0x20c], 0
je 0x4301c4
push str.Performing_update_install_
push edi
call fcn.00430310
add esp, 8
cmp byte [edi + 0x20d], 0
je 0x4301db
push str.Performing_repair_install_
push edi
call fcn.00430310
add esp, 8
mov eax, dword [ebp - 0x260]
mov dword [edi + 0x248], eax
test eax, eax
je 0x430299
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00436c49
mov dword [edi + 0x24c], eax
add esp, 4
mov esi, dword [ebx]
cmp esi, ebx
je 0x430299
xor edi, edi
mov edx, 2
nop
mov eax, dword [esi + 0x18]
xor ecx, ecx
add eax, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00436c49
mov edx, dword [ebp - 0x250]
mov ecx, dword [edx + 0x24c]
mov dword [edi + ecx], eax
mov eax, dword [esi + 0x18]
add eax, 2
push eax
mov eax, dword [edx + 0x24c]
push 0
push dword [eax + edi]
call fcn.004398f0
lea eax, [esi + 8]
add esp, 0x10
cmp dword [eax + 0x14], 8
jb 0x43026b
mov eax, dword [eax]
push eax
mov eax, dword [esi + 0x18]
inc eax
push eax
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 0x24c]
push dword [eax + edi]
call fcn.00430820
mov esi, dword [esi]
add edi, 4
mov edx, 2
cmp esi, ebx
jne 0x430220
mov edi, dword [ebp - 0x250]
push str.Initialized_installation_config.
push edi
call fcn.00430310
add esp, 8
lea ecx, [ebp - 0x264]
call fcn.004309c0
push 0x20
push 1
push dword [ebp - 0x264]
call fcn.00401b30
add esp, 0xc
lea ecx, [ebp - 0x25c]
call fcn.004309c0
push 0x20
push 1
push dword [ebp - 0x25c]
call fcn.00401b30
add esp, 0xc
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004369c2
mov esp, ebp
pop ebp
ret 4