Function at 0x408fe0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4581c3
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x478990]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
push str.CSiaStarterApp::InitInstance
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xb4], 0
call fcn.00406740
mov dword [ebp - 4], 0
call fcn.0041c8d4
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x409056
push 0x80004005
call fcn.00406820
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xb0], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x18], 0
call fcn.0041d199
push ecx
mov byte [ebp - 4], 2
xor al, al
mov ecx, esp
push dword [ebx + 0x48]
mov byte [ebp - 0xc8], 0
mov byte [ebp - 0x99], al
mov byte [ebp - 0xc9], al
mov byte [ebp - 0xb9], al
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00419100
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x34], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, ebx
call fcn.00426e69
push 0
call fcn.004277dc
add esp, 4
mov ecx, ebx
push str.SIA_Starter_Applications
call fcn.00428a58
push str.kernel32.dll
mov dword [ebx + 0xd0], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
push 5
mov dword [ebp - 0xb8], edi
call fcn.004168b0
add esp, 4
test al, al
jne 0x409204
push ecx
mov ecx, esp
push 0x468f90
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
jne 0x40918c
push ecx
mov ecx, esp
push 0x468f98
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
jne 0x40918c
push ecx
mov ecx, esp
push str.silent
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
jne 0x40918c
push 0
push 0x30
push str.The_installation_of_the_software_requires_Microsoft_Windows_2000_or_higher__
call fcn.0041da3e
mov dword [ebx + 0xd0], 0x661
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
add esi, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4091c2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb4]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x4091e6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043e7dc
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x409265
push str.IsWow64Process
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call edi
push 0x46905c
push dword [ebp - 0xb8]
mov dword [0x47d018], eax
call edi
push 0x469070
push dword [ebp - 0xb8]
mov dword [0x47d010], eax
call edi
push 0x4668bc
push dword [ebp - 0xb8]
mov dword [0x47d00c], eax
call edi
push 0x469084
push dword [ebp - 0xb8]
mov dword [0x47d008], eax
call edi
mov dword [0x47d004], eax
jmp 0x40926b
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], 2
push dword [ebp - 0xb8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x409306
push str.SHGetFolderPathW
push eax
call edi
mov dword [0x47d014], eax
test eax, eax
jne 0x4092f1
push eax
push 0x30
push str.Can_not_load_function_SHGetFolderPath__this_Setup_need_IE_5.0_or_greater__
call fcn.0041da3e
mov dword [ebx + 0xd0], 2
jmp 0x409196
mov esi, dword [ebp - 0xc0]
push str.SHCreateDirectory
push esi
call edi
mov dword [0x47d000], eax
jmp 0x40930c
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 4], 2
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebx + 0x48]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], 0
call fcn.00406740
push ecx
mov ecx, esp
push str.afterreboot
mov byte [ebp - 4], 7
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418940
test al, al
je 0x409372
push 0x46916c
push dword [ebp - 0xb4]
mov byte [ebp - 0xc8], 1
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
push ecx
mov ecx, esp
push 0x468f90
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
jne 0x4093c3
push ecx
mov ecx, esp
push 0x468f98
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
jne 0x4093c3
push ecx
mov ecx, esp
push str.silent
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418de0
test al, al
je 0x4093e4
push str._Silent_mode_from_commandline_active
push dword [ebp - 0xb4]
mov byte [ebp - 0x99], 1
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
push ecx
mov ecx, esp
push str.updatesia
call fcn.00406740
mov ecx, 0x47d0e8
call fcn.00418940
test al, al
je 0x409420
push str._Update_SIA_mode_from_commandline_active
push dword [ebp - 0xb4]
mov byte [ebp - 0xb9], 1
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
mov esi, dword [0x47d014]
test esi, esi
je 0x409469
mov eax, dword [0x47d07c]
mov edx, 1
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, 0x105
or ecx, edx
jge 0x40945e
push 0x105
mov ecx, 0x47d07c
call fcn.00406510
mov esi, dword [0x47d014]
mov eax, dword [0x47d07c]
push eax
push 0
push 0
push 0x23
push 0
call esi
mov eax, dword [0x47d07c]
push dword [eax - 8]
push eax
call fcn.0043ea2f
mov edx, eax
add esp, 8
test edx, edx
js 0x409a5c
mov ecx, dword [0x47d07c]
cmp edx, dword [ecx - 8]
jg 0x409a5c
mov dword [ecx - 0xc], edx
mov eax, dword [0x47d07c]
xor ecx, ecx
mov word [eax + edx*2], cx
push 0x47d07c
mov ecx, 0x47d080
call fcn.00406090
push 0x468514
mov ecx, 0x47d080
call fcn.004055a0
push 0x23
push str.SiemensAutomationLogfilesSetup_
mov ecx, 0x47d080
call fcn.00405d10
push 0xf
push str.SIA_Starter.log
mov ecx, 0x47d084
call fcn.004065f0
push 0x468514
mov ecx, 0x47d080
call fcn.004055a0
push 1
push 0x468514
mov ecx, 0x47d080
call fcn.00405d10
push 0x47d084
lea eax, [ebp - 0xa4]
push 0x47d080
push eax
call fcn.00405730
add esp, 0xc
push eax
mov ecx, 0x47d084
mov byte [ebp - 4], 8
call fcn.00406090
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40954f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x47d000]
test eax, eax
je 0x409562
push dword [0x47d080]
push 0
call eax
push 0x1e
push dword [0x47d084]
mov ecx, 0x47d0b4
call fcn.00417c10
push str.______SIA_Starter___
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
push 0
call fcn.00440c6c
add esp, 0x14
mov dword [ebp - 0xac], eax
push str._Y__m__d___H:_M:_S
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xa8], edx
call fcn.00411340
mov byte [ebp - 4], 9
push dword [eax]
push str.Start_at_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x14
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4095f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0xc4]
push str.Commandline_org:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
lea eax, [ebp - 0xa4]
push eax
mov ecx, 0x47d0e8
call fcn.00418b90
mov byte [ebp - 4], 0xa
push dword [eax]
push str.Commandline_int:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x14
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40966b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x46937c
push str.Version_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
push 0x4693b0
push str.Date_t_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
lea eax, [ebp - 0xa4]
push eax
call fcn.00415f60
mov byte [ebp - 4], 0xb
push dword [eax]
push str.BootTime_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x40
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4096ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0xa4]
push eax
call fcn.004164c0
mov byte [ebp - 4], 0xc
push dword [eax]
push str.OS_ver_t_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x18
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40973d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00416660
push eax
push str.OS_arc_t_t_t:__d
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
lea eax, [ebp - 0xa4]
push eax
call fcn.004166e0
mov byte [ebp - 4], 0xd
push dword [eax]
push str.OS_language_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x2c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4097a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0xa4]
push eax
call fcn.00416040
mov byte [ebp - 4], 0xe
push dword [eax]
push str.PC_name_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x18
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4097f5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004165a0
push eax
push str.RAM_API_t_t:__d
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
mov ecx, esp
push 0x469494
call fcn.00406740
call fcn.004162a0
shrd eax, edx, 0x14
shr edx, 0x14
push edx
push eax
push str.HDD_c:_t_t_t:__I64u_MB
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
push str.Start_of_checking_access_to_bundle_path...
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x2c
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00406090
lea ecx, [ebp - 0xb0]
call fcn.00405540
mov dword [ebp - 0xa0], 0
call fcn.0041c8d4
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4098a0
push 0x80004005
call fcn.00406820
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0xb0]
cmp dword [esi - 0xc], 0
jl 0x40a12b
push str._BUNDLEPATH
push esi
call fcn.0043ed4c
add esp, 8
test eax, eax
je 0x40a12b
sub eax, esi
sar eax, 1
js 0x40a12b
cmp eax, dword [esi - 0xc]
jg 0x409904
lea eax, [esi + eax*2]
push 0x4684f4
push eax
call fcn.0043ed4c
add esp, 8
test eax, eax
je 0x409904
sub eax, esi
sar eax, 1
jmp 0x409907
or eax, 0xffffffff
inc eax
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xb0]
call fcn.00410ce0
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x10
call fcn.00406090
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40994e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax - 0xc]
test edx, edx
jne 0x409a5a
push str._Bundlepath_is_empty._Installation_is_not_possible.
push str.CheckBundlePath
push edx
push 0x47d0b4
call fcn.00417de0
add esp, 0xc
mov ecx, esp
push str.BundlePathAccessError
call fcn.00406740
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [ebx + 0x1ac]
call fcn.00403bd0
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x11
call fcn.00406090
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4099c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x99], 0
mov esi, dword [ebp - 0xb0]
jne 0x4099e6
push ecx
push 0x10
push esi
lea ecx, [ebx + 0x1ac]
call fcn.00404b60
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
mov dword [ebx + 0xd0], 0x1389
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409a13
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409a36
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
add esi, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jmp 0x4091b8
jns 0x409a66
push 0x80070057
call fcn.00406820
cmp word [eax], 0x22
jne 0x409af0
cmp edx, 1
jl 0x409b46
add eax, 2
push 0x4695c8
push eax
call fcn.0043ed4c
add esp, 8
test eax, eax
je 0x409b46
sub eax, dword [ebp - 0xa0]
sar eax, 1
js 0x409b46
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004056c0
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x12
call fcn.00406090
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xf
call fcn.00406800
push 0x4695c8
lea ecx, [ebp - 0xa0]
call fcn.00410c10
push eax
lea ecx, [ebp - 0xa0]
call fcn.00406090
jmp 0x409b46
cmp edx, 1
jl 0x409b46
add eax, 2
push 0x4695cc
push eax
call fcn.0043ed4c
add esp, 8
test eax, eax
je 0x409b46
sub eax, dword [ebp - 0xa0]
sar eax, 1
js 0x409b46
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004056c0
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x13
call fcn.00406090
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xf
call fcn.00406800
lea ecx, [ebp - 0xa0]
call fcn.004059c0
mov ecx, eax
call fcn.00405a40
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00410b40
push dword [ebp - 0xa0]
push 0x4695d0
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
cmp byte [ebp - 0x99], 0
push 0
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x30]
jne 0x409e8e
mov esi, 4
call fcn.0041d3e0
test eax, eax
jne 0x409dae
lea ecx, [ecx]
cmp esi, 4
jne 0x409dae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 0x409
lea eax, [ebp - 0xa4]
push esi
push eax
call fcn.00416190
mov byte [ebp - 4], 0x14
push dword [eax]
push esi
push str._Bundlepath_can_not_be_opened._Errorcode:__d___s
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa4]
add edx, 0xfffffff0
add esp, 0x24
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409c16
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp esi, 0x52e
jne 0x409d24
mov eax, dword [ebp - 0xa0]
push 0
push dword [ebx + 0x100]
add eax, 0xfffffff0
push ecx
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.004159e0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x409d0c
call fcn.0041c8d4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x40904c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push esi
lea eax, [ebp - 0xc0]
push str.Login_failure_d
push eax
mov byte [ebp - 4], 0x15
call fcn.00405f50
push 0x409
lea eax, [ebp - 0xb8]
push 0x52e
push eax
call fcn.00416190
mov byte [ebp - 4], 0x16
push dword [eax]
push esi
push str._Relogin_failed._NetAddConnection_error:__d___s
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xb8]
add edx, 0xfffffff0
add esp, 0x30
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409ce9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xc0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409d0c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x30]
call fcn.0041d3e0
test eax, eax
jne 0x409dae
push ecx
mov ecx, esp
push str.BundlePathAccessError
call fcn.00406740
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebx + 0x1ac]
call fcn.00403bd0
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x17
call fcn.00406090
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409d76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
push 0x35
push dword [ebp - 0xb0]
lea ecx, [ebx + 0x1ac]
call fcn.00404b60
mov esi, eax
cmp esi, 2
je 0x409ddd
cmp esi, 3
je 0x409ddd
push 0
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x30]
call fcn.0041d3e0
test eax, eax
je 0x409bb0
push str._Bundlepath_is_now_accessable
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea eax, [ebp - 0xa0]
push eax
mov ecx, 0x47d09c
call fcn.00406090
jmp 0x40a144
push str._User_canceled_the_installation
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0xc
mov ecx, esp
push str.MSIDotNetHint
call fcn.00406740
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebx + 0x1ac]
call fcn.00403bd0
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x18
call fcn.00406090
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xf
call fcn.00406800
push ecx
push 0x40
push dword [ebp - 0xb0]
lea ecx, [ebx + 0x1ac]
call fcn.00404b60
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0xd0], 0x643
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
mov esi, 0x7530
mov dword [ebp - 0xb8], 4
mov dword [ebp - 0xa4], esi
call fcn.0041d3e0
test eax, eax
jne 0x40a088
cmp dword [ebp - 0xb8], 0
jle 0x40a088
test esi, esi
jle 0x40a088
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0xd0]
push eax
call fcn.004160a0
mov byte [ebp - 4], 0x19
push dword [eax]
push dword [ebp - 0xc0]
push str._Bundlepath_can_not_be_opened._Errorcode:__d___s
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
add esp, 0x20
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409f26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0xc0], 0x52e
jne 0x40a035
mov eax, dword [ebp - 0xa0]
push 1
push dword [ebx + 0x100]
add eax, 0xfffffff0
push ecx
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.004159e0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40a01b
call fcn.0041c8d4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x40904c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push esi
lea eax, [ebp - 0xc0]
push str.Login_failure_d
push eax
mov byte [ebp - 4], 0x1a
call fcn.00405f50
lea eax, [ebp - 0xa8]
push 0x52e
push eax
call fcn.004160a0
mov byte [ebp - 4], 0x1b
push dword [eax]
push esi
push str._Relogin_failed._NetAddConnection_error:__d___s
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
add esp, 0x2c
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x409ff8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xc0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a01b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x30]
call fcn.0041d3e0
test eax, eax
jne 0x40a088
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0xb8]
push str._Bundle_dir_not_available._Wait..._d
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
dec dword [ebp - 0xb8]
mov eax, esi
cdq
sub eax, edx
mov esi, eax
push 0
push dword [ebp - 0xa0]
sar esi, 1
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xa4], esi
call fcn.0041d3e0
test eax, eax
je 0x409eb0
push 0
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x30]
call fcn.0041d3e0
test eax, eax
je 0x40a0cb
push str._Bundlepath_is_accessable
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea eax, [ebp - 0xa0]
push eax
mov ecx, 0x47d09c
call fcn.00406090
jmp 0x40a144
push str._Bundlepath_is_still_not_accessable._Installation_is_not_possible.
push str.CheckBundlePath
push 0
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0xd0], 0x1389
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
push str._Bundlepath_not_found_in_command_line_arguments
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.004063e0
push str.End_of_checking_access_to_bundle_path...
push str.CheckBundlePath
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
call fcn.00407c50
push 0
push dword [0x47d088]
lea ecx, [ebp - 0x30]
call fcn.0041d3e0
test eax, eax
jne 0x40a22a
cmp byte [ebp - 0xc8], al
jne 0x40a22a
cmp byte [ebp - 0xb9], al
jne 0x40a22a
push dword [0x47d088]
lea eax, [ebp - 0xb0]
push str._s_not_found__
push eax
call fcn.00405f50
mov esi, dword [ebp - 0xb0]
push esi
push dword [ebp - 0xb4]
push 0
push 0x47d0b4
call fcn.00417de0
add esp, 0x1c
cmp byte [ebp - 0x99], 0
jne 0x40a1e3
push 0
push 0x10
push esi
call fcn.0041da3e
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0xd0], 2
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
push dword [ebp - 0xc8]
mov eax, dword [0x47d090]
push 0x47d0b4
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0xa8], esp
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x1c
mov eax, dword [0x47d088]
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
mov dword [esi], eax
lea esi, [ebx + 0x1ac]
add esp, 4
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00401e80
mov al, byte [ebx + 0x1b4]
test al, al
je 0x40a30f
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
mov dword [ebx + 0xd0], 0x64a
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a2b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a2dc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xb0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4091c2
mov ecx, dword [edx]
push edx
jmp 0x4091bd
push ecx
mov eax, esp
push str.PictureSplash.png
push 0x47d090
push eax
mov dword [ebx + 0xd4], 0x47d0b4
call fcn.004057f0
add esp, 0xc
lea ecx, [ebx + 0xd4]
call fcn.00411b50
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00404c20
mov byte [ebp - 4], 0x1d
push dword [eax]
lea ecx, [ebx + 0xd4]
call fcn.00413500
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a37c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.SetupCaption
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x1e
push dword [eax]
lea ecx, [ebx + 0xd4]
call fcn.004134b0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a3cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push 0x467890
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x1f
push dword [eax]
lea ecx, [ebx + 0xd4]
call fcn.00413550
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a41a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push str.CheckPrerequisites
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x20
push dword [eax]
lea ecx, [ebx + 0xd4]
call fcn.004135a0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a469
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x47d090]
lea ecx, [ebx + 0xd4]
call fcn.004135f0
cmp byte [ebp - 0x99], 0
jne 0x40a509
push str.show_splash
push dword [ebp - 0xb4]
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea ecx, [ebx + 0xd4]
call fcn.00411f40
mov eax, dword [ebx + 0x100]
push ecx
mov ecx, esp
push str.CheckPrerequisites
mov dword [ebx + 0x1b8], eax
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x21
push dword [eax]
lea ecx, [ebx + 0xd4]
call fcn.00413640
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40a523
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40a523
push str.skip_showing_splash_due_silent_mode
push dword [ebp - 0xb4]
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
mov ecx, 0x47d0a4
call fcn.00417990
test eax, eax
jne 0x40ab16
mov ecx, 0x47d0ac
call fcn.00417990
test eax, eax
jne 0x40ab16
mov eax, dword [0x47d078]
push 0x500000
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00415b10
add esp, 8
test al, al
jne 0x40a646
lea eax, [ebp - 0xa8]
push 0x70
push eax
call fcn.004160a0
add esp, 8
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x24
call fcn.00406090
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.00406800
push 0x409
lea eax, [ebp - 0xd0]
push 0x70
push eax
call fcn.00416190
mov byte [ebp - 4], 0x25
push dword [eax]
push dword [ebp - 0xb4]
push 0
push 0x47d0b4
call fcn.00417de0
add esp, 0x1c
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xf
call fcn.00406800
cmp byte [ebp - 0x99], 0
jne 0x40a5ff
push ecx
push 0x10
push dword [ebp - 0xb0]
lea ecx, [ebx + 0x1ac]
call fcn.00404b60
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0xd0], 0x70
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
push str.Start_of_updating_local_copy_SIA...
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
cmp byte [ebp - 0xc8], 0
jne 0x40a94f
mov eax, dword [0x47d090]
add eax, 0xfffffff0
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov dword [ebp - 0xc0], eax
push 0x468514
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x26
call fcn.004055a0
push str._sia2.exe
lea ecx, [ebp - 0xc0]
call fcn.00405050
push dword [ebp - 0xc0]
lea eax, [ebp - 0x68]
push eax
call fcn.0041a100
add esp, 8
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x27
call fcn.0041a2b0
mov byte [ebp - 4], 0x28
push dword [eax]
push str._Version_of_bundle_SIA:__s
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x27
call fcn.00406800
mov eax, dword [0x47d078]
add eax, 0xfffffff0
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov dword [ebp - 0xb8], eax
push 0x468514
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x29
call fcn.004055a0
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xd0]
push 0x468514
push eax
call fcn.00410d10
add esp, 0xc
mov byte [ebp - 4], 0x2a
mov eax, dword [eax]
lea ecx, [ebp - 0xb8]
push dword [eax - 0xc]
push eax
call fcn.00405d10
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x29
call fcn.00406800
push str._sia2.exe
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xc8], 0
call fcn.004057f0
add esp, 0xc
lea edi, [ebx + 0xcc]
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x2b
push eax
mov ecx, edi
call fcn.00406090
push 0
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x99], 1
call fcn.0041d3e0
test eax, eax
je 0x40a885
push dword [ebp - 0xc8]
lea eax, [ebp - 0x98]
push eax
call fcn.0041a100
add esp, 8
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2c
call fcn.0041a2b0
mov byte [ebp - 4], 0x2d
push dword [eax]
push str._Version_of_local_SIA:__s
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x2c
call fcn.00406800
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x98]
call fcn.0041a020
test al, al
je 0x40a84e
push str._Local_SIA_is___bundle_SIA._Skip_updating.
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 0x99], 0
jmp 0x40a864
push str._Local_SIA_is___bundle_SIA._Force_updating.
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2b
call fcn.00419ec0
cmp byte [ebp - 0x99], 0
je 0x40a91c
jmp 0x40a89e
push str._Version_of_local_SIA:_SIA_does_not_exist_local.
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
mov eax, dword [ebp - 0xb8]
push 1
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0040e710
test eax, eax
jne 0x40a8d5
lea eax, [ebp - 0xb8]
push eax
mov ecx, edi
call fcn.00406090
jmp 0x40a91c
cmp eax, 0x65b
je 0x40a8e1
cmp eax, 0x12
jne 0x40a915
mov eax, dword [0x47d094]
push 1
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0040e710
test eax, eax
jne 0x40a915
push 0x47d094
mov ecx, edi
call fcn.00406090
jmp 0x40a91c
mov ecx, edi
call fcn.004063e0
lea ecx, [ebp - 0xc8]
call fcn.00406800
lea ecx, [ebp - 0xb8]
call fcn.00406800
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x26
call fcn.00419ec0
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xf
call fcn.00406800
jmp 0x40a975
push str._Updating_SIA_in_afterreboot_mode_is_skipped
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
lea edi, [ebx + 0xcc]
add esp, 0x10
mov ecx, edi
call fcn.004063e0
push dword [edi]
push str._Path_with_SIA2.exe_is_set_to___s_
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
push str.End_of_updating_local_copy_SIA...
push str.UpdateSIA
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x24
cmp byte [ebp - 0xb9], 0
je 0x40aa10
push str.Update_SIA_mode_active._Exit_immediately_after_updating_of_local_SIA.
push dword [ebp - 0xb4]
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0xd0], 0
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
lea ecx, [ebp - 0x30]
call fcn.0041d394
mov eax, dword [ebp - 0xc4]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.00406100
add eax, 0x10
add esp, 4
mov ecx, ebx
mov dword [esi], eax
call fcn.0040ac50
lea ecx, [ebx + 0xd4]
call fcn.00412000
push str.______SIA_Starter___
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x10
lea eax, [ebp - 0xa8]
push str._Y__m__d___H:_M:_S
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00411320
mov ecx, eax
call fcn.00411340
mov byte [ebp - 4], 0x2e
push dword [eax]
push str.End_at_t_t_t:__s
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x14
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0xf
call fcn.00406800
push 0x469d80
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
push 0x469d80
push 0x468518
push 8
push 0x47d0b4
call fcn.00417de0
add esp, 0x20
lea ecx, [ebp - 0xa0]
call fcn.00406800
lea ecx, [ebp - 0xc4]
call fcn.00406800
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
lea ecx, [ebp - 0xb0]
call fcn.00406800
lea ecx, [ebp - 0xb4]
call fcn.00406800
jmp 0x4091e6
push ecx
mov ecx, esp
push str.StartError
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x22
push dword [eax]
push dword [ebp - 0xb4]
push 0
push 0x47d0b4
call fcn.00417de0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xa8]
add edx, 0xfffffff0
add esp, 0x10
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ab6f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x99], 0
jne 0x40abae
push ecx
push 0x10
push ecx
mov ecx, esp
push str.StartError
call fcn.00406740
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.00403bd0
mov byte [ebp - 4], 0x23
push dword [eax]
mov ecx, esi
call fcn.00404b60
lea ecx, [ebp - 0xa8]
call fcn.00406800
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0xa0]
add edx, 0xfffffff0
mov dword [ebx + 0xd0], 0x652
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40abdb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40abfe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0041d344
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xb0]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4091c2
mov ecx, dword [edx]
push edx
jmp 0x4091bd