Function at 0x10041870
Capabilities:
Check mutex on windows

Disassembly:
mov eax, 0x10d0
call fcn.10045a50
mov eax, dword [0x10080180]
xor eax, esp
mov dword [esp + 0x10cc], eax
push ebx
mov ebx, dword [esp + 0x10d8]
cmp dword [ebx + 4], 0
push ebp
lea ebp, [ebx + 4]
mov dword [esp + 8], ebp
jne 0x100418c4
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edx, eax
test edx, edx
je 0x100418d5
mov ecx, edx
xor eax, eax
lock cmpxchg dword [ebp], ecx
test eax, eax
je 0x100418c4
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x100418db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esp + 0x10e0]
movzx eax, word [eax + 6]
test al, 5
jne 0x10041b34
push esi
push edi
test eax, 0x300
je 0x10041ab7
nop dword [eax + eax]
push str.Receiving_datagram
push 0x17d
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 0
call fcn.10034290
mov edi, dword [ebx]
add esp, 0x10
nop dword [eax + eax]
lea eax, [esp + 0x14]
push eax
push 0x1000
lea eax, [esp + 0xe4]
push eax
push dword [edi + 4]
call fcn.10040690
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10041920
js 0x10041a3f
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10034dc0
add esp, 8
test esi, esi
jle 0x10041ab7
push 1
call fcn.10034270
add esp, 4
test al, al
je 0x100419a9
push 0x40
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.10034ba0
lea eax, [esp + 0xa8]
push eax
push str.Demultiplexing_incoming_datagram_from__s
push 0x150
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 1
call fcn.10034290
add esp, 0x20
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0xe4]
push eax
push ebx
call fcn.100422f0
add esp, 0x10
test eax, eax
je 0x10041a21
mov edi, dword [eax + 0xad18]
test edi, edi
je 0x10041a21
cmp byte [edi + 0x10], 0
jne 0x10041a21
lea ecx, [esp + 0x14]
push ecx
push esi
lea ecx, [esp + 0xe4]
push ecx
push eax
call fcn.10037390
add esp, 0x10
test eax, eax
je 0x10041a11
push str.Agent_receive_failed
push 0x15b
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 3
call fcn.10034290
add esp, 0x10
mov byte [edi + 0x10], 1
jmp 0x10041900
call fcn.1003b8f0
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
jmp 0x10041900
push str.Agent_not_found_for_incoming_datagram__dropping
push 0x155
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 1
call fcn.10034290
add esp, 0x10
jmp 0x10041900
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x2733
je 0x10041a9e
call esi
cmp eax, 0x2733
je 0x10041a9e
call esi
push eax
push str.recvfrom_failed__errno_d
push 0x189
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 4
call fcn.10034290
push ebx
call fcn.10041610
add esp, 0x18
push dword [ebp]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10cc]
xor ecx, esp
call fcn.10044f75
add esp, 0x10d0
ret
push str.No_more_datagrams_to_receive
push 0x186
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 0
call fcn.10034290
add esp, 0x10
xor esi, esi
cmp dword [ebx + 0xc], esi
jle 0x10041b24
nop
mov eax, dword [ebx + 8]
mov ebp, dword [eax + esi*4]
test ebp, ebp
je 0x10041b1a
mov edi, dword [ebp + 0xad18]
test edi, edi
je 0x10041b1a
cmp byte [edi + 0x10], 0
jne 0x10041b1a
call fcn.1003b8f0
cmp dword [edi + 0xc], edx
mov ecx, eax
lea eax, [edi + 8]
jg 0x10041b1a
jl 0x10041aef
cmp dword [eax], ecx
ja 0x10041b1a
push eax
push ebp
call fcn.100373b0
add esp, 8
test eax, eax
je 0x10041b1a
push str.Agent_update_failed
push 0x170
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 3
call fcn.10034290
add esp, 0x10
mov byte [edi + 0x10], 1
inc esi
cmp esi, dword [ebx + 0xc]
jl 0x10041ac0
mov ebp, dword [esp + 0x10]
push dword [ebp]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
jmp 0x10041a85
push str.Error_when_polling_socket
push 0x142
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_mux.c
push 4
call fcn.10034290
push ebx
call fcn.10041610
add esp, 0x14
push dword [ebp]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [esp + 0x10d4]
or eax, 0xffffffff
pop ebp
pop ebx
xor ecx, esp
call fcn.10044f75
add esp, 0x10d0
ret