Function at 0x584120
Capabilities:
Check mutex on windows
Create process on windows
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x5ed130]
xor eax, ebp
mov dword [ebp - 4], eax
push str.DD8AC49D_35DD_1104_B474_11D251801DB8
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x584159
xor eax, eax
jmp 0x5843e6
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x30
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.0043fa10
add esp, 0xc
mov dword [ebp - 0x58], 0x30
mov dword [ebp - 0x50], 0x583200
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], 0x5e020c
push 0x90
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov word [ebp - 0x20c], ax
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0xcf0000
push 0x5db227
push str.BCWindow
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x5841eb
xor eax, eax
jmp 0x5843e6
push 0x5e0224
mov edx, dword [str.System.log]
push edx
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0xc
lea ecx, [ebp - 0x20]
call fcn.00401550
push 0
push 0
mov eax, dword [ebp - 0x24]
push eax
push 0x577f60
push 0
push 0
call fcn.0044151c
add esp, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x208]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 1
call fcn.00441998
add esp, 4
push 1
call fcn.004419d7
add esp, 4
push 0x5820f0
call fcn.00441a22
add esp, 4
push 3
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
call fcn.0056aef0
push 0x5e0240
call fcn.0057d480
add esp, 4
push 0x5e024c
call fcn.0057d8a0
add esp, 4
test eax, eax
je 0x584298
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x58427a
push str.bcprct.exe
call fcn.0056aef0
add eax, 0x44c
push eax
lea edx, [ebp - 0x228]
push edx
call fcn.00405830
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
call fcn.00401620
lea ecx, [ebp - 0x228]
call fcn.00401600
lea ecx, [ebp - 0x20]
call fcn.00401700
push eax
push 0x5e0264
mov eax, dword [str.System.log]
push eax
call fcn.00567c70
push eax
call fcn.005679e0
add esp, 0x10
push 1
push 1
push 0x6b
push 0x5e0278
lea ecx, [ebp - 0x20]
call fcn.00401700
push eax
call fcn.00580aa0
add esp, 0x14
movzx ecx, al
test ecx, ecx
jne 0x584326
push 0x96
push 0x6e
push 0x47a
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 0
lea ecx, [ebp - 0x20]
call fcn.00401700
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
jg 0x584365
push 0xca
push 0x6e
push 0x47a
mov eax, dword [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
push 0x1ba0
call fcn.00401fe0
add eax, 0x34
mov ecx, eax
call fcn.00401700
push eax
call fcn.00575c40
mov ecx, eax
call fcn.0057b1a0
push 1
call fcn.00575c40
mov ecx, eax
call fcn.00581450
push 0
push 0
push 0
lea ecx, [ebp - 0x74]
push ecx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x5843be
lea edx, [ebp - 0x74]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x584394
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x22c], 0
lea ecx, [ebp - 0x20]
call fcn.00401600
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043dd0c
mov esp, ebp
pop ebp
ret 0x10