Function at 0x40847a
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1364
call fcn.0047e160
mov eax, dword [0x4b9e20]
xor eax, esp
mov dword [esp + 0x1360], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
call fcn.004446a8
mov edi, 0x4bd090
mov ecx, edi
call fcn.004574d3
xor ebx, ebx
cmp esi, ebx
je 0x4084c8
push esi
call fcn.0046faa4
pop ecx
push eax
push esi
mov ecx, 0x4bced0
call fcn.0040cee2
push esi
call fcn.00408bed
pop ecx
test eax, eax
je 0x4085e8
cmp byte [0x4bfb91], 1
je 0x4084ee
cmp byte [0x4bfb92], 1
mov byte [esp + 0x13], 1
jne 0x4084f2
mov byte [esp + 0x13], bl
mov al, byte [esp + 0x13]
mov byte [0x4bfff8], al
cmp byte [0x4bfb89], bl
jne 0x40853b
push str.Offercast
lea ecx, [esp + 0x48]
call fcn.0040a4c4
cmp dword [esp + 0x58], 8
mov eax, dword [esp + 0x44]
jae 0x408520
lea eax, [esp + 0x44]
push 0x10
push eax
push str.Error_in_command_line_arguments___check_the_log_file_for_details
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
push 1
lea ecx, [esp + 0x4c]
call fcn.0040bba0
push 1
mov esi, 0xc350
push esi
call fcn.0044fb3f
push 0x49c594
push str.Initialization
call fcn.004446c7
push dword [esp + 0x13]
push esi
call fcn.00458a91
lea eax, [esp + 0x84]
push esi
push eax
call fcn.00456c5e
add esp, 0x10
cmp dword [0x4bd0a4], 8
jb 0x408581
mov edi, dword [0x4bd090]
cmp dword [esp + 0x90], 8
mov ecx, dword [esp + 0x7c]
jae 0x408593
lea ecx, [esp + 0x7c]
push dword [esp + 0x13]
call fcn.00458f0a
pop ecx
cmp dword [0x4bfb94], ebx
je 0x4085d0
mov eax, str._PIP_Local_Mode_End_
cmp byte [esp + 0x13], bl
jne 0x4085b5
mov eax, str._PIP_Remote_Mode_End_
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00409f78
mov ecx, 0x4bfcf0
call fcn.004437f6
call fcn.004505fb
lea ecx, [esp + 0x7c]
push ebx
push 1
mov esi, eax
call fcn.0040bba0
jmp 0x408aaf
cmp byte [0x4bfb91], 1
je 0x4085ff
cmp byte [0x4bfb92], 1
mov byte [esp + 0x13], 1
jne 0x408603
mov byte [esp + 0x13], bl
mov al, byte [esp + 0x13]
mov byte [0x4bfff8], al
mov byte [0x4bfd3c], al
cmp byte [0x4c05d0], bl
jne 0x40861e
call fcn.00443650
cmp dword [0x4bfb94], ebx
je 0x408651
mov eax, str._PIP_Local_Mode_start_
cmp byte [esp + 0x13], bl
jne 0x408636
mov eax, str._PIP_Remote_Mode_start_
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00409f78
mov ecx, 0x4bfcf0
call fcn.004437f6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
mov esi, 0x4bceb4
push esi
call fcn.0040a49c
lea edi, [esp + 0x7c]
call fcn.00457a8a
add esp, 0x1c
push eax
mov ecx, esi
call fcn.0040ba5a
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [esp + 0x68]
call fcn.0040bba0
cmp dword [0x4bcec4], ebx
jne 0x408782
cmp dword [0x4bfb94], ebx
je 0x4086b9
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push str.Partner_ID_empty
call fcn.00409f78
mov ecx, 0x4bfcf0
call fcn.004437f6
push edi
mov esi, 0xc350
push esi
call fcn.0044fb3f
push 0x49c594
push str.Initialization
call fcn.004446c7
push dword [esp + 0x13]
push esi
call fcn.00458a91
xor eax, eax
mov word [esp + 0x4c], ax
lea eax, [esp + 0x68]
push esi
push eax
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], ebx
call fcn.00456c5e
add esp, 0x10
push eax
lea ecx, [esp + 0x48]
call fcn.0040ba5a
push ebx
push edi
lea ecx, [esp + 0x68]
call fcn.0040bba0
cmp dword [0x4bd0a4], 8
mov edi, dword [0x4bd090]
jae 0x408728
mov edi, 0x4bd090
cmp dword [esp + 0x58], 8
mov ecx, dword [esp + 0x44]
jae 0x408737
lea ecx, [esp + 0x44]
push dword [esp + 0x13]
call fcn.00458f0a
pop ecx
cmp dword [0x4bfb94], ebx
je 0x408774
mov eax, str._PIP_Local_Mode_End_
cmp byte [esp + 0x13], bl
jne 0x408759
mov eax, str._PIP_Remote_Mode_End_
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00409f78
mov ecx, 0x4bfcf0
call fcn.004437f6
call fcn.004505fb
lea ecx, [esp + 0x44]
jmp 0x4085d9
call fcn.00450229
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov esi, dword [0x4be8c4]
mov dword [0x4c0138], ebx
jmp 0x4087a9
mov eax, dword [esi]
cmp eax, ebx
je 0x4087a6
push edi
call dword [eax + 0x20]
add esi, 4
cmp esi, dword [0x4be8c8]
jb 0x40879c
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x30], 0x4020
mov dword [esp + 0x2c], 8
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov byte [esp + 0x17], 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
cmp byte [esp + 0x13], bl
je 0x4088fb
push 0x49c6b0
push 0x64
push ebx
push 4
push ebx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x4088fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4088fb
push edi
push 0xc351
call fcn.0044fb3f
push dword [esp + 0x1c]
call fcn.004577ca
pop ecx
mov dword [esp + 0x1c], ebx
cmp byte [0x4bfb89], bl
jne 0x4088e7
push 0x104
lea eax, [esp + 0x1164]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x1160]
push eax
lea ecx, [esp + 0x64]
call fcn.0040a4c4
push dword [esp + 0x70]
lea ebx, [esp + 0x64]
push 0x49c6b8
call fcn.0040a551
inc eax
push eax
mov eax, ebx
push eax
lea esi, [esp + 0x50]
call fcn.0040a5d3
push str.Another_installer_is_running.__Please_try_again_later_
lea ecx, [esp + 0x80]
call fcn.0040a4c4
cmp dword [esp + 0x58], 8
mov ecx, dword [esp + 0x44]
jae 0x40889f
mov ecx, esi
cmp dword [esp + 0x90], 8
mov eax, dword [esp + 0x7c]
jae 0x4088b1
lea eax, [esp + 0x7c]
push 0x10
push ecx
push eax
xor esi, esi
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push esi
push 1
lea ecx, [esp + 0x84]
call fcn.0040bba0
push esi
push 1
lea ecx, [esp + 0x4c]
call fcn.0040bba0
push esi
push 1
lea ecx, [esp + 0x68]
call fcn.0040bba0
xor ebx, ebx
push 0x49c594
push str.Initialization
call fcn.004446c7
jmp 0x4089eb
mov esi, 0x49c594
push esi
push str.Initialization
call fcn.004446c7
cmp byte [esp + 0x13], bl
je 0x408929
lea eax, [esp + 0x24]
push eax
push ebx
push ebx
push 0x408ac8
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esp + 0x18], eax
call fcn.00458a5b
push dword [esp + 0x13]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0x44], edx
call fcn.0041f23f
lea ecx, [esp + 0x98]
call fcn.004270a3
mov dword [esp + 0x20], eax
call fcn.00458a5b
mov dword [esp + 0x30], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x38], edx
push str.DlgInit
mov edx, esi
lea ecx, [esp + 0x38]
call fcn.00444533
cmp dword [esp + 0x20], edi
jne 0x4089d4
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov edi, eax
lea eax, [esp + 0x98]
lea esi, [esp + 0xa0]
call fcn.00401deb
mov dword [esp + 0xbc], ebx
mov ebx, dword [0x4be88c]
push edi
mov byte [esp + 0xbc], 1
call fcn.0040f5b9
cmp dword [esp + 0xc0], 0
pop ecx
jge 0x4089d2
cmp eax, 0xffffffff
jne 0x4089d2
push dword [esp + 0xbc]
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
cmp dword [esp + 0x20], 0xffffffff
lea eax, [esp + 0x98]
push eax
setne byte [esp + 0x1b]
call fcn.0041f73e
call fcn.004516d2
call fcn.004505fb
push dword [esp + 0x13]
mov esi, eax
push esi
call fcn.00458a91
pop ecx
pop ecx
call fcn.004519e4
test al, al
je 0x408a58
cmp byte [esp + 0x17], bl
jne 0x408a58
lea eax, [esp + 0x60]
push esi
push eax
call fcn.00456c5e
cmp dword [0x4bd0a4], 8
mov edi, dword [0x4bd090]
pop ecx
pop ecx
jae 0x408a33
mov edi, 0x4bd090
cmp dword [esp + 0x74], 8
mov ecx, dword [esp + 0x60]
jae 0x408a42
lea ecx, [esp + 0x60]
push dword [esp + 0x13]
call fcn.00458f0a
pop ecx
push ebx
push 1
lea ecx, [esp + 0x68]
call fcn.0040bba0
call fcn.00443784
call fcn.00403b9c
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [esp + 0x18]
call fcn.004577ca
pop ecx
push dword [esp + 0x1c]
call fcn.004577ca
pop ecx
cmp dword [0x4bfb94], ebx
je 0x408aaf
mov eax, str._PIP_Local_Mode_End_
cmp byte [esp + 0x13], bl
jne 0x408a94
mov eax, str._PIP_Remote_Mode_End_
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00409f78
mov ecx, 0x4bfcf0
call fcn.004437f6
mov ecx, dword [esp + 0x136c]
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.0046d5b3
mov esp, ebp
pop ebp
ret 0x10