Function at 0x406170
Capabilities:
Accept command line arguments
Get thread local storage value
Parse pe header
Set registry value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54a022
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x165c
call fcn.004a72f0
mov eax, dword [0x595978]
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
xor ebx, ebx
mov dword [ebp - 0x14dc], ebx
push ebx
push 0x577ae6
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], ebx
mov byte [ebp - 0x12c], bl
call fcn.00410af0
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 4], ebx
call fcn.00403e60
add esp, 4
cmp dword [ebp - 0x118], 0x10
jb 0x4061ff
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.0049cf83
add esp, 4
test byte [0x5b0b2c], 1
mov esi, 1
jne 0x406231
or dword [0x5b0b2c], esi
push 0x5b0b14
mov dword [0x5b0b10], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x54b980
call fcn.0049ddb1
add esp, 4
push 0x5b0b14
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x5b0b14
mov dword [0x5b0b10], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea edx, [ebp - 0x1500]
push edx
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov edi, 7
xor eax, eax
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], ebx
mov word [ebp - 0x148], ax
xor ecx, ecx
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x154], ebx
mov word [ebp - 0x164], cx
mov byte [ebp - 4], 3
push 0x48
mov dword [ebp - 0x14f0], str._productlevel
mov dword [ebp - 0x14ec], str._lang
mov dword [ebp - 0x14e8], 0x577ae4
mov dword [ebp - 0x15c4], ebx
call fcn.0049d40e
add esp, 4
cmp eax, ebx
je 0x4089a4
mov dword [ebp - 0x15c8], eax
mov dword [eax], eax
mov eax, dword [ebp - 0x15c8]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x15c8]
mov dword [eax + 8], eax
mov edx, dword [ebp - 0x15c8]
mov byte [edx + 0x44], 1
mov eax, dword [ebp - 0x15c8]
mov byte [eax + 0x45], 1
mov dword [ebp - 0x15bc], ebx
mov dword [ebp - 0x15b8], ebx
mov dword [ebp - 0x15b4], ebx
lea ecx, [ebp - 0x14e4]
push ecx
lea edx, [ebp - 0x15cc]
push edx
lea ecx, [ebp - 0x14f0]
mov byte [ebp - 4], 4
call fcn.00416ec0
mov eax, dword [ebp - 0x1500]
lea ecx, [esi + eax*4]
push ecx
mov edx, esi
lea ecx, [ebp - 0x15cc]
call fcn.00416fa0
push 0xe
xor edx, edx
push str._productlevel
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], dx
call fcn.0040d980
xor eax, eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], ax
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x15cc]
push edx
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.0040c620
push eax
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 7
call fcn.0040d620
mov esi, 8
cmp dword [ebp - 0x54], esi
jb 0x4063aa
mov eax, dword [ebp - 0x68]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov word [ebp - 0x68], cx
cmp dword [ebp - 0x38], esi
jb 0x4063c7
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0049cf83
add esp, 4
mov byte [ebp - 4], 4
cmp dword [ebp - 0x1c], esi
jb 0x4063dc
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
push 6
mov word [ebp - 0x30], cx
push str._lang
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call fcn.0040d980
xor edx, edx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x15cc]
push ecx
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.0040c620
push eax
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xa
call fcn.0040d620
cmp dword [ebp - 0x54], esi
jb 0x40643e
mov edx, dword [ebp - 0x68]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov word [ebp - 0x68], ax
cmp dword [ebp - 0x38], esi
jb 0x40645b
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
cmp dword [ebp - 0x1c], esi
jb 0x40646c
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
mov dword [ebp - method.psafe::utilities::registry::RegMngr.virtual_0], vtable.psafe::utilities::registry::RegMngr.0
mov dword [ebp - 0x14ec], getsockopt
mov dword [ebp - 0x14e8], ebx
lea eax, [ebp - 0x164]
push eax
mov byte [ebp - 4], 0xb
call fcn.00405120
add esp, 4
xor ecx, ecx
push 0x13
mov esi, eax
mov word [ebp - 0x68], cx
push str.installProductLevel
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x14e0], esi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
call fcn.0040d980
mov byte [ebp - 4], 0xc
push 0xe
xor edx, edx
push str.SoftwarePSafe
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov word [ebp - 0x84], dx
call fcn.0040d980
cmp dword [ebp - 0x70], 8
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x14e4], esi
mov byte [ebp - 0x14c9], bl
jae 0x4064ff
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x14d4]
push ecx
lea edx, [ebp - 0x14d0]
push edx
push ebx
push 0x20006
push ebx
push ebx
push ebx
push eax
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, 8
cmp eax, ebx
jne 0x40655b
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x54], esi
jae 0x406536
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 0x14d0]
push 4
lea ecx, [ebp - 0x14e4]
push ecx
push 4
push ebx
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x40655b
mov byte [ebp - 0x14c9], 1
mov eax, dword [ebp - 0x14d0]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x70], esi
jb 0x40657c
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov word [ebp - 0x84], dx
cmp dword [ebp - 0x54], esi
jb 0x4065a0
mov eax, dword [ebp - 0x68]
push eax
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14d4], eax
cmp byte [ebp - 0x14c9], bl
jne 0x4067c5
mov dword [ebp - 0x159c], 0x578bd0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x154c]
mov dword [ebp - 0x14dc], esi
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.00402320
lea ecx, [ebp - 0x1598]
lea edx, [ebp - 0x14e4]
mov dword [ebp - 0x1514], ecx
push edx
lea ecx, [ebp - 0x154c]
mov dword [ebp - 0x1510], ebx
call fcn.004022e0
push eax
mov dword [ebp - 4], 0xf
call fcn.00415a40
mov byte [ebp - 4], 0xe
mov edi, dword [ebp - 0x14e4]
add esp, 4
mov dword [ebp - 0x14e0], eax
cmp edi, ebx
je 0x40666f
push ebx
lea ecx, [ebp - 0x14d0]
call fcn.00495eec
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x406645
cmp eax, 0xffffffff
jae 0x406645
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [ebp - 0x14d0]
and esi, edi
call fcn.00495f14
cmp esi, ebx
je 0x406669
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
mov eax, dword [ebp - 0x14e0]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x28]
push 0x20
call eax
movzx eax, ax
mov word [ebp - 0x150c], ax
cmp dword [ebp - 0x1514], ebx
jne 0x4066a2
mov eax, dword [ebp - 0x1540]
or eax, 4
push ebx
push eax
lea ecx, [ebp - 0x154c]
call fcn.004021e0
mov esi, 0x10
mov dword [ebp - 4], esi
mov ecx, dword [ebp - 0x159c]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x1598]
push eax
mov dword [ebp + edx - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
call fcn.004110f0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x155c], ebx
mov dword [ebp - 0x1558], 4
lea ecx, [ebp - 0x159c]
push str.Error_setting_installProductLevel_regkey.
push ecx
mov byte [ebp - 4], 0x12
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.reg.setReg__L_SoftwarePSafe___L_installProductLevel____installProductLevel_
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x10d
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
mov edx, dword [ebp - 0x14d4]
add esp, 8
push edx
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x13
call fcn.004045b0
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], esi
jb 0x406792
mov eax, dword [eax]
lea ecx, [ebp - 0x14d0]
push ecx
lea ecx, [ebp - 0x1664]
mov dword [ebp - 0x14d0], eax
call fcn.0049ce20
push 0x58c098
lea edx, [ebp - 0x1664]
push edx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
push ebx
xor eax, eax
push 0x577ae4
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x18c], ebx
mov word [ebp - 0x19c], ax
call fcn.0040d980
mov byte [ebp - 4], 0x15
xor ecx, ecx
push 0xc
mov word [ebp - 0x30], cx
push str.productlevel
lea ecx, [ebp - 0x30]
xor esi, esi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call fcn.0040d980
mov byte [ebp - 4], 0x16
push 0xe
xor edx, edx
push str.SoftwarePSafe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
call fcn.0040d980
lea eax, [ebp - 0x19c]
push eax
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x14f0]
mov byte [ebp - 4], 0x17
call fcn.004171e0
cmp dword [ebp - 0x38], 8
mov byte [ebp - 0x14c9], al
jb 0x40685f
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
jb 0x406881
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
cmp byte [ebp - 0x14c9], bl
je 0x40689a
lea ecx, [ebp - 0x19c]
push ecx
call fcn.00405120
add esp, 4
mov esi, eax
lea edx, [ebp - 0x164]
push edx
call fcn.00405120
or esi, eax
add esp, 4
mov ecx, esi
lea edx, [ebp - 0xa0]
call fcn.00405290
push eax
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x18
call fcn.0040d620
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x8c], 8
jb 0x4068e4
mov eax, dword [ebp - 0xa0]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
push 0xc
mov word [ebp - 0x30], cx
push str.productlevel
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call fcn.0040d980
mov byte [ebp - 4], 0x19
push 0xe
xor edx, edx
push str.SoftwarePSafe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
call fcn.0040d980
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x14d4], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x164]
xor eax, eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push edx
mov word [ecx], ax
call fcn.0040d880
lea eax, [ebp - 0x4c]
push eax
lea esi, [ebp - 0x30]
lea ecx, [ebp - 0x14f0]
call fcn.004172c0
cmp dword [ebp - 0x38], 8
mov byte [ebp - 0x14c9], al
jb 0x406971
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
jb 0x406993
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14d0], eax
cmp byte [ebp - 0x14c9], bl
jne 0x406bbc
mov dword [ebp - 0x159c], 0x578bd0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x154c]
mov dword [ebp - 0x14dc], 0x20
mov dword [ebp - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.00402320
lea ecx, [ebp - 0x1598]
lea edx, [ebp - 0x14d4]
mov dword [ebp - 0x1514], ecx
push edx
lea ecx, [ebp - 0x154c]
mov dword [ebp - 0x1510], ebx
call fcn.004022e0
push eax
mov dword [ebp - 4], 0x1d
call fcn.00415a40
mov byte [ebp - 4], 0x1c
mov edi, dword [ebp - 0x14d4]
add esp, 4
mov dword [ebp - 0x14e4], eax
cmp edi, ebx
je 0x406a66
push ebx
lea ecx, [ebp - 0x14e0]
call fcn.00495eec
mov eax, dword [edi + 4]
cmp eax, ebx
jbe 0x406a3c
cmp eax, 0xffffffff
jae 0x406a3c
dec eax
mov dword [edi + 4], eax
mov esi, dword [edi + 4]
neg esi
sbb esi, esi
not esi
lea ecx, [ebp - 0x14e0]
and esi, edi
call fcn.00495f14
cmp esi, ebx
je 0x406a60
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
mov eax, dword [ebp - 0x14e4]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x28]
push 0x20
call eax
movzx eax, ax
mov word [ebp - 0x150c], ax
cmp dword [ebp - 0x1514], ebx
jne 0x406a99
mov eax, dword [ebp - 0x1540]
or eax, 4
push ebx
push eax
lea ecx, [ebp - 0x154c]
call fcn.004021e0
mov dword [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x159c]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x1598]
push eax
mov dword [ebp + edx - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
call fcn.004110f0
mov dword [ebp - method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov dword [ebp - 0x155c], ebx
mov dword [ebp - 0x1558], 4
lea ecx, [ebp - 0x159c]
push str.Error_setting_productlevel_regkey.
push ecx
mov byte [ebp - 4], 0x20
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.reg.setReg__L_SoftwarePSafe___L_productlevel____wsProductLevel_
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x11d
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
mov edx, dword [ebp - 0x14d0]
add esp, 8
push edx
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x21
call fcn.004045b0
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x14], 0x10
jb 0x406b89
mov eax, dword [eax]
lea ecx, [ebp - 0x14d0]
push ecx
lea ecx, [ebp - 0x15f0]
mov dword [ebp - 0x14d0], eax
call fcn.0049ce20
push 0x58c098
lea edx, [ebp - 0x15f0]
push edx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
push 4
xor eax, eax
push str.lang
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], ax
call fcn.0040d980
mov byte [ebp - 4], 0x23
xor ecx, ecx
push 0x17
mov word [ebp - 0x4c], cx
push str.SoftwarePSafe_settings
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
call fcn.0040d980
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x14d4], esp
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x148]
xor edx, edx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push eax
mov word [ecx], dx
call fcn.0040d880
lea ecx, [ebp - 0x4c]
push ecx
lea esi, [ebp - 0x30]
lea ecx, [ebp - 0x14f0]
call fcn.004172c0
cmp dword [ebp - 0x38], 8
mov byte [ebp - 0x14c9], al
jb 0x406c49
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], ax
jb 0x406c6b
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp byte [ebp - 0x14c9], bl
jne 0x406d6f
lea edx, [ebp - 0x159c]
push edx
call fcn.0040a0e0
lea eax, [ebp - 0x159c]
push str.Error_setting_lang_regkey.
push eax
mov byte [ebp - 4], 0x25
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.reg.setReg__L_SoftwarePSafe_settings___L_lang____wsLang_
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x121
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push esi
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x26
call fcn.004045b0
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x14], 0x10
jb 0x406d3c
mov ecx, dword [eax]
mov dword [ebp - 0x14d0], ecx
jmp 0x406d42
mov dword [ebp - 0x14d0], eax
lea edx, [ebp - 0x14d0]
push edx
lea ecx, [ebp - 0x1648]
call fcn.0049ce20
push 0x58c098
lea eax, [ebp - 0x1648]
push eax
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
xor ecx, ecx
push 0xc
mov word [ebp - 0x110], cx
push str.resident.cab
lea ecx, [ebp - 0x110]
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x100], ebx
call fcn.0040d980
lea esi, [ebp - 0xa0]
mov byte [ebp - 4], 0x28
call fcn.004380d0
push eax
mov edx, str.psresident_
lea esi, [ebp - 0xbc]
mov byte [ebp - 4], 0x29
call fcn.00416e70
add esp, 4
mov esi, 8
cmp dword [ebp - 0x8c], esi
jb 0x406dd9
mov edx, dword [ebp - 0xa0]
push edx
call fcn.0049cf83
add esp, 4
push 0xffffffffffffffff
mov byte [ebp - 4], 0x2c
xor ecx, ecx
push ebx
lea edx, [ebp - 0xbc]
xor eax, eax
mov word [ebp - 0x30], cx
push edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x90], ebx
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call fcn.0040d880
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x2d
call fcn.004034c0
mov byte [ebp - 4], 0x2c
mov byte [ebp - 0x14c9], al
cmp dword [ebp - 0x1c], esi
jb 0x406e37
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
cmp byte [ebp - 0x14c9], bl
je 0x406e83
push 0xffffffffffffffff
xor ecx, ecx
push ebx
lea edx, [ebp - 0xbc]
mov word [ebp - 0x30], cx
push edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
call fcn.0040d880
lea eax, [ebp - 0x30]
push ebx
push eax
mov byte [ebp - 4], 0x2e
call fcn.00438bc0
add esp, 8
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0x1c], esi
jb 0x406e83
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xbc]
xor edx, edx
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], dx
call fcn.0040d880
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x2f
call fcn.004034c0
cmp al, bl
sete byte [ebp - 0x14c9]
mov byte [ebp - 4], 0x2c
cmp dword [ebp - 0x1c], esi
jb 0x406ecb
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
cmp byte [ebp - 0x14c9], bl
je 0x407022
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0xbc]
xor edx, edx
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov word [ebp - 0x30], dx
call fcn.0040d880
lea ecx, [ebp - 0x30]
push ebx
push ecx
mov byte [ebp - 4], 0x30
call fcn.0049b2e0
add esp, 8
mov byte [ebp - 4], 0x2c
mov byte [ebp - 0x14c9], al
cmp dword [ebp - 0x1c], esi
jb 0x406f21
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp byte [ebp - 0x14c9], bl
jne 0x407171
lea eax, [ebp - 0x159c]
push eax
call fcn.0040a0e0
lea ecx, [ebp - 0x159c]
push str.Error_creating_dir:
push ecx
mov byte [ebp - 4], 0x31
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.boost::filesystem::create_directory__cabPath__
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x130
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push esi
push eax
call fcn.00409730
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x68]
mov byte [ebp - 4], 0x32
call fcn.004045b0
mov byte [ebp - 4], 0x33
cmp dword [eax + 0x14], 0x10
jb 0x406fef
mov edx, dword [eax]
mov dword [ebp - 0x14d0], edx
jmp 0x406ff5
mov dword [ebp - 0x14d0], eax
lea eax, [ebp - 0x14d0]
push eax
lea ecx, [ebp - 0x1608]
call fcn.0049ce20
push 0x58c098
lea ecx, [ebp - 0x1608]
push ecx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
test byte [0x5b0b2c], 1
jne 0x407050
or dword [0x5b0b2c], 1
push 0x5b0b14
mov dword [0x5b0b10], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x54b980
call fcn.0049ddb1
add esp, 4
push 0x5b0b14
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x5b0b10], 0x3e8
push 0x5b0b14
setbe byte [ebp - 0x14c9]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x14c9], bl
je 0x407171
test byte [0x5b0b90], 1
jne 0x4070b7
or dword [0x5b0b90], 1
mov byte [ebp - 4], 0x34
call fcn.0040e5d0
push 0x54b970
mov dword [0x5b0988], 0x578cc0
call fcn.0049ddb1
add esp, 4
mov byte [ebp - 4], 0x2c
lea esi, [ebp - 0x15ac]
mov eax, 0x5b0988
call fcn.0040b920
add eax, 8
push str.__DBG____
push eax
mov byte [ebp - 4], 0x35
call fcn.00415b80
add esp, 8
push str.psresident.cpp
push eax
call fcn.00416190
add esp, 8
push 0x577be4
push eax
call fcn.00415b80
add esp, 8
push 0x134
push eax
call fcn.00409560
push 0x577db0
push eax
call fcn.00415b80
add esp, 8
push str.Dest_dir_already_exixts:
push eax
call fcn.00416190
add esp, 8
lea edx, [ebp - 0xbc]
push edx
push eax
call fcn.004169b0
add esp, 8
mov byte [ebp - 4], 0x36
cmp byte [ebp - 0x150c], bl
je 0x407162
lea eax, [ebp - 0x15a4]
push eax
lea esi, [ebp - 0x200]
call fcn.0040e710
mov byte [ebp - 4], 0x37
mov edi, dword [ebp - 0x15ac]
push eax
call fcn.0040e690
call fcn.0040cc40
lea ecx, [ebp - 0x15a4]
mov byte [ebp - 4], 0x2c
call fcn.004030b0
mov dword [ebp - 4], 0x2b
jmp 0x407229
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x110]
mov edi, 0xf
cmp edx, 8
jae 0x407245
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x100]
cmp edx, 8
mov edx, dword [ebp - 0x110]
lea ecx, [eax + ecx*2]
jae 0x40725f
lea edx, [ebp - 0x110]
sub esp, 0x1c
mov dword [ebp - 0x14d4], esp
mov esi, dword [ebp - 0x14d4]
mov eax, esp
push esi
push ecx
push edx
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], ebx
push eax
mov byte [eax], bl
call fcn.0041b7a0
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xbc]
cmp edx, 8
jae 0x40729c
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
cmp edx, 8
mov edx, dword [ebp - 0xbc]
lea ecx, [eax + ecx*2]
jae 0x4072b6
lea edx, [ebp - 0xbc]
mov esi, dword [ebp - 0x14d4]
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x14e4], esp
push esi
push ecx
push edx
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], ebx
push eax
mov byte [eax], bl
call fcn.0041b7a0
sub esp, 0x1c
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x14d0], esp
push 7
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push str.Cabinet
mov esi, 0x65
mov byte [ecx], bl
call fcn.00410af0
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.00405560
add esp, 0x54
lea edx, [ebp - 0x14c8]
push edx
call fcn.00422270
lea esi, [ebp - 0x14c8]
mov byte [ebp - 4], 0x3c
call fcn.004224d0
mov byte [ebp - 4], 0x3d
test byte [0x5b06f8], 1
jne 0x40734a
or dword [0x5b06f8], 1
push 0x54b990
call fcn.0049ddb1
add esp, 4
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xd8]
push ecx
lea ebx, [ebp - 0x110]
call fcn.00416900
add esp, 8
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0xc4], 8
mov edi, dword [ebp - 0xd8]
jae 0x40737f
lea edi, [ebp - 0xd8]
lea eax, [ebp - 0x14d8]
call fcn.00421840
lea ecx, [ebp - 0x14d8]
lea edi, [ebp - 0x14c8]
mov byte [ebp - 4], 0x3f
call fcn.00422b30
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x14d8]
cmp eax, 1
push edx
sete bl
call fcn.0049cf8e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 4
cmp bl, 1
sete bl
call edi
mov esi, eax
test bl, bl
jne 0x4074c0
lea eax, [ebp - 0x159c]
push eax
call fcn.0040a0e0
lea ecx, [ebp - 0x159c]
push str.This_file_is_not_a_cabinet_file.
push ecx
mov byte [ebp - 4], 0x40
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.extractInstance.isCabinet__cabFullPath__
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x143
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push esi
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x41
call fcn.004045b0
mov byte [ebp - 4], 0x42
cmp dword [eax + 0x14], 0x10
jb 0x40748d
mov edx, dword [eax]
mov dword [ebp - 0x14d0], edx
jmp 0x407493
mov dword [ebp - 0x14d0], eax
lea eax, [ebp - 0x14d0]
push eax
lea ecx, [ebp - 0x1638]
call fcn.0049ce20
push 0x58c098
lea ecx, [ebp - 0x1638]
push ecx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
call fcn.004306a0
test eax, eax
sete al
test al, al
je 0x4075fa
lea esi, [ebp - 0xd8]
call fcn.004394c0
mov bl, al
call edi
mov edi, eax
test bl, bl
jne 0x4075fa
lea edx, [ebp - 0x159c]
push edx
call fcn.0040a0e0
mov byte [ebp - 4], 0x43
cmp dword [ebp - 0xc4], 8
mov esi, dword [ebp - 0xd8]
jae 0x407510
lea esi, [ebp - 0xd8]
lea eax, [ebp - 0x159c]
push str.Signature_error_in_file:
push eax
call fcn.00416190
add esp, 8
push esi
push eax
call fcn.00415b80
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.signerInstance__validatePsafeFile__cabFullPath__
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x14a
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push edi
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x44
call fcn.004045b0
mov byte [ebp - 4], 0x45
cmp dword [eax + 0x14], 0x10
jb 0x4075c7
mov ecx, dword [eax]
mov dword [ebp - 0x14d0], ecx
jmp 0x4075cd
mov dword [ebp - 0x14d0], eax
lea edx, [ebp - 0x14d0]
push edx
lea ecx, [ebp - 0x1620]
call fcn.0049ce20
push 0x58c098
lea eax, [ebp - 0x1620]
push eax
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
xor ecx, ecx
push 7
mov word [ebp - 0x30], cx
push str.PSafeWD
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], 0
call fcn.0040d980
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x46
call fcn.00405480
mov esi, 8
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0x1c], esi
jb 0x407643
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
push esi
xor eax, eax
push str.PSafeSVC
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], 0
mov word [ebp - 0x30], ax
call fcn.0040d980
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x47
call fcn.00405480
mov bl, 0x3e
mov byte [ebp - 4], bl
cmp dword [ebp - 0x1c], esi
jb 0x407687
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
push 0x15
xor edx, edx
xor esi, esi
push 0x578738
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], dx
call fcn.0040d980
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x48
call fcn.00437730
add esp, 4
mov edi, eax
call fcn.00437a10
mov byte [ebp - 4], bl
cmp dword [ebp - 0x1c], 8
jb 0x4076d4
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
push 0x19
xor edx, edx
push 0x5780a8
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], dx
call fcn.0040d980
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x49
call fcn.00437730
add esp, 4
mov edi, eax
call fcn.00437a10
mov edi, 8
mov byte [ebp - 4], bl
cmp dword [ebp - 0x1c], edi
jb 0x407723
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x5b07c8]
cmp dword [0x5b07dc], edi
jae 0x407741
mov edx, 0x5b07c8
xor eax, eax
mov word [ebp - 0x180], ax
mov ebx, 7
mov eax, edx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x170], esi
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x407760
sub eax, edi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x180]
call fcn.0040d980
push 0xffffffffffffffff
mov byte [ebp - 4], 0x4b
xor ecx, ecx
push esi
lea edx, [ebp - 0x180]
mov word [ebp - 0x30], cx
push edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], esi
call fcn.0040d880
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x4c
call fcn.004034c0
test al, al
mov edi, 8
sete bl
mov byte [ebp - 4], 0x4b
cmp dword [ebp - 0x1c], edi
jb 0x4077c9
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
test bl, bl
je 0x407811
push 0xffffffffffffffff
xor ecx, ecx
push esi
lea edx, [ebp - 0x180]
mov word [ebp - 0x30], cx
push edx
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], esi
call fcn.0040d880
lea eax, [ebp - 0x30]
push esi
push eax
mov byte [ebp - 4], 0x4d
call fcn.0049b7e0
add esp, 8
cmp dword [ebp - 0x1c], edi
jb 0x407811
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
mov dword [ebp - 4], 0x4a
lea ecx, [ebp - 0xbc]
push ecx
lea edx, [ebp - 0x14c8]
push edx
lea esi, [ebp - 0xd8]
call fcn.004239f0
mov bl, al
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test bl, bl
jne 0x407a03
lea eax, [ebp - 0x159c]
push eax
call fcn.0040a0e0
mov byte [ebp - 4], 0x50
cmp dword [ebp - 0xc4], 8
mov esi, dword [ebp - 0xd8]
jae 0x407868
lea esi, [ebp - 0xd8]
lea ecx, [ebp - 0x159c]
push str.Error_extracting_CAB:
push ecx
call fcn.00416190
add esp, 8
push esi
push eax
call fcn.00415b80
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.extractInstance.extractFile__cabFullPath__cabPath__
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x166
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push edi
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x51
call fcn.004045b0
mov byte [ebp - 4], 0x52
cmp dword [eax + 0x14], 0x10
jb 0x4079d0
mov edx, dword [eax]
mov dword [ebp - 0x14d0], edx
jmp 0x4079d6
mov dword [ebp - 0x14d0], eax
lea eax, [ebp - 0x14d0]
push eax
lea ecx, [ebp - 0x1658]
call fcn.0049ce20
push 0x58c098
lea ecx, [ebp - 0x1658]
push ecx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
push 0xffffffffffffffff
xor esi, esi
push esi
lea eax, [ebp - 0xbc]
xor edx, edx
mov ebx, 7
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], esi
mov word [ebp - 0x68], dx
call fcn.0040d880
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x14f8]
mov byte [ebp - 4], 0x53
call fcn.00403530
mov edi, 8
mov byte [ebp - 4], 0x55
cmp dword [ebp - 0x54], edi
jb 0x407a55
mov edx, dword [ebp - 0x68]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], esi
mov word [ebp - 0x68], ax
mov ecx, dword [ebp - 0x14f8]
cmp ecx, esi
setne al
test al, al
je 0x407f4d
cmp dword [ecx + 0x10], esi
je 0x407ae8
lea esi, [ebp - 0x84]
call fcn.00417360
mov byte [ebp - 4], 0x56
mov ebx, dword [ebp - 0x14dc]
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x14f8]
or ebx, 1
mov dword [ebp - 0x14dc], ebx
call fcn.004987d0
lea edx, [ebp - 0x30]
mov dword [ebp - 4], 0x57
or ebx, 2
push edx
mov ecx, eax
mov dword [ebp - 0x14dc], ebx
call fcn.00499440
mov ecx, esi
push ecx
mov dword [ebp - 4], 0x58
or ebx, 4
mov ecx, eax
mov dword [ebp - 0x14dc], ebx
call fcn.00499390
test eax, eax
je 0x407aee
mov byte [ebp - 0x14c9], 1
jmp 0x407af5
mov ebx, dword [ebp - 0x14dc]
mov byte [ebp - 0x14c9], 0
test bl, 4
je 0x407b28
and ebx, 0xfffffffb
mov dword [ebp - 0x14dc], ebx
cmp dword [ebp - 0x1c], edi
jb 0x407b14
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
xor edi, edi
xor eax, eax
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], ax
jmp 0x407b2a
xor edi, edi
mov esi, 7
test bl, 2
je 0x407b5b
and ebx, 0xfffffffd
cmp dword [ebp - 0x38], 8
mov dword [ebp - 0x14dc], ebx
jb 0x407b4f
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x4c], dx
mov dword [ebp - 4], 0x55
test bl, 1
je 0x407b85
and ebx, 0xfffffffe
cmp dword [ebp - 0x70], 8
mov dword [ebp - 0x14dc], ebx
jb 0x407b85
mov eax, dword [ebp - 0x84]
push eax
call fcn.0049cf83
add esp, 4
cmp byte [ebp - 0x14c9], 0
je 0x407e83
push 0xffffffffffffffff
xor ecx, ecx
push edi
lea edx, [ebp - 0x180]
mov word [ebp - 0x84], cx
push edx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], edi
call fcn.0040d880
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x14f8]
push 0xffffffffffffffff
push edi
xor eax, eax
push ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], edi
mov word [ebp - 0x4c], ax
call fcn.0040d880
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x5a
call fcn.004987d0
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x5b
call fcn.004112b0
mov esi, 8
cmp dword [ebp - 0x1c], esi
jb 0x407c11
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0x70], esi
jae 0x407c26
lea edx, [ebp - 0x84]
xor ecx, ecx
mov eax, edx
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], cx
lea esi, [eax + 2]
jmp 0x407c40
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x407c40
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x30]
call fcn.0040d980
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x5d
call fcn.004034c0
mov esi, 8
mov byte [ebp - 4], 0x5c
mov bl, al
cmp dword [ebp - 0x1c], esi
jb 0x407c81
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
test bl, bl
je 0x407cf6
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0x70], esi
jae 0x407c96
lea edx, [ebp - 0x84]
xor eax, eax
mov word [ebp - 0x30], ax
mov eax, edx
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], edi
lea esi, [eax + 2]
jmp 0x407cb0
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x407cb0
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x30]
call fcn.0040d980
mov eax, dword [ebp - 0x30]
mov esi, 8
cmp dword [ebp - 0x1c], esi
jae 0x407cd9
lea eax, [ebp - 0x30]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x1c], esi
jb 0x407cf6
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x4c]
push eax
call fcn.004389d0
add esp, 8
test al, al
jne 0x407e3a
test byte [0x5b0b2c], 1
jne 0x407d43
or dword [0x5b0b2c], 1
push 0x5b0b14
mov dword [0x5b0b10], 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x54b980
call fcn.0049ddb1
add esp, 4
push 0x5b0b14
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x5b0b10], 0xfa0
push 0x5b0b14
setbe bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
je 0x407e3a
test byte [0x5b0b90], 1
jne 0x407da2
or dword [0x5b0b90], 1
mov byte [ebp - 4], 0x5e
call fcn.0040e5d0
push 0x54b970
mov dword [0x5b0988], 0x578cc0
call fcn.0049ddb1
add esp, 4
mov byte [ebp - 4], 0x5c
lea esi, [ebp - 0x15ac]
mov eax, 0x5b0988
call fcn.0040b920
add eax, 8
push str.__ERR____
push eax
mov byte [ebp - 4], 0x5f
call fcn.00415b80
add esp, 8
push str.psresident.cpp
push eax
call fcn.00416190
add esp, 8
push 0x577be4
push eax
call fcn.00415b80
add esp, 8
push 0x17b
push eax
call fcn.00409560
push 0x577db0
push eax
call fcn.00415b80
add esp, 8
push str.Error_copying_cab_from
push eax
call fcn.00416190
add esp, 8
lea edx, [ebp - 0x4c]
mov ecx, eax
call fcn.00417420
push 0x5787f0
push eax
call fcn.00416190
add esp, 8
lea edx, [ebp - 0x84]
mov ecx, eax
call fcn.00417420
mov ebx, esi
mov byte [ebp - 4], 0x5c
call fcn.0040b9a0
mov dword [ebp - 4], 0x5a
mov esi, 8
cmp dword [ebp - 0x38], esi
jb 0x407e57
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov byte [ebp - 4], 0x55
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], dx
cmp dword [ebp - 0x70], esi
jb 0x407e83
mov eax, dword [ebp - 0x84]
push eax
call fcn.0049cf83
add esp, 4
lea ecx, [ebp - 0x14f8]
push 0
push ecx
call fcn.0049b020
mov ebx, 7
add esp, 8
xor esi, esi
lea edi, [ebx + 1]
jmp 0x407a61
push 0xb
xor edx, edx
push str.installmode
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], dx
call fcn.0040d980
mov byte [ebp - 4], 0x62
push 0xe
xor eax, eax
push str.SoftwarePSafe
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x4c], ax
call fcn.0040d980
lea esi, [ebp - 0x30]
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x14f0]
call fcn.004174b0
mov bl, al
cmp dword [ebp - 0x38], edi
jb 0x407fab
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov edi, 7
mov byte [ebp - 4], 0x55
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], dx
jb 0x407fd6
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test bl, bl
jne 0x4080ce
lea ecx, [ebp - 0x159c]
push ecx
call fcn.0040a0e0
lea edx, [ebp - 0x159c]
push str.Error_setting_installmode_regkey.
push edx
mov byte [ebp - 4], 0x63
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.reg.setReg__L_SoftwarePSafe___L_installmode____true_
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x187
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
add esp, 8
push esi
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x64
call fcn.004045b0
mov byte [ebp - 4], 0x65
cmp dword [eax + 0x14], 0x10
jb 0x40809b
mov eax, dword [eax]
lea ecx, [ebp - 0x14d0]
push ecx
lea ecx, [ebp - 0x15d8]
mov dword [ebp - 0x14d0], eax
call fcn.0049ce20
push 0x58c098
lea edx, [ebp - 0x15d8]
push edx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
mov eax, dword [ebp - 0x14e0]
push eax
call fcn.00405fd0
add esp, 4
xor ecx, ecx
push 2
mov word [ebp - 0x30], cx
xor esi, esi
push 0x5788bc
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], esi
call fcn.0040d980
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x66
call fcn.004046f0
mov byte [ebp - 4], 0x55
cmp dword [ebp - 0x1c], 8
jb 0x40811c
mov edx, dword [ebp - 0x30]
push edx
call fcn.0049cf83
add esp, 4
push esi
xor eax, eax
push 0x577ae4
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], esi
mov word [ebp - 0xf4], ax
call fcn.0040d980
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 0x68
call fcn.00439570
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x69
call fcn.0040d620
cmp dword [ebp - 0x1c], 8
jb 0x408170
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
mov dword [ebp - 4], 0x67
xor ebx, ebx
mov byte [ebp - 4], 0x6d
call fcn.00405b20
lea ecx, [ebp - 0x3a8]
call fcn.00494490
mov byte [ebp - 4], 0x6e
push ebx
mov edi, 0xf
push 0x577ae6
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
call fcn.00410af0
mov byte [ebp - 4], 0x6f
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xf4]
cmp ecx, 8
jae 0x4081c8
lea eax, [ebp - 0xf4]
mov edx, dword [ebp - 0xe4]
cmp ecx, 8
mov ecx, dword [ebp - 0xf4]
lea eax, [eax + edx*2]
jae 0x4081e2
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 0x14d4]
push edx
push eax
push ecx
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], 0
call fcn.0041b7a0
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x30]
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0x70
call fcn.00494860
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x40822a
mov edx, dword [ebp - 0x68]
push edx
call fcn.0049cf83
add esp, 4
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], 0
cmp dword [ebp - 0x1c], esi
jb 0x408245
mov eax, dword [ebp - 0x30]
push eax
call fcn.0049cf83
add esp, 4
lea ecx, [ebp - 0x3a8]
push ecx
mov byte [ebp - 4], 0x6d
call fcn.00408ca0
mov dword [ebp - 4], 0x67
push 2
xor eax, eax
xor edi, edi
mov esi, 7
push 0x5788e8
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], ax
call fcn.0040d980
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x75
call fcn.004046f0
mov byte [ebp - 4], 0x67
cmp dword [ebp - 0x1c], 8
jb 0x4082a0
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
push esi
xor edx, edx
push str.install
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a8], edi
mov word [ebp - 0x1b8], dx
call fcn.0040d980
push 0x578900
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x12c]
push ecx
mov byte [ebp - 4], 0x76
call fcn.00416c70
add esp, 0xc
push 0xffffffffffffffff
mov byte [ebp - 4], 0x77
push edi
lea eax, [ebp - 0x12c]
xor edx, edx
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], dx
call fcn.0040d880
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x78
call fcn.004034c0
mov byte [ebp - 4], 0x77
cmp dword [ebp - 0x1c], 8
mov bl, al
jb 0x40832b
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0049cf83
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14d4], eax
test bl, bl
jne 0x408624
lea edx, [ebp - 0x159c]
push edx
call fcn.0040a0e0
lea eax, [ebp - 0x159c]
push str.Could_not_find:
push eax
mov byte [ebp - 4], 0x79
call fcn.00416190
add esp, 8
lea ecx, [ebp - 0x12c]
push ecx
push eax
call fcn.004169b0
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.boost::filesystem::exists_svcFullName_
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x1aa
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
mov edx, dword [ebp - 0x14d4]
add esp, 8
push edx
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x7a
call fcn.004045b0
mov byte [ebp - 4], 0x7b
cmp dword [eax + 0x14], 0x10
jb 0x40840a
mov eax, dword [eax]
lea ecx, [ebp - 0x14d0]
push ecx
lea ecx, [ebp - 0x15e4]
mov dword [ebp - 0x14d0], eax
call fcn.0049ce20
push 0x58c098
lea edx, [ebp - 0x15e4]
push edx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
push 0xfa0
call fcn.00403ae0
mov edi, eax
call fcn.004025c0
test al, al
je 0x4084e8
call fcn.00403a70
lea esi, [ebp - 0x15ac]
call fcn.0040b920
mov esi, eax
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x1624]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
push str.__ERR____
add esi, 8
push esi
mov edi, eax
call fcn.00415b80
add esp, 8
push str.psresident.cpp
push eax
call fcn.00416190
add esp, 8
push 0x577be4
push eax
call fcn.00415b80
add esp, 8
push 0x193
push eax
call fcn.00409560
push 0x577db0
push eax
call fcn.00415b80
add esp, 8
push str.error_to_generate_guid:
push eax
call fcn.00416190
add esp, 8
push edi
push eax
call fcn.00416190
add esp, 8
lea ebx, [ebp - 0x15ac]
mov byte [ebp - 4], 0x6a
call fcn.0040b9a0
push 0x5788e0
lea ecx, [ebp - 0x30]
call fcn.00403470
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x6c
call fcn.004046f0
lea ecx, [ebp - 0x30]
call fcn.00403500
mov dword [ebp - 4], 0x67
mov eax, 0x408177
ret
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x12c]
call fcn.00437ab0
cmp eax, edi
sete bl
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14d4], eax
test bl, bl
jne 0x40873c
lea eax, [ebp - 0x159c]
push eax
call fcn.0040a0e0
lea ecx, [ebp - 0x159c]
push str.Error_installing_psafesvc.
push ecx
mov byte [ebp - 4], 0x7c
call fcn.00416190
add esp, 8
push str.._Failed_expression_
push eax
call fcn.00415b80
add esp, 8
push str.ret___DWORD_0
push eax
call fcn.00415b80
add esp, 8
push str._at_file
push eax
call fcn.00415b80
add esp, 8
push str._psresident.cpp_
push eax
call fcn.00415b80
add esp, 8
push str._at_line
push eax
call fcn.00415b80
add esp, 8
push 0x1ae
push eax
call fcn.00409560
push str.._Last_win_error
push eax
call fcn.00415b80
mov edx, dword [ebp - 0x14d4]
add esp, 8
push edx
push eax
call fcn.00409730
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x159c]
call fcn.0040a180
mov ecx, eax
lea ebx, [ebp - 0x30]
mov byte [ebp - 4], 0x7d
call fcn.004045b0
mov byte [ebp - 4], 0x7e
cmp dword [eax + 0x14], 0x10
jb 0x408709
mov eax, dword [eax]
lea ecx, [ebp - 0x14d0]
push ecx
lea ecx, [ebp - 0x15fc]
mov dword [ebp - 0x14d0], eax
call fcn.0049ce20
push 0x58c098
lea edx, [ebp - 0x15fc]
push edx
mov dword [ebp - method.std::logic_error.virtual_0], vtable.std::runtime_error.0
call fcn.004a60bb
call fcn.00405400
mov ebx, 8
cmp dword [ebp - 0x118], ebx
jb 0x40875d
mov eax, dword [ebp - 0x12c]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], edi
mov word [ebp - 0x12c], cx
cmp dword [ebp - 0x1a4], ebx
jb 0x408789
mov edx, dword [ebp - 0x1b8]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a8], edi
mov word [ebp - 0x1b8], ax
cmp dword [ebp - 0xe0], ebx
jb 0x4087b5
mov ecx, dword [ebp - 0xf4]
push ecx
call fcn.0049cf83
add esp, 4
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x14f4]
xor edx, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xe4], edi
mov word [ebp - 0xf4], dx
cmp eax, edi
je 0x408804
mov esi, eax
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x408804
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x408804
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov esi, ebx
cmp dword [ebp - 0x16c], esi
jb 0x40881d
mov eax, dword [ebp - 0x180]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
mov ebx, 7
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x170], edi
mov word [ebp - 0x180], cx
cmp dword [ebp - 0xc4], esi
jb 0x40884e
mov edx, dword [ebp - 0xd8]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc8], edi
mov word [ebp - 0xd8], ax
lea esi, [ebp - 0x14c8]
mov byte [ebp - 4], 0x7f
call fcn.00422690
cmp eax, edi
je 0x408899
mov eax, dword [0x5b0758]
cmp eax, 0xffffffff
je 0x408899
push edi
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x408899
mov ecx, dword [0x5b0758]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
lea eax, [ebp - 0x14c8]
mov byte [ebp - 4], 0x2b
call fcn.004223f0
mov esi, 8
cmp dword [ebp - 0xa8], esi
jb 0x4088c4
mov edx, dword [ebp - 0xbc]
push edx
call fcn.0049cf83
add esp, 4
xor eax, eax
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], edi
mov word [ebp - 0xbc], ax
cmp dword [ebp - 0xfc], esi
jb 0x4088f0
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.0049cf83
add esp, 4
xor edx, edx
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x100], edi
mov word [ebp - 0x110], dx
cmp dword [ebp - 0x188], esi
jb 0x40891c
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0049cf83
add esp, 4
lea edx, [ebp - 0x15cc]
xor ecx, ecx
push edx
mov dword [ebp - 0x188], ebx
mov dword [ebp - 0x18c], edi
mov word [ebp - 0x19c], cx
mov byte [ebp - 4], 3
call fcn.00408c10
cmp dword [ebp - 0x150], esi
jb 0x408958
mov eax, dword [ebp - 0x164]
push eax
call fcn.0049cf83
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x154], edi
mov word [ebp - 0x164], cx
cmp dword [ebp - 0x134], esi
jb 0x408984
mov edx, dword [ebp - 0x148]
push edx
call fcn.0049cf83
add esp, 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.0049cc86
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x14d4]
push eax
lea ecx, [ebp - 0x1614]
mov dword [ebp - 0x14d4], ebx
call fcn.0049ce20
push 0x58c2f8
lea ecx, [ebp - 0x1614]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.004a60bb
mov dword [ebp - 0x10], esp
push 0xfa0
call fcn.00403ae0
mov edi, eax
call fcn.004025c0
test al, al
je 0x408a79
call fcn.00403a70
lea esi, [ebp - 0x15ac]
call fcn.0040b920
mov edi, eax
mov byte [ebp - 4], 0x81
mov esi, dword [ebp - 0x14fc]
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
push eax
push 0x577db0
push 0x1b5
push 0x577be4
push str.psresident.cpp
push str.__ERR____
add edi, 8
push edi
call fcn.00415b80
add esp, 8
push eax
call fcn.00416190
add esp, 8
push eax
call fcn.00415b80
add esp, 8
push eax
call fcn.00409560
push eax
call fcn.00415b80
add esp, 8
push eax
call fcn.00416190
add esp, 8
lea ebx, [ebp - 0x15ac]
mov byte [ebp - 4], 0x80
call fcn.0040b9a0
jmp 0x408a7f
mov esi, dword [ebp - 0x14fc]
lea ecx, [ebp - 0xa0]
call fcn.00409f60
lea edi, [ebp - 0x148]
mov byte [ebp - 4], 0x83
call fcn.00439570
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x84
call fcn.0040d620
mov ecx, edi
call fcn.00403500
mov dword [ebp - 4], 0x82
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
push eax
lea ecx, [ebp - 0x148]
call fcn.00408f40
sub esp, 0x1c
mov bl, 0x88
mov byte [ebp - 4], bl
lea eax, [ebp - 0x148]
mov esi, esp
mov dword [ebp - 0x14d4], esp
call fcn.00430130
push 0x14
sub esp, 0x1c
mov byte [ebp - 4], 0x89
lea edx, [ebp - 0xa0]
mov ecx, esp
mov dword [ebp - 0x14e0], esp
push edx
call fcn.00403440
mov byte [ebp - 4], bl
call fcn.00404930
add esp, 0x3c
lea ecx, [ebp - 0x148]
call fcn.00408f80
lea ecx, [ebp - 0xa0]
call fcn.00403500
mov eax, 0x408984
ret