Function at 0x180036bd0
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
imul edi, ecx, 0x3e0
mov r15, r8
mov rax, rdx
mov dword [rsp + 0x24], ecx
mov r13d, ecx
mov esi, ecx
mov dword [rsp + 0x34], edi
cmp ecx, edi
ja 0x180037064
movzx r14d, byte [rsp + 0x110]
lea r10, [0x180000000]
mov r12, qword [rsp + 0x128]
lea r11, [0x18003bb51]
movzx ebp, byte [rsp + 0x110]
mov r9d, 1
mov dword [rsp + 0x20], r14d
lea r8d, [r9 + 0xf]
xor edx, edx
cmp esi, 0x9ba0
ja 0x180036de5
je 0x180036dc5
cmp esi, 0x2e05
ja 0x180036d2f
je 0x180036ce2
mov eax, esi
sub eax, 0xa0
je 0x180036cd6
sub eax, 0x23
je 0x180036c9b
cmp eax, 0x269d
jne 0x18003703e
xorps xmm0, xmm0
mov dword [rsp + 0x40], 0x32595559
movups xmmword [rsp + 0x80], xmm0
jmp 0x18003703e
cmp qword [0x180046d78], 0
jne 0x180036cbf
xor r8d, r8d
mov edx, r9d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x180046d78], rax
jmp 0x180036da8
mov rcx, qword [0x180046d78]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x180036da8
mov r14b, 1
movzx ebp, r14b
jmp 0x180037039
cmp dword [r15 + 0x7c], 0
jne 0x180037060
test dword [rax], 0xffffef00
je 0x18003703e
mov ebx, 0xed
nop
mov eax, ebx
sub eax, 0xed
je 0x180036d15
cmp eax, 1
jne 0x180036d23
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
xor edx, edx
lea rcx, str.item_num__d_is_too_large
call fcn.180038ef0
inc ebx
cmp ebx, 0xef
jb 0x180036d00
jmp 0x180036da8
cmp esi, 0x4e20
je 0x180036d9f
cmp esi, 0x5b4f
je 0x180036d5e
cmp esi, 0x74e0
jne 0x18003703e
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov qword [r15 + 0x40], rax
jmp 0x180036da8
mov edx, dword [rax]
cmp dl, 0x1b
ja 0x180037080
mov rcx, qword [r15 + 0x70]
test rcx, rcx
je 0x18003703e
movzx r9d, dl
lea r8, [0x18003c4a8]
bt edx, 0xc
lea rdx, str.10MUCJoinDlg
cmovae r8, r11
mov r9, qword [r10 + r9*8 + 0x45200]
call fcn.180038ea0
jmp 0x180036da8
call qword [sym.imp.WINMM.dll_joyGetNumDevs]
mov r12d, eax
mov r9d, 1
lea r10, [0x180000000]
lea r11, [0x18003bb51]
lea r8d, [r9 + 0xf]
jmp 0x18003703e
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
jmp 0x18003703e
cmp esi, 0x136a0
ja 0x180036ff5
je 0x180036fc0
cmp esi, 0xc260
je 0x180036fab
cmp esi, 0xe920
je 0x180036f92
cmp esi, 0x10fe0
jne 0x18003703e
mov qword [rsp + 0x48], rdx
test bpl, bpl
je 0x18003703e
movzx r13d, byte [rsp + 0x128]
mov ebx, edx
mov r15d, dword [rsp + 0x30]
mov edi, 0xd
mov esi, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x28]
cmp ebx, 0xc
ja case.default.0x180036e5d
mov eax, ebx
mov ecx, dword [r10 + rax*4 + 0x37098]
add rcx, r10
jmp rcx
xorps xmm0, xmm0
mov qword [rsp + 0x50], rdx
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
jmp case.default.0x180036e5d
mov word [rsp + 0x72], r8w
jmp case.default.0x180036e5d
mov ecx, edx
movzx eax, r13b
mov rdx, qword [rsp + 0x58]
test rdx, rdx
cmovne ecx, eax
movzx r13d, cl
test cl, cl
je 0x180036ea3
mov rcx, rdx
call qword [sym.imp.GDI32.dll_DeleteObject]
xor edx, edx
jmp case.default.0x180036e5d
mov r12, rdx
mov dword [rsp + 0x64], 0x32
jmp case.default.0x180036e5d
mov dword [rsp + 0x68], 0x32
jmp case.default.0x180036e5d
test bpl, bpl
je case.default.0x180036e5d
mov ecx, r12d
call qword [sym.imp.WINMM.dll_joyReleaseCapture]
xor edx, edx
jmp case.default.0x180036e5d
movzx eax, bpl
test r14d, r14d
mov ecx, edx
cmove ecx, eax
movzx ebp, cl
jmp case.default.0x180036e5d
mov r15d, edx
jmp case.default.0x180036e5d
mov esi, edx
mov dword [rsp + 0x6c], 8
jmp case.default.0x180036e5d
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov r8d, r15d
mov edx, r12d
call qword [sym.imp.WINMM.dll_joySetCapture]
mov r14d, eax
xor edx, edx
jmp case.default.0x180036e5d
mov word [rsp + 0x70], r9w
jmp case.default.0x180036e5d
lea rcx, [rsp + 0x60]
call qword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov qword [rsp + 0x58], rax
xor edx, edx
jmp case.default.0x180036e5d
mov r13b, 1
mov r9d, 1
lea r10, [0x180000000]
inc ebx
lea r8d, [r9 + 0xf]
sub rdi, 1
jne 0x180036e47
mov edi, dword [rsp + 0x34]
lea r10, [0x180000000]
mov dword [rsp + 0x28], r14d
lea r11, [0x18003bb51]
mov r14d, dword [rsp + 0x20]
mov dword [rsp + 0x2c], esi
mov esi, dword [rsp + 0x24]
mov dword [rsp + 0x30], r15d
mov r15, qword [rsp + 0x120]
mov byte [rsp + 0x128], r13b
mov r13d, dword [rsp + 0x110]
jmp 0x18003703e
movzx eax, bpl
cmp r12, 0xf
mov ecx, edx
mov dword [rsp + 0x38], edx
cmovbe ecx, eax
movzx ebp, cl
jmp 0x18003703e
mov dword [rsp + 0x90], 0x30
mov dword [rsp + 0x3c], 0x40000
jmp 0x18003703e
mov r8d, dword [rsp + 0x38]
lea r9, [rsp + 0x48]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x80]
call sub.ADVAPI32.dll_LsaOpenPolicy
mov r8d, dword [rsp + 0x3c]
xor edx, edx
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.WINMM.dll_mmioInstallIOProcA]
jmp 0x180036da8
cmp esi, 0x15d60
je 0x18003702b
cmp esi, 0x18420
je 0x180037017
cmp esi, 0x1aae0
jne 0x18003703e
cmp qword [r15 + 0x40], 0
setne al
jmp 0x18003706c
test r14b, r14b
je 0x18003703e
mov rcx, qword [rsp + 0x48]
call sub.ADVAPI32.dll_LsaClose
jmp 0x180036da8
cmp qword [rsp + 0x48], 0
movzx r14d, r14b
cmove r14d, edx
mov dword [rsp + 0x20], r14d
imul eax, r13d, 0x3e
add esi, eax
mov dword [rsp + 0x24], esi
cmp esi, edi
ja 0x180037064
mov rax, qword [rsp + 0x118]
jmp 0x180036c48
mov dword [r15 + 0x7c], edx
movzx eax, byte [rsp + 0x110]
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor edx, edx
lea rcx, str.PCS_WGS72BE_UTM_zone_33S
call fcn.180038ef0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3