Function at 0x4394c0
Capabilities:
Check mutex on windows
Send data
Send data on socket

Disassembly:
sub esp, 0x424
push ebx
mov ebx, dword [esp + 0x434]
push ebp
push esi
xor esi, esi
cmp ebx, 0x400
lea eax, [ebx + 8]
lea ebp, [esp + 0x28]
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
jle 0x43950b
push eax
call fcn.00459619
mov ebp, eax
add esp, 4
cmp ebp, esi
jne 0x43950b
pop esi
pop ebp
mov eax, 0xfffffff5
pop ebx
add esp, 0x424
ret
mov esi, dword [esp + 0x438]
mov ecx, ebx
shr ecx, 0x10
mov byte [ebp + 5], cl
mov eax, ebx
shr eax, 0x18
mov byte [ebp + 4], al
mov ecx, ebx
mov eax, ecx
push edi
mov edx, ebx
shr ecx, 2
shr edx, 8
mov byte [ebp + 7], bl
mov byte [ebp], 0x4a
mov byte [ebp + 1], 0x5e
mov byte [ebp + 2], 0x7a
mov byte [ebp + 3], 4
mov byte [ebp + 6], dl
lea edi, [ebp + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
mov ebx, 0x40000000
jle 0x43969d
mov esi, dword [esp + 0x18]
sub esi, edi
cmp esi, ebx
jle 0x439574
mov esi, ebx
mov edx, dword [esp + 0x438]
push 0
push esi
lea ecx, [edi + ebp]
push ecx
push edx
call sub.WS2_32.dll_send
cmp eax, 0xffffffff
jne 0x439611
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2747
jne 0x4395d2
sar ebx, 1
cmp ebx, 0x400000
jle 0x4395b9
mov ebx, 0x400000
mov dword [esp + 0x14], 0
jmp 0x439654
cmp ebx, 0x100
jl 0x439660
mov dword [esp + 0x14], 0
jmp 0x439654
cmp eax, 0x2733
jne 0x439679
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 0x12c
mov dword [esp + 0x14], eax
jle 0x439654
push ebx
push esi
push str.kascSend:_call_to_send___of__d_bytes_timed_out_after_30_seconds__maxSendSize__d
call fcn.00432720
add esp, 0xc
mov dword [esp + 0x10], 0xfffffff4
jmp 0x43969d
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x14], ecx
jne 0x43964c
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, 0x3e8
mov dword [esp + 0x1c], eax
jle 0x439654
push ebx
push esi
push str.kascSend:_call_to_send___of__d_bytes_timed_out_after_30_seconds_of_sending_0_bytes__maxSendSize__d
call fcn.00432720
add esp, 0xc
mov dword [esp + 0x10], 0xfffffff4
jmp 0x43969d
jle 0x439695
add edi, eax
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x18]
jl 0x439568
jmp 0x43969d
push ebx
push esi
push str.kascSend:_call_to_send___of__d_bytes_failed_with_code_ENOBUFS__maxSendSize__d
call fcn.00432720
add esp, 0xc
mov dword [esp + 0x10], 0xfffffff4
jmp 0x43969d
push ebx
push eax
push 0xffffffffffffffff
push esi
push str.kascSend:_call_to_send___of__d_bytes_returned__d__code__d__maxSendSize__d
call fcn.00432720
add esp, 0x14
mov dword [esp + 0x10], 0xfffffff4
jmp 0x43969d
mov dword [esp + 0x10], 0xffffff9d
lea eax, [esp + 0x2c]
cmp ebp, eax
je 0x4396ae
push ebp
call fcn.0045932f
add esp, 4
test edi, edi
jle 0x439736
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
push str.KASC_STAT_MUTEX
push ecx
lea edx, [esp + 0x28]
mov dword [esp + 0x30], ecx
push edx
mov dword [esp + 0x2c], 0xc
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 1
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x4396ff
push 0x3a98
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, eax
jmp 0x439703
mov ebp, dword [esp + 0x18]
mov ebx, 0x4ccaf4
mov eax, 0x4ccac4
call fcn.00439090
mov ecx, dword [0x4ccac4]
add ecx, edi
test esi, esi
mov dword [0x4ccac4], ecx
je 0x439736
test ebp, ebp
jne 0x43972f
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x424
ret