Function at 0x140107730
Capabilities:
Suspend thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov rsi, rcx
mov eax, dword [0x14018b6a8]
mov ecx, dword [0x14018b6a4]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 5]
cmp ecx, 0xa
setl byte [rbp + 4]
lea r14, [rsi + 0x48]
lea r12, [rsi + 0x30]
mov eax, 0x10bbe395
mov r13, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r15d, 0x80b19fac
jmp 0x1401077ae
mov rax, qword [rbp - 0x38]
mov eax, dword [0x14018b6a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x77ff201c
mov ecx, 0x6efaa960
cmove eax, ecx
cmp dword [0x14018b6a4], 0xa
cmovl eax, ecx
cmp eax, 0x1b4d97fd
jg 0x140107890
cmp eax, 0xfeb04a3d
jg 0x1401078e0
cmp eax, 0xbf760ccb
jle 0x14010795a
cmp eax, 0xbf760ccc
je 0x1401079a5
cmp eax, 0xcd906a3f
jne 0x1401077ae
mov eax, 0x10
call fcn.140128210
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov eax, 0x10
call fcn.140128210
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x10
call fcn.140128210
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rcx, qword [rsi + 0x18]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_SuspendThread]
add rsp, 0x20
mov qword [rbp - 0x18], r14
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add rsp, 0x20
mov rax, qword [rbp - 8]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x20], r12
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140104de0
add rsp, 0x20
mov eax, dword [0x14018b6a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa0914cf9
mov ecx, 0x1b4d97fe
jmp 0x1401077a1
cmp eax, 0x6efaa95f
jg 0x140107920
cmp eax, 0x1b4d97fe
je 0x1401079f7
cmp eax, 0x1d03c772
je 0x140107a01
cmp eax, 0x6a57b4f5
jne 0x1401077ae
mov eax, dword [0x14018b6a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6f2e6b80
mov ecx, 0xbf760ccc
jmp 0x1401077a1
cmp eax, 0xfeb04a3e
je 0x140107784
cmp eax, 0x223850a
je 0x140107a9b
cmp eax, 0x10bbe395
jne 0x1401077ae
mov cl, byte [rbp + 5]
cmp byte [rbp + 4], 0
mov eax, 0xa0914cf9
mov edx, 0xcd906a3f
cmovne eax, edx
test cl, cl
cmovne eax, edx
jmp 0x1401077ae
cmp eax, 0x6efaa960
je 0x140107ab1
cmp eax, 0x6f2e6b80
je 0x140107ae8
cmp eax, 0x77ff201c
jne 0x1401077ae
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call r13
add rsp, 0x20
mov eax, 0x6efaa960
jmp 0x1401077ae
cmp eax, 0xa0914cf9
jne 0x140107bfc
mov eax, 0x10
call fcn.140128210
sub rsp, rax
mov rdi, rsp
mov rcx, qword [rsi + 0x18]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, r12
mov rdx, rdi
call fcn.140104de0
add rsp, 0x20
mov eax, 0xcd906a3f
jmp 0x1401077ae
mov rdi, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140104f30
add rsp, 0x20
mov rdx, qword [rbp - 0x10]
sub rsp, 0x20
mov rcx, rdi
call fcn.140106540
add rsp, 0x20
mov byte [rbp + 3], al
mov eax, dword [0x14018b6a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6f2e6b80
mov ecx, 0x223850a
jmp 0x1401077a1
mov eax, 0x6a57b4f5
jmp 0x1401077ae
mov rax, qword [rbp - 8]
mov ecx, dword [0x14018b9c0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete byte [rbp + 7]
mov edx, dword [0x14018b9bc]
mov ecx, 0xe3248573
mov ebx, 0xff3b4255
cmove ecx, ebx
cmp edx, 0xa
setl byte [rbp + 6]
cmovl ecx, ebx
mov edx, 0x5d6be229
nop word [rax + rax]
cmp edx, 0xff3b4254
jg 0x140107a60
cmp edx, 0xacdb3eeb
je 0x140107a90
cmp edx, 0xe3248573
jne 0x140107a40
mov edx, 0xacdb3eeb
jmp 0x140107a40
cmp edx, 0xff3b4255
je 0x140107b23
cmp edx, 0x5d6be229
jne 0x140107a40
movzx ebx, byte [rbp + 7]
cmp byte [rbp + 6], 0
mov edx, 0xe3248573
mov edi, 0xacdb3eeb
cmovne edx, edi
test bl, bl
cmovne edx, edi
jmp 0x140107a40
mov rdx, qword [rax]
mov qword [rbp - 0x28], rdx
mov edx, ecx
jmp 0x140107a40
cmp byte [rbp + 3], 0
mov eax, 0xfeb04a3e
mov ecx, 0x1d03c772
cmovne eax, ecx
jmp 0x1401077ae
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call r13
add rsp, 0x20
mov eax, dword [0x14018b6a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x77ff201c
cmove eax, r15d
cmp dword [0x14018b6a4], 0xa
cmovl eax, r15d
jmp 0x1401077ae
mov rdi, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140104f30
add rsp, 0x20
mov rdx, qword [rbp - 0x10]
sub rsp, 0x20
mov rcx, rdi
call fcn.140106540
add rsp, 0x20
mov eax, 0xbf760ccc
jmp 0x1401077ae
mov rax, qword [rbp - 0x28]
mov ecx, dword [0x14018b558]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete byte [rbp + 7]
mov edx, dword [0x14018b554]
mov ecx, 0x6ee4a7fb
mov ebx, 0x89b40b88
cmove ecx, ebx
cmp edx, 0xa
setl byte [rbp + 6]
cmovl ecx, ebx
mov edx, 0x29e57c19
nop dword [rax]
cmp edx, 0x2a394cf0
jg 0x140107ba0
cmp edx, 0x89b40b88
je 0x140107bc2
cmp edx, 0x29e57c19
jne 0x140107b60
movzx ebx, byte [rbp + 7]
cmp byte [rbp + 6], 0
mov edx, 0x6ee4a7fb
mov edi, 0x2a394cf1
cmovne edx, edi
test bl, bl
cmovne edx, edi
jmp 0x140107b60
cmp edx, 0x2a394cf1
je 0x140107bb7
cmp edx, 0x6ee4a7fb
jne 0x140107b60
mov edx, 0x2a394cf1
jmp 0x140107b60
mov rdx, qword [rax]
mov qword [rbp - 0x28], rdx
mov edx, ecx
jmp 0x140107b60
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.140107730
add rsp, 0x20
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rcx]
mov qword [rax], rdx
sub rsp, 0x20
call fcn.1401054c0
add rsp, 0x20
mov eax, 0x6a57b4f5
jmp 0x1401077ae
cmp eax, 0x80b19fac
jne 0x1401077ae
mov al, 1
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret