Function at 0x140001d40
Capabilities:
Check mutex on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r15d, dword [rsp + 0xa0]
lea r12d, [r8 + 0x5a5]
mov ebp, r15d
lea r13d, [r8 + 0xd9f]
add r8d, 0x455
lea r14d, [r9 - 0x47e7]
mov eax, r12d
mov dword [rsp + 0xa0], r8d
xor eax, 0x3b0
xor ebp, 0x7996
xor edx, 0x75d9
xor r15d, 0x1f1
mov rsi, rcx
cmp edx, eax
jle 0x140002051
lea eax, [rbp + 0x242]
cmp r14d, eax
je 0x140001ee3
mov eax, dword [rcx + 0xd8]
xor eax, dword [rcx + 0xd4]
xor eax, 0x17f743
mov dword [rcx + 0xcc], eax
mov eax, dword [rcx + 0xbc]
sub eax, dword [rcx + 0x1c]
xor eax, 0xfffd76df
mov dword [rcx + 0xd4], eax
mov eax, dword [rcx + 0x60]
mov ecx, dword [0x140080070]
xor eax, 0x92f7a
imul ecx, eax
mov rax, qword [section..data]
mov dword [0x140080070], ecx
add dword [rax + 0xc], 0xffea6a31
cmp dword [0x14008002c], 0xc2db
mov eax, dword [rsi + 0xd8]
jbe 0x140001e36
mov rcx, qword [section..data]
add eax, 0xeb847
xor dword [rcx + 0xc0], eax
jmp 0x140001e3c
xor dword [rsi + 0x88], eax
mov eax, dword [rsi + 0xc]
cmp dword [rsi + 0xf0], eax
mov rax, qword [section..data]
je 0x140001e62
mov ecx, dword [rax + 0xbc]
xor ecx, 0x1e7e
sub dword [0x1400800dc], ecx
jmp 0x140001e7b
mov ecx, dword [rax + 0x98]
mov eax, dword [0x140080098]
add eax, 0x4c3a
add ecx, eax
mov dword [0x140080098], ecx
mov ecx, dword [rsi + 0xd0]
mov eax, 0x1d570f
sub eax, dword [rsi + 0x50]
sub eax, ecx
add dword [rsi + 0xcc], eax
mov eax, 0x18ae23a0
mov rdx, qword [section..data]
sub eax, dword [rdx + 0x60]
sub eax, ecx
mov ecx, dword [0x1400800dc]
add ecx, eax
mov eax, 0xffffe32d
mov dword [0x1400800dc], ecx
sub eax, dword [rsi + 0x90]
add ecx, eax
mov dword [0x1400800dc], ecx
mov eax, dword [rdx + 0x7c]
sub eax, dword [rdx + 0xb0]
add eax, 0x25020430
mov dword [rdx + 0x10], eax
mov dword [0x140080024], 0x2ff92218
jmp 0x140002051
mov r9d, dword [rsi + 0x80]
mov ecx, 0x4002
mov r8d, dword [rsi + 0xd4]
sub r9d, edx
mov eax, r15d
add r8d, 0xffffc08e
or eax, edx
sub r9d, r14d
mov edx, dword [rsi + 0xb4]
add eax, ecx
movsxd r10, eax
add r8d, ebp
mov eax, dword [rsi + 0x3c]
sub edx, r12d
and eax, dword [rsi + 0x6c]
add ecx, eax
mov qword [rsp + 0x20], r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, dword [0x1400800a8]
mov eax, r13d
mov edx, dword [rsi + 0x98]
xor eax, 0x4b51
xor edx, dword [rsi + 0x7c]
sub eax, 0x3f72
xor r8d, r12d
movsxd rcx, eax
sub r8d, dword [rsi + 0xb4]
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov eax, dword [rsi + 0xc4]
mov edx, 0x35b7
mov dword [rsp + 0x48], 0x160c
xor eax, r12d
add dword [rsi + 0x6c], eax
mov ecx, 0x3b2a
mov qword [rsp + 0x40], 0x1e60
mov r9d, 0x3bde
mov byte [rsp + 0x38], 0x51
mov r8d, 0xbf1
mov dword [rsp + 0x30], 0x1f67
mov qword [rsp + 0x28], 0x3e7c
mov qword [rsp + 0x20], 0x1f65
call fcn.140001364
movsxd rcx, eax
mov qword [0x140156238], rcx
movsxd rcx, r14d
movsxd rbx, ebp
xor rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
movsxd rdi, r13d
mov rcx, rdi
xor rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [section..data]
mov ecx, dword [rax + 0x98]
xor ecx, 0x467d
sub ecx, dword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movsxd rbx, dword [rsp + 0xa0]
imul edx, r12d, 0x3e89
mov rcx, rbx
and rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, ebx
imul ecx, dword [rsi + 0xd4]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 0xbc]
add r8d, ebp
mov ecx, dword [rsi + 0xc0]
or r8, 0x3a21
imul edx, r13d
imul ecx, r15d
sub edx, dword [rsi + 0xc4]
xor ecx, ebx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
lea eax, [rbp - 0x67]
cmp r14d, eax
je 0x1400020cc
mov eax, dword [rsi + 0xc0]
sub eax, 0xe8aae
mov dword [rsi + 0x34], eax
mov eax, dword [rsi + 0x50]
add eax, dword [0x140080088]
xor eax, 0x40eab264
mov dword [rsi + 0x38], eax
mov eax, dword [0x1400800a4]
mov rcx, qword [section..data]
cmp dword [rsi + 0x7c], eax
jb 0x140002096
mov eax, dword [rcx + 0xe0]
mov dword [0x1400800d8], eax
mov edx, dword [rcx + 0x34]
cmp edx, dword [rsi + 0x38]
ja 0x1400020cc
mov eax, edx
imul eax, edx
inc edx
add dword [rcx + 0xc8], eax
mov eax, 0xe
mov ecx, dword [rsi + 0x18]
xor ecx, dword [rsi + 0x78]
sub eax, ecx
add dword [rsi + 0xf0], eax
cmp edx, dword [rsi + 0x38]
ja 0x1400020cc
mov rcx, qword [section..data]
jmp 0x14000209e
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
lea eax, [r14 + 0x3dad]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret