Function at 0x10041080
Capabilities:
Check mutex on windows

Disassembly:
mov eax, 0x1090
call fcn.10045a50
mov eax, dword [0x10080180]
xor eax, esp
mov dword [esp + 0x108c], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10a0]
mov dword [esp + 0xc], esi
mov ebp, dword [esi + 0xad18]
cmp dword [ebp + 8], 0
lea ebx, [ebp + 8]
jne 0x100410da
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edx, eax
test edx, edx
je 0x100410ea
mov ecx, edx
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
je 0x100410da
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebx]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x100410f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp + 0x20], 0
jne 0x10041299
mov eax, dword [esp + 0x10a4]
movzx eax, word [eax + 6]
test al, 5
jne 0x1004127d
push edi
test eax, 0x300
je 0x10041215
nop dword [eax]
mov edi, dword [ebp + 4]
push str.Receiving_datagram
push 0x70
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_thread.c
push 0
call fcn.10034290
add esp, 0x10
nop dword [eax]
lea eax, [esp + 0x14]
push eax
push 0x1000
lea eax, [esp + 0xa4]
push eax
push edi
call fcn.10040690
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10041140
js 0x100411a6
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10034dc0
add esp, 8
test esi, esi
jle 0x100411f8
lea eax, [esp + 0x14]
push eax
push esi
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x1c]
call fcn.10037390
add esp, 0x10
test eax, eax
je 0x10041120
push str.Agent_receive_failed
push 0x51
jmp 0x1004123e
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x2733
je 0x100411e2
call esi
cmp eax, 0x2733
je 0x100411e2
call esi
push eax
push str.recvfrom_failed__errno_d
push 0x7b
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_thread.c
push 4
call fcn.10034290
push dword [esp + 0x24]
call fcn.10037330
add esp, 0x18
jmp 0x1004124d
push str.No_more_datagrams_to_receive
push 0x78
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_thread.c
push 0
call fcn.10034290
add esp, 0x10
lea eax, [ebp + 0x18]
push eax
push dword [esp + 0x14]
call fcn.100373b0
add esp, 8
test eax, eax
je 0x10041271
push str.Agent_update_failed
push 0x5e
jmp 0x1004123e
add ebp, 0x18
call fcn.1003b8f0
cmp dword [ebp + 4], edx
jg 0x10041271
jl 0x10041229
cmp dword [ebp], eax
ja 0x10041271
push ebp
push esi
call fcn.100373b0
add esp, 8
test eax, eax
je 0x10041271
push str.Agent_update_failed
push 0x65
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_thread.c
push 3
call fcn.10034290
add esp, 0x10
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x108c]
xor ecx, esp
call fcn.10044f75
add esp, 0x1090
ret
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
jmp 0x10041258
push str.Error_when_polling_socket
push 0x45
push str.C:UsersJesse_source_reposSNPJuiceout_buildx86_release_depsjuice_src_srcconn_thread.c
push 4
call fcn.10034290
push esi
call fcn.10037330
add esp, 0x14
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [esp + 0x1098]
or eax, 0xffffffff
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10044f75
add esp, 0x1090
ret