Function at 0x402843
Capabilities:
Check mutex on windows

Disassembly:
push 0x38
mov eax, 0x5d4186
call fcn.005a9a51
mov edi, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x30], edi
push 0x625fac
push 1
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x6665a0], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x402c30
mov dword [ebp - 4], ebx
push 0x625fc4
lea ecx, [ebp - 0x34]
call fcn.004030e1
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
push eax
mov ecx, 0x6666d8
call fcn.00402159
mov byte [ebp - 4], 2
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx - 0x10]
call fcn.00402322
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x28], 0xff
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, edi
call fcn.00464079
push ebx
call fcn.00465337
push 0xc
call fcn.004627a8
pop ecx
pop ecx
mov ecx, eax
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 4], 3
test ecx, ecx
je 0x4028fd
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.004660f2
mov edi, dword [ebp - 0x38]
jmp 0x4028ff
mov eax, ebx
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x3c], eax
push 0x5eccc4
call fcn.0046e6e5
mov ecx, edi
call fcn.00402422
mov dword [ebp - 0x20], ebx
push dword [edi + 0x48]
lea ecx, [ebp - 0x20]
call fcn.004030e1
mov byte [ebp - 4], 4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x18]
call fcn.00402344
mov byte [ebp - 4], 5
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x1c]
call fcn.00402344
mov byte [ebp - 4], 6
lea eax, [ebp - 0x38]
push eax
mov esi, 0x626000
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402fb3
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x18]
call fcn.00402159
mov byte [ebp - 4], 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00402322
push 0x626078
push dword [ebp - 0x18]
call fcn.00403157
pop ecx
pop ecx
test eax, eax
je 0x402a5c
push ebx
lea ecx, [ebp - 0x18]
call fcn.00402d29
cmp ax, 0x2d
je 0x4029b7
push ebx
lea ecx, [ebp - 0x18]
call fcn.00402d29
cmp ax, 0x2f
jne 0x4029f3
push 1
push ebx
lea ecx, [ebp - 0x18]
call fcn.00402cab
lea eax, [ebp - 0x38]
push eax
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402fb3
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402159
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x40]
lea ecx, [ecx - 0x10]
call fcn.00402322
push 0x626004
push dword [ebp - 0x18]
call fcn.005b089c
pop ecx
pop ecx
test eax, eax
jne 0x402a0d
mov ecx, 0x6665ec
jmp 0x402a25
push str.referrerid
push dword [ebp - 0x18]
call fcn.005b089c
pop ecx
pop ecx
test eax, eax
jne 0x402a2e
mov ecx, 0x6665f4
lea eax, [ebp - 0x1c]
push eax
call fcn.00402159
lea eax, [ebp - 0x38]
push eax
push esi
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402fb3
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x18]
call fcn.00402159
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x44]
jmp 0x40297a
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x24]
call fcn.00402344
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x44]
push eax
call fcn.00401e93
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x24]
push ecx
push eax
call fcn.00405d0d
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00402322
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.00406ea6
mov dword [ebp - 4], 0xd
jmp 0x402ac3
mov byte [0x6666e8], 1
push ecx
mov esi, esp
mov dword [ebp - 0x30], esp
call fcn.00406ffd
push eax
mov ecx, esi
call fcn.00402289
mov byte [ebp - 4], 0x12
push ecx
mov eax, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.00401e93
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0xd
call fcn.00405d6c
lea eax, [ebp - 0x30]
push eax
call fcn.00401e93
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.00402322
mov ecx, edi
call fcn.00402703
push 0x308
call fcn.004627a8
pop ecx
mov esi, eax
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x16
test esi, esi
je 0x402b4e
push 0x308
push ebx
push esi
call fcn.005adaa0
pop ecx
pop ecx
mov ecx, esi
call fcn.00403406
mov ecx, eax
jmp 0x402b50
mov ecx, ebx
mov byte [ebp - 4], 0xd
mov dword [edi + 0xd4], ecx
mov eax, dword [ecx]
call dword [eax + 0x174]
mov edx, dword [edi + 0xd4]
cmp byte [edx + 0x2e6], 0
jne 0x402b99
cmp eax, 2
je 0x402b99
lea eax, [ebp - 0x30]
push eax
cmp byte [edx + 0x2e4], 0
je 0x402b8e
call fcn.00401e93
mov byte [ebp - 4], 0x1a
jmp 0x402ba6
call fcn.00401e93
mov byte [ebp - 4], 0x1c
jmp 0x402ba6
lea eax, [ebp - 0x30]
push eax
call fcn.00401e93
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00402322
mov byte [0x6666e9], 1
push ecx
call fcn.00405ded
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x402bd0
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov ecx, dword [edi + 0xd4]
test ecx, ecx
je 0x402be1
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00402322
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00402322
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.00402322
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.00402322
or dword [ebp - 4], 0xffffffff
xor eax, eax
call fcn.005a999e
ret