Function at 0x40bd90
Capabilities:
Check if file exists
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4acf24
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b0
mov eax, dword [0x4d500c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.CSBSCP202301101519mutex
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x1c0], edi
call esi
cmp eax, 0xb7
jne 0x40be1c
test edi, edi
je 0x40be02
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push eax
push str.HandleInstallBrowserChrome
push str._s:CreateMutex___alreadly_run:_d
call fcn.00404c50
add esp, 0xc
jmp 0x40cefc
push 0x4c4794
push 0x3e8
push dword [0x4dea14]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov ecx, 1
mov dword [0x4dea18], 1
call fcn.004016b0
mov ecx, str.CSInstallTimeNsUnit
call fcn.0040f8c0
call fcn.00404b50
cmp dword [eax + 0x14], 8
jb 0x40be5d
mov eax, dword [eax]
push eax
push ecx
mov edx, 0x4c5cbc
mov ecx, 0x4c5cc0
call fcn.00427680
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call fcn.00432e30
add esp, 8
mov ecx, str.ChromeSelf.exe
call fcn.00425ca0
mov ecx, str.CSRChrm.exe
call fcn.00425ca0
mov ecx, 0x4c509c
call fcn.00425ca0
mov ecx, str.GoogleUpdateSetup.exe
call fcn.00425ca0
mov ecx, str.GoogleCrashHandler.exe
call fcn.00425ca0
mov ecx, str.GoogleCrashHandler64.exe
call fcn.00425ca0
lea edx, [ebp - 0x34]
mov dword [ebp - 0x1ac], 0
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
call fcn.0040fcd0
mov esi, eax
mov dword [ebp - 0x1a8], esi
call fcn.004147a0
mov edi, eax
mov dword [ebp - 0x98], 0
xor eax, eax
mov dword [ebp - 0x1b0], edi
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], 7
mov word [ebp - 0x15c], ax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], 7
mov word [ebp - 0x174], ax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], 7
mov word [ebp - 0x18c], ax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 4
call fcn.0040d3f0
mov dword [ebp - 0x1b8], eax
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 7
mov word [ebp - 0xe4], ax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 5
call fcn.0040d4e0
push 1
mov edx, 1
mov dword [ebp - 0x1b4], eax
call fcn.0040f2e0
xor eax, eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], 7
mov word [ebp - 0x1a4], ax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
mov byte [ebp - 4], 0xa
test edi, edi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
jne 0x40c292
lea ecx, [ebp - 0x80]
call fcn.00409040
push ecx
lea ecx, [ebp - 0x68]
call fcn.00409350
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x80]
cmp edx, 8
jb 0x40c089
test ecx, ecx
je 0x40c272
cmp edx, 8
lea eax, [ebp - 0x80]
cmovae eax, ecx
cmp word [eax], 0
je 0x40c272
cmp edx, 8
lea eax, [ebp - 0x80]
cmovae eax, ecx
push eax
call edi
test eax, eax
je 0x40c272
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x68]
cmp edx, 8
jb 0x40c0c3
test ecx, ecx
je 0x40c272
cmp edx, 8
lea eax, [ebp - 0x68]
cmovae eax, ecx
cmp word [eax], 0
je 0x40c272
cmp edx, 8
lea eax, [ebp - 0x68]
cmovae eax, ecx
push eax
call edi
test eax, eax
je 0x40c272
xor eax, eax
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
mov byte [ebp - 4], 0xd
mov esi, dword [sym.imp.USER32.dll_MessageBoxW]
nop dword [eax]
lea ecx, [ebp - 0x80]
call fcn.00416dd0
cmp dword [ebp - 0x6c], 8
lea ecx, [ebp - 0x80]
cmovae ecx, dword [ebp - 0x80]
call fcn.004173d0
test eax, eax
jne 0x40c180
push 0x35
push 0x4c5340
push 0x4c5358
push eax
call esi
cmp eax, 2
je 0x40c176
cmp dword [ebp - 0x6c], 8
lea ecx, [ebp - 0x80]
cmovae ecx, dword [ebp - 0x80]
call fcn.004173d0
test eax, eax
je 0x40c130
jmp 0x40c180
mov dword [ebp - 0x1ac], 1
cmp dword [ebp - 0x6c], 8
lea ecx, [ebp - 0x80]
cmovae ecx, dword [ebp - 0x80]
call fcn.004173d0
mov ecx, dword [ebp - 0x1a8]
xor edx, edx
push 0
push edx
test eax, eax
lea eax, [ebp - 0x34]
push edx
push eax
lea eax, [ebp - 0x38]
push eax
je 0x40c1cc
push 0x202
push edx
push edx
call fcn.00414ff0
cmp dword [ebp - 0x54], 8
lea ecx, [ebp - 0x68]
lea edx, [ebp - 0x12c]
cmovae ecx, dword [ebp - 0x68]
call fcn.004097c0
jmp 0x40c1da
push 0x203
push 0
push 0
call fcn.00414ff0
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40c218
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c20e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf1c
push edx
push ecx
call fcn.0044b3bd
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
cmp edx, 8
jb 0x40c292
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c266
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf1c
push edx
push ecx
call fcn.0044b3bd
add esp, 8
jmp 0x40c292
push 0
push 0
push 0
lea eax, [ebp - 0x34]
xor edx, edx
push eax
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
push 0x201
push 0
push 0
call fcn.00414ff0
mov ecx, 7
mov dword [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], ecx
mov word [ebp - 0x50], ax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], ecx
mov word [ebp - 0x114], ax
mov esi, dword [ebp - 0x1ac]
mov byte [ebp - 4], 0x12
test esi, esi
jne 0x40c45b
cmp dword [ebp - 0xd4], esi
jne 0x40c2f8
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], ecx
jmp 0x40c3a8
cmp dword [ebp - 0xd0], 8
lea ecx, [ebp - 0xe4]
push 0
cmovae ecx, dword [ebp - 0xe4]
call fcn.004335c0
xor eax, eax
mov dword [ebp - 0x30], 0
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0xe4]
cmp dword [ebp - 0xd0], 8
jb 0x40c34e
mov edx, dword [ebp - 0xe4]
test edx, edx
je 0x40c38c
cmp word [edx], 0
je 0x40c38c
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c360
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.00404350
mov edx, str.ChromeSetup.exe
lea ecx, [ebp - 0x30]
call fcn.0041af80
mov esi, dword [ebp - 0x1ac]
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ebp - 0xb0], xmm0
movq xmm0, qword [ebp - 0x20]
movq qword [ebp - 0xa0], xmm0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00403f10
mov edx, dword [ebp - 0x9c]
cmp edx, 8
jb 0x40c3f7
mov ecx, dword [ebp - 0xb0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c3ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf21
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, 1
lea ecx, [ebp - 0x50]
call fcn.004091d0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
cmp ecx, 8
jb 0x40c413
test edx, edx
je 0x40c45e
cmp ecx, 8
lea eax, [ebp - 0x50]
cmovae eax, edx
cmp word [eax], 0
je 0x40c45e
cmp ecx, 8
lea eax, [ebp - 0x50]
cmovae eax, edx
push eax
call edi
test eax, eax
je 0x40c458
xor edx, edx
lea ecx, [ebp - 0x114]
call fcn.004091d0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xb4], 0
jmp 0x40c477
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0xb4], 0
test esi, esi
jne 0x40c552
cmp ecx, 8
jb 0x40c484
test edx, edx
je 0x40c50d
cmp ecx, 8
lea eax, [ebp - 0x50]
cmovae eax, edx
cmp word [eax], 0
je 0x40c50d
cmp ecx, 8
lea eax, [ebp - 0x50]
cmovae eax, edx
push eax
call edi
test eax, eax
je 0x40c50d
cmp dword [ebp - 0x1b0], 0
lea ecx, [ebp - 0x50]
je 0x40c4d6
cmp dword [ebp - 0x3c], 8
lea eax, [ebp - 0x1bc]
push 1
cmovae ecx, dword [ebp - 0x50]
push ecx
push eax
push ecx
push dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], 1
push 1
jmp 0x40c4e8
cmp dword [ebp - 0x3c], 8
push 0
cmovae ecx, dword [ebp - 0x50]
push ecx
push 0
push ecx
push 0
push 0
push ecx
xor edx, edx
call fcn.00416a40
mov esi, eax
call fcn.004015e0
test esi, esi
je 0x40c512
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40c512
call fcn.004015e0
mov esi, dword [ebp - 0x1a8]
test esi, esi
je 0x40c541
sub esp, 8
lea edx, [ebp - 0x18]
call fcn.00410ea0
cmp dword [ebp - 0x18], 0
jne 0x40c558
xor ecx, ecx
call fcn.00412810
sub esp, 8
lea edx, [ebp - 0x18]
call fcn.00410ea0
jmp 0x40c558
call fcn.00409b10
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0x18], ecx
jmp 0x40c558
mov esi, dword [ebp - 0x1a8]
push 1
push 0
push 0x1ff0000
mov edx, 1
call fcn.00410570
push 0
lea eax, [ebp - 0xb4]
xor edx, edx
push eax
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
push 0xffffffffffffffff
push 0
push 0
call fcn.00414ff0
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x68]
cmp edx, 8
jb 0x40c5a2
test ecx, ecx
je 0x40c783
cmp edx, 8
lea eax, [ebp - 0x68]
cmovae eax, ecx
cmp word [eax], 0
je 0x40c783
cmp edx, 8
lea eax, [ebp - 0x68]
cmovae eax, ecx
push eax
call edi
test eax, eax
je 0x40c783
cmp dword [ebp - 0x1b0], 0
jne 0x40c679
lea ecx, [ebp - 0x30]
call fcn.004185d0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
lea ecx, [ebp - 0x68]
push 0
cmovae edx, dword [ebp - 0x30]
cmp dword [ebp - 0x54], 8
cmovae ecx, dword [ebp - 0x68]
push ecx
push 0
push ecx
push 0
push 0
push ecx
call fcn.00416a40
mov byte [ebp - 4], 0x12
mov esi, eax
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40c648
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c63e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf26
push edx
push ecx
call fcn.0044b3bd
add esp, 8
xor eax, eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 7
mov word [ebp - 0x30], ax
test esi, esi
je 0x40c673
push 0x3e8
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x1a8]
cmp dword [ebp - 0x1ac], 0
jne 0x40c9c1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x17
call fcn.00405670
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x18
call fcn.00405730
cmp dword [ebp - 0x1c], 0x10
lea ecx, [ebp - 0x30]
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xcc], 0
cmovae ecx, dword [ebp - 0x30]
cmp dword [ebp - 0xe8], 0x10
mov dword [ebp - 0xbc], 0
cmovae eax, dword [ebp - 0xfc]
xor edx, edx
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], dx
push eax
push ecx
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0x19
push str.__S____S_
push eax
call fcn.0041a7f0
add esp, 0x10
lea ecx, [ebp - 0xcc]
push eax
call fcn.00403f10
mov edx, dword [ebp - 0x9c]
cmp edx, 8
jb 0x40c7b2
mov ecx, dword [ebp - 0xb0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c7a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf2b
jmp 0x40c7a8
push 0
push 0
push 0
lea eax, [ebp - 0x34]
xor edx, edx
push eax
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
push 0x1f5
push 0
push 0
call fcn.00414ff0
jmp 0x40c679
push edx
push ecx
call fcn.0044b3bd
add esp, 8
cmp dword [ebp - 0x1b0], 0
jne 0x40c7d9
cmp dword [ebp - 0xb8], 8
lea ecx, [ebp - 0xcc]
cmovae ecx, dword [ebp - 0xcc]
call fcn.00412810
jmp 0x40c8cf
lea ecx, [ebp - 0xb0]
call fcn.00411890
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xb0]
cmp edx, 8
jb 0x40c801
test ecx, ecx
je 0x40c897
cmp edx, 8
lea eax, [ebp - 0xb0]
cmovae eax, ecx
cmp word [eax], 0
je 0x40c897
cmp edx, 8
lea eax, [ebp - 0xb0]
cmovae eax, ecx
push eax
call edi
test eax, eax
je 0x40c88b
push ecx
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x98]
push eax
push ecx
call fcn.0040cf50
cmp dword [ebp - 0xb8], 8
lea ecx, [ebp - 0xcc]
lea eax, [ebp - 0xb0]
cmovae ecx, dword [ebp - 0xcc]
lea edx, [ebp - 0x98]
cmp dword [ebp - 0x9c], 8
cmovae eax, dword [ebp - 0xb0]
cmp dword [ebp - 0x84], 8
cmovae edx, dword [ebp - 0x98]
sub esp, 8
push ecx
mov ecx, dword [ebp - 0x1b8]
push eax
call fcn.0040d670
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x19
cmp edx, 8
jb 0x40c8cf
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c8c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf30
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xb8]
cmp edx, 8
jb 0x40c913
mov ecx, dword [ebp - 0xcc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c909
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf35
push edx
push ecx
call fcn.0044b3bd
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], ax
cmp edx, 0x10
jb 0x40c96e
mov ecx, dword [ebp - 0xfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c964
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf35
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
cmp edx, 0x10
jb 0x40c9c1
mov ecx, dword [ebp - 0x30]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c9b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf3a
push edx
push ecx
call fcn.0044b3bd
add esp, 8
lea ecx, [ebp - 0x30]
mov dword [0x4de944], 1
call fcn.00411890
cmp dword [ebp - 0x1c], 8
lea eax, [ebp - 0x30]
cmovae eax, dword [ebp - 0x30]
push eax
call edi
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x40ca21
cmp edx, 8
jb 0x40ca62
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf3f
push edx
push ecx
call fcn.0044b3bd
add esp, 8
jmp 0x40ca62
cmp edx, 8
jb 0x40ca58
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf3f
push edx
push ecx
call fcn.0044b3bd
add esp, 8
cmp dword [ebp - 0x18], 0
je 0x40cb09
xor edx, edx
xor ecx, ecx
call fcn.0040fcd0
test eax, eax
jne 0x40cb09
test esi, esi
je 0x40ca80
cmp dword [ebp - 0x18], eax
je 0x40cb09
call fcn.00404b50
cmp dword [eax + 0x14], 8
jb 0x40ca8d
mov eax, dword [eax]
push eax
push ecx
mov edx, 0x4c5cb8
mov ecx, 0x4c5cc0
call fcn.00427680
add esp, 8
cmp dword [ebp - 0x1b0], 0
je 0x40cb12
lea ecx, [ebp - 0x30]
call fcn.004183f0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
push ecx
cmovae eax, dword [ebp - 0x30]
push eax
push ecx
call fcn.004192f0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1c]
cmp edx, 8
jb 0x40cb12
mov ecx, dword [ebp - 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cafd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
jmp 0x40cb12
push ecx
push 0
push ecx
call fcn.004192f0
cmp dword [ebp - 0x3c], 8
mov edi, dword [sym.imp.USER32.dll_IsWindow]
jb 0x40cb24
cmp dword [ebp - 0x50], 0
je 0x40cb7d
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
cmp edx, 8
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, ecx
cmp word [eax], 0
je 0x40cb83
cmp edx, 8
lea eax, [ebp - 0x50]
cmovae eax, ecx
push eax
call esi
test eax, eax
je 0x40cb83
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x40cb6b
push eax
call edi
test eax, eax
je 0x40cb6b
mov ecx, dword [ebp - 0x1b4]
call fcn.004282e0
cmp dword [ebp - 0x3c], 8
lea ecx, [ebp - 0x50]
cmovae ecx, dword [ebp - 0x50]
call fcn.00420690
jmp 0x40cb83
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp dword [ebp - 0x84], 8
jb 0x40cb99
cmp dword [ebp - 0x98], 0
je 0x40cc2e
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0x98]
cmp edx, 8
cmovae eax, ecx
cmp word [eax], 0
je 0x40cc2e
cmp edx, 8
lea eax, [ebp - 0x98]
cmovae eax, ecx
push eax
call esi
test eax, eax
je 0x40cc2e
cmp dword [ebp - 0x84], 8
lea ecx, [ebp - 0x98]
cmovae ecx, dword [ebp - 0x98]
push ecx
call fcn.00425bc0
mov esi, eax
add esp, 4
test esi, esi
je 0x40cbfd
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x1b8]
test esi, esi
je 0x40cc15
push esi
call edi
test eax, eax
je 0x40cc15
mov ecx, esi
call fcn.004282e0
cmp dword [ebp - 0x84], 8
lea ecx, [ebp - 0x98]
cmovae ecx, dword [ebp - 0x98]
call fcn.00420690
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x40cc3f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x100]
cmp edx, 8
jb 0x40cc7f
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cc75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x3c]
cmp edx, 8
jb 0x40ccb9
mov ecx, dword [ebp - 0x50]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ccaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x118]
xor eax, eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
cmp edx, 8
jb 0x40cd0d
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
cmp edx, 8
jb 0x40cd64
mov ecx, dword [ebp - 0x68]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], ax
cmp edx, 8
jb 0x40cdb2
mov ecx, dword [ebp - 0x80]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cda8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0xd0]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
cmp edx, 8
jb 0x40ce06
mov ecx, dword [ebp - 0xe4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cdfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x130]
cmp edx, 8
jb 0x40ce46
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce3c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x148]
xor eax, eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
cmp edx, 8
jb 0x40cea3
mov ecx, dword [ebp - 0x15c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
mov edx, dword [ebp - 0x84]
xor eax, eax
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 7
mov word [ebp - 0x15c], ax
cmp edx, 8
jb 0x40cefc
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cef2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf44
push edx
push ecx
call fcn.0044b3bd
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044ae26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
call fcn.0047aa50
int3