Function at 0x4b04d0
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x588ad4
mov eax, dword fs:[0]
push eax
sub esp, 0x7ec
mov eax, dword [0x5cca0c]
xor eax, esp
mov dword [esp + 0x7e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5cca0c]
xor eax, esp
push eax
lea eax, [esp + 0x800]
mov dword fs:[0], eax
mov ecx, dword [esp + 0x810]
xor ebx, ebx
mov ebp, 0xf
mov dword [esp + 0xe8], ebp
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp ecx, ebx
mov dword [esp + 0x808], ebx
je 0x4b05e0
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x4b0542
sub eax, esi
sar eax, 1
je 0x4b05e0
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040dd80
lea ecx, [esp + 0x28]
lea esi, [esp + 0x44]
mov byte [esp + 0x808], 1
call fcn.004ad680
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x814], 2
call fcn.0040a080
mov edi, 0x10
cmp dword [esp + 0x5c], edi
jb 0x4b05a6
mov eax, dword [esp + 0x48]
push eax
call fcn.0055215c
add esp, 4
cmp dword [esp + 0x40], 8
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
mov byte [esp + 0x808], bl
jb 0x4b05cd
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0055215c
add esp, 4
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], bx
jmp 0x4b05e5
mov edi, 0x10
push str.bmvpnclient
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
cmp esi, ebx
je 0x4b0ade
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4b0ad7
call fcn.004b01d0
test al, al
je 0x4b0ae3
call fcn.004a1390
mov dword [0x5ce6c4], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.005566b6
add esp, 4
mov dword [esp + 0x60], vtable.WTL::CMessageLoop.0
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
lea eax, [esp + 0x60]
push eax
mov ecx, 0x5ce6e0
mov byte [esp + 0x80c], 3
call fcn.004a5300
cmp dword [esp + 0xe4], ebx
je 0x4b0689
lea ecx, [esp + 0xd0]
push ecx
call fcn.00454520
mov ecx, eax
call fcn.004aee10
lea ecx, [esp + 0x140]
call fcn.004aca30
push ebx
push ebx
lea ecx, [esp + 0x148]
mov byte [esp + 0x810], 4
call fcn.004a5df0
mov edi, eax
cmp edi, ebx
jne 0x4b06e4
call fcn.00495cc0
lea ecx, [esp + 0x140]
mov byte [esp + 0x808], 3
call fcn.004a5b10
lea ecx, [esp + 0x60]
call fcn.004a4170
lea ecx, [esp + 0xd0]
call fcn.004074a0
jmp 0x4b0afc
mov byte [esp + 0x808], 5
call fcn.004299c0
mov ecx, eax
call fcn.00429a50
call fcn.00454520
cmp dword [eax + 0x1c], ebx
je 0x4b0746
cmp dword [eax + 0x38], ebx
je 0x4b0746
push ebx
sub esp, 0x1c
mov edx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00454520
mov ecx, eax
call fcn.004ada40
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x5c], esp
push eax
mov byte [esp + 0x848], 6
call fcn.00454520
mov ecx, eax
call fcn.004ada10
mov byte [esp + 0x844], 5
jmp 0x4b076c
push 1
sub esp, 0x1c
mov eax, esp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x14], ebx
mov dword [esp + 0x40], esp
mov byte [eax + 4], bl
sub esp, 0x1c
mov eax, esp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x14], ebx
mov dword [esp + 0x5c], esp
mov byte [eax + 4], bl
call fcn.00486660
add esp, 0x3c
cmp eax, ebx
je 0x4b078e
cmp dword [0x5ce268], ebx
je 0x4b078e
push 1
call fcn.00454450
mov ecx, eax
call fcn.00429cc0
call fcn.00454520
mov esi, dword [eax + 0x40]
push 0x59648b
lea ecx, [esp + 0x128]
push str.init_cmd_show
push ecx
call fcn.004828e0
add esp, 0xc
cmp dword [esp + 0x138], ebx
mov byte [esp + 0x808], 7
mov ebp, 0x10
je 0x4b07e8
cmp dword [esp + 0x13c], ebp
mov eax, dword [esp + 0x128]
jae 0x4b07dd
lea eax, [esp + 0x128]
push eax
call fcn.00554a20
add esp, 4
mov esi, eax
mov edx, dword [esp + 0x144]
push esi
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0046c100
test al, al
jne 0x4b0816
cmp dword [0x5ce268], ebx
jne 0x4b0816
push ebx
push ebx
push 0xfb8
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [0x5ce6dc], 1
call fcn.00454520
mov ecx, eax
call fcn.004a12e0
call fcn.0046c100
test al, al
je 0x4b0a6c
call fcn.00454520
mov ecx, eax
call fcn.0044a6b0
test al, al
jne 0x4b0a6c
push 0x1ff
lea eax, [esp + 0x601]
push ebx
push eax
mov byte [esp + 0x608], bl
call fcn.00552500
add esp, 0xc
lea ecx, [esp + 0x5fc]
push 0x200
push ecx
call fcn.0046eb90
mov ecx, eax
call fcn.0046e4c0
test eax, eax
jle 0x4b09a6
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrIA]
push 0x59a110
lea edx, [esp + 0x600]
push edx
call esi
test eax, eax
je 0x4b08b5
push ebx
mov esi, 0x650
push esi
call fcn.00492ac0
jmp 0x4b0a6c
push 0x59a10c
lea eax, [esp + 0x600]
push eax
call esi
test eax, eax
je 0x4b08d9
push ebx
mov esi, 0xfc
push esi
call fcn.00492ac0
jmp 0x4b0a6c
lea eax, [esp + 0x108]
call fcn.004ae040
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x114]
mov byte [esp + 0x814], 8
mov byte [esp + 0x24], 0x5c
call fcn.00405180
cmp eax, 0xffffffff
je 0x4b0923
mov edx, dword [esp + 0x11c]
sub edx, eax
push edx
push eax
lea ecx, [esp + 0x110]
call fcn.00406890
push 0x597698
lea ecx, [esp + 0xb8]
call fcn.0040dcb0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x114]
mov byte [esp + 0x814], 9
call fcn.00408a50
lea ecx, [esp + 0xb4]
mov byte [esp + 0x808], 8
call fcn.004074a0
cmp dword [esp + 0x120], ebp
mov eax, dword [esp + 0x10c]
jae 0x4b0977
lea eax, [esp + 0x10c]
push eax
call fcn.0046eb90
mov ecx, eax
call fcn.0046cbd0
lea ecx, [esp + 0x108]
mov esi, eax
mov byte [esp + 0x808], 7
call fcn.004074a0
push ebx
push esi
call fcn.00492ac0
jmp 0x4b0a6c
lea eax, [esp + 0xec]
call fcn.004ae040
push 1
push 0xffffffffffffffff
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x814], 0xa
mov byte [esp + 0x20], 0x5c
call fcn.00405180
cmp eax, 0xffffffff
je 0x4b09f0
mov ecx, dword [esp + 0x100]
sub ecx, eax
push ecx
push eax
lea ecx, [esp + 0xf4]
call fcn.00406890
push 0x597698
lea ecx, [esp + 0x9c]
call fcn.0040dcb0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x814], 0xb
call fcn.00408a50
lea ecx, [esp + 0x98]
mov byte [esp + 0x808], 0xa
call fcn.004074a0
cmp dword [esp + 0x104], ebp
mov eax, dword [esp + 0xf0]
jae 0x4b0a44
lea eax, [esp + 0xf0]
push eax
call fcn.0046eb90
mov ecx, eax
call fcn.0046cbd0
push ebx
push eax
call fcn.00492ac0
lea ecx, [esp + 0xec]
mov byte [esp + 0x808], 7
call fcn.004074a0
lea ecx, [esp + 0x60]
call fcn.004a1d30
lea ecx, [esp + 0x178]
mov esi, eax
call fcn.004a1600
mov ecx, 0x5ce6e0
call fcn.004a5960
lea ecx, [esp + 0x124]
call fcn.004074a0
lea ecx, [esp + 0x1f]
mov byte [esp + 0x808], 4
call fcn.004b9fb0
lea ecx, [esp + 0x140]
mov byte [esp + 0x808], 3
call fcn.004a5b10
lea ecx, [esp + 0x60]
call fcn.004a4170
lea ecx, [esp + 0xd0]
call fcn.004074a0
mov eax, esi
jmp 0x4b0afe
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.004af360
cmp dword [esp + 0xe8], edi
jb 0x4b0afc
mov edx, dword [esp + 0xd4]
push edx
call fcn.0055215c
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x800]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x7e8]
xor ecx, esp
call fcn.00552d63
add esp, 0x7f8
ret