Function at 0x10011a80
Capabilities:
Create or open mutex on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x5c
mov ecx, dword [0x1045b8f0]
push ebx
mov ebx, dword [ebp + 0xc]
push edi
xor edi, edi
push edi
push ebx
push eax
push esi
push str.Esr_Create__x___d___x___in_
push 0xff
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push 2
push ecx
call fcn.10062060
add esp, 0x28
test esi, esi
jne 0x10011ac4
mov edi, 0x59e2
jmp 0x10011c50
test ebx, ebx
jne 0x10011ad2
mov edi, 0x59d9
jmp 0x10011c50
push 0x54
lea edx, [ebp - 0x58]
push 0
push edx
call sub.MSVCR100.dll_memset
mov al, byte [ebp + 8]
mov cl, byte [ebp + 0x10]
add esp, 0xc
lea edx, [ebp - 0x58]
push edx
push esi
mov dword [ebp - 0x58], 0x54
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x34], 0x10012e40
mov dword [ebp - 0x30], 0x10012e90
mov dword [ebp - 0x18], 0x100131d0
mov dword [ebp - 0x24], 0x10012eb0
mov dword [ebp - 0x20], 0x10013070
mov dword [ebp - 0x1c], 0x10013120
mov dword [ebp - 0x14], 0x10013260
mov dword [ebp - 0x10], 0x10013900
mov byte [ebp - 0xc], al
mov byte [ebp - 0xb], cl
mov dword [ebp - 8], esi
call fcn.100d7110
add esp, 8
test eax, eax
je 0x10011b73
call fcn.10013ac0
push 0
push 0
push 0
mov edi, eax
mov eax, dword [0x1045b8f0]
push edi
push str.Esr_Create__EsrCreate_error___ret_d
push 0x11e
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push 0
push eax
jmp 0x10011c48
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0
push 0
push 0
push 0
call ebx
push 0
push 0
mov dword [esi + 0x18], eax
push 0
test eax, eax
jne 0x10011ba5
mov edi, 0x59dc
push edi
push str.Esr_Create__create_synevent_error___ret_d
push 0x125
jmp 0x10011c38
push 0
call ebx
push 0
push 0
mov dword [esi + 0x1c], eax
push 0
test eax, eax
jne 0x10011bd7
mov edx, dword [0x1045b8f0]
mov edi, 0x59dc
push edi
push str.Esr_Create__create_synevent_error___ret_d
push 0x12c
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push eax
push edx
jmp 0x10011c48
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [esi + 0xc], eax
test eax, eax
jne 0x10011c07
push eax
push eax
push eax
mov edi, 0x59dc
push edi
push str.Esr_Create__create_lock_error___ret_d
push 0x133
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push eax
mov eax, dword [0x1045b8f0]
push eax
jmp 0x10011c48
push esi
push 0x10011d00
push str.EsrService
call fcn.10063770
add esp, 0xc
mov dword [esi + 0x10], eax
test eax, eax
jne 0x10011cb7
push eax
push eax
push eax
mov edi, 0x59db
push edi
push str.Esr_Create__create_esr_run_thread_error___ret_d
push 0x13a
mov ecx, dword [0x1045b8f0]
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push 0
push ecx
call fcn.10062060
add esp, 0x28
mov eax, dword [esi]
test eax, eax
je 0x10011c65
push eax
call fcn.100d71f0
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x10011c7c
push eax
call ebx
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x10011c8d
push eax
call ebx
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10011c9e
push eax
call ebx
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10011cc1
push eax
call fcn.100638c0
add esp, 4
mov dword [esi + 0x10], 0
jmp 0x10011cc1
mov dword [0x1045b5d4], 1
mov edx, dword [0x1045b8f0]
push 0
push 0
push 0
push edi
push str.Esr_Create__d___out_
push 0x15b
push str......._source_appmsc_lualuac_aitalk_aitalk.c
push 1
push 2
push edx
call fcn.10062060
add esp, 0x28
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret