Function at 0x1400237a0
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push rbx
lea rbp, [rax - 0x5f]
sub rsp, 0xe8
cmp qword [0x14008e868], 0
mov rbx, rcx
je 0x140023af5
mov qword [rax + 8], rsi
lea rcx, [0x14008e870]
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbx]
xor r8d, r8d
mov r10d, dword [0x14008e89c]
mov rdx, qword [rax]
mov rax, qword [rdx + 8]
mov ecx, dword [rax + 0x8c]
mov rax, qword [rbx + 8]
mov dword [rbp - 0x69], ecx
mov ecx, dword [rax]
mov rax, qword [rbx + 0x10]
mov dword [rbp - 0x61], ecx
mov ecx, dword [rax]
mov rax, qword [rbx]
mov dword [rbp - 0x5d], ecx
mov rcx, qword [rax]
mov eax, r8d
mov rdx, qword [rcx + 8]
lea rcx, [r8 - 1]
sub eax, dword [rdx]
movsxd r9, dword [rdx]
add r9, rdx
neg eax
sbb rax, rax
and r9, rax
jne 0x14002383c
mov edx, r8d
mov dword [rbp - 0x49], r8d
mov eax, r8d
jmp 0x140023850
mov rdx, rcx
nop
inc rdx
cmp byte [r9 + rdx], r8b
jne 0x140023840
mov dword [rbp - 0x49], edx
lea eax, [r10 + 0x24]
mov dword [rbp - 0x55], eax
mov rax, qword [rbx + 0x18]
mov qword [rbp - 0x21], r9
lea r9d, [r10 + 0x29]
add r9d, edx
mov rdx, qword [rax]
test rdx, rdx
jne 0x140023876
mov ecx, r8d
mov dword [rbp - 0x45], r8d
mov eax, r8d
jmp 0x140023885
inc rcx
cmp byte [rdx + rcx], r8b
jne 0x140023876
mov dword [rbp - 0x45], ecx
mov eax, r9d
add ecx, 5
mov dword [rbp - 0x59], eax
mov rax, qword [rbx + 0x20]
add ecx, r9d
mov dword [rbp + 0x2f], ecx
mov r15d, 2
mov qword [rbp - 0x19], rdx
mov edx, r15d
mov dword [rbp + 0x33], r15d
mov ecx, dword [rax]
mov dword [rbp - 0x65], ecx
lea rcx, [rbp - 0x49]
nop
add r8d, 5
add r8d, dword [rcx]
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x1400238b0
lea eax, [r8 + 0x24]
mov dword [rbp - 0x75], 6
mov dword [rbp - 0x79], eax
lea rdi, [rbp - 0x79]
mov eax, dword [0x14008e898]
mov ebx, 0xc
mov dword [rbp - 0x71], eax
inc eax
add r10d, ebx
mov dword [0x14008e898], eax
mov dword [0x14008e89c], r10d
nop dword [rax]
nop word [rax + rax]
mov r9, qword [0x14008e868]
mov edx, 1
mov r8d, ebx
mov rcx, rdi
call fcn.1400529c8
movsxd rcx, eax
sub ebx, eax
add rdi, rcx
test ebx, ebx
jg 0x140023900
mov ebx, 0x18
lea rdi, [rbp - 0x69]
add dword [0x14008e89c], ebx
nop dword [rax]
nop word [rax + rax]
mov r9, qword [0x14008e868]
mov edx, 1
mov r8d, ebx
mov rcx, rdi
call fcn.1400529c8
movsxd rcx, eax
sub ebx, eax
add rdi, rcx
test ebx, ebx
jg 0x140023940
lea r14, [rbp - 0x21]
lea rsi, [rbp - 0x49]
nop dword [rax + rax]
mov eax, dword [rsi]
lea rdi, [rbp + 0x77]
mov ebx, 4
mov dword [rbp + 0x77], eax
add dword [0x14008e89c], ebx
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [0x14008e868]
mov edx, 1
mov r8d, ebx
mov rcx, rdi
call fcn.1400529c8
movsxd rcx, eax
sub ebx, eax
add rdi, rcx
test ebx, ebx
jg 0x140023990
mov eax, dword [0x14008e89c]
mov ebx, dword [rbp + 0x77]
add eax, ebx
mov rdi, qword [r14]
mov dword [0x14008e89c], eax
test ebx, ebx
jle 0x1400239f9
nop dword [rax + rax]
mov r9, qword [0x14008e868]
mov edx, 1
movsxd r8, ebx
mov rcx, rdi
call fcn.1400529c8
movsxd rcx, eax
sub ebx, eax
add rdi, rcx
test ebx, ebx
jg 0x1400239d0
mov eax, dword [0x14008e89c]
inc eax
mov byte [rbp + 0x6f], 0
mov dword [0x14008e89c], eax
lea rdi, [rbp + 0x6f]
mov ebx, 1
nop
mov r9, qword [0x14008e868]
mov edx, 1
mov r8d, ebx
mov rcx, rdi
call fcn.1400529c8
movsxd rdx, eax
sub ebx, eax
add rdi, rdx
test ebx, ebx
jg 0x140023a10
add rsi, 4
add r14, 8
sub r15, 1
jne 0x140023970
mov r15, qword [rsp + 0xd0]
lea rcx, [0x14008e870]
mov r14, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbp + 0x6f]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140023aff
mov rax, qword [rbp + 0x6f]
xor edx, edx
sub rax, qword [0x14008eac8]
xorps xmm0, xmm0
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov rbx, rax
add rbx, qword [0x14008ead0]
mov rcx, rbx
sub rcx, qword [0x14008e8a0]
js 0x140023abb
cvtsi2sd xmm0, rcx
jmp 0x140023ad0
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x140083220]
comisd xmm0, xmmword [0x140083200]
jbe 0x140023af5
mov rcx, qword [0x14008e868]
call fcn.14005342c
mov qword [0x14008e8a0], rbx
add rsp, 0xe8
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3