Function at 0x140064bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
push rsi
push rdi
push r15
sub rsp, 0x80
movzx eax, byte [rcx]
mov r15, r8
mov edi, edx
mov rsi, rcx
test al, al
je 0x140064bf3
cmp dword [rcx + 0x38], 0
jle 0x140064bf3
xor eax, eax
add rsp, 0x80
pop r15
pop rdi
pop rsi
ret
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x60], r14
xor r14d, r14d
mov qword [rcx + 0x3c], r14
mov dword [rcx + 0xf8], r14d
mov qword [rcx + 0x110], r14
mov qword [rcx + 0x100], r14
mov qword [rcx + 0x108], r14
mov qword [rcx + 0x118], r14
mov dword [rcx + 0x38], 0xffffffff
test al, al
jne 0x140064c91
mov word [rcx], 1
lea rdx, [rcx + 0x98]
mov dword [rcx + 0x124], 1
mov byte [rcx + 2], r14b
mov dword [rcx + 0x4c], r14d
mov qword [rcx + 0xd0], r14
mov byte [rcx + 0x128], r14b
mov rax, qword [0x1401ff370]
mov ecx, dword [0x140c2f8a8]
call qword [rax + 0x40]
lea rcx, [rsi + 0x98]
mov qword [rsi + 0xc0], rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov qword [rsi + 0xc8], r14
xor edx, edx
mov qword [rsp + 0x78], rbp
lea rcx, [rdi + 0xda]
mov qword [rsp + 0x70], r12
mov rax, r15
mov qword [rsi + 8], r15
div rcx
mov ecx, 0x80
mov dword [rsi + 0x10], edi
cmp dword [rsp + 0xc8], ecx
mov rbx, rax
cmova ecx, dword [rsp + 0xc8]
dec ecx
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov r13d, ecx
shr r13d, 0x10
or r13d, ecx
inc r13d
cmp ebx, 8
jb 0x140064f4c
lea r10d, [r13*2]
mov qword [rsp + 0xa0], r10
nop dword [rax + rax]
lea ecx, [rbx - 1]
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
lea ecx, [rax*2 + 2]
lea eax, [rbx + rbx*4]
mov dword [rsi + 0x28], ecx
shr eax, 2
cmp ecx, eax
jae 0x140064d4e
add ecx, ecx
mov dword [rsi + 0x28], ecx
mov r9d, dword [rsi + 0x10]
lea r12d, [rbx + rbx]
mov eax, ebx
lea rbp, [r12 + r12*2]
shl rbp, 4
mov edx, ecx
add rdx, r10
lea r8, [r9 + 0x70]
imul rax, r8
shl rdx, 3
add rax, rdx
add rax, rbp
cmp rax, r15
jbe 0x140064d98
nop dword [rax]
cmp ebx, 8
jbe 0x140064d98
dec ebx
mov eax, ebx
imul rax, r8
add rax, rdx
add rax, rbp
cmp rax, r15
ja 0x140064d80
mov r14d, ebx
xor edx, edx
imul r9, r14
mov rcx, r9
call fcn.140058650
mov qword [rsi + 0x80], rax
test rax, rax
je 0x140064e30
mov r11d, dword [rsi + 0x28]
lea rcx, [rsi + 0xe8]
imul r8, r14, 0x70
xor r14d, r14d
shl r11, 3
mov qword [rsp + 0x58], r14
lea rax, [rsi + 0xf0]
lea r10, [rsi + 0x60]
mov edi, r13d
shl rdi, 3
lea r9, [rsi + 0x58]
mov qword [rsp + 0x50], rdi
lea rdx, [rsi + 0x78]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rcx
lea ecx, [r14 + 0x20]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], r11
call fcn.140059d20
test rax, rax
jne 0x140064e4f
mov rcx, qword [rsi + 0x80]
call fcn.140058600
mov qword [rsi + 0x80], r14
jmp 0x140064e33
xor r14d, r14d
cmp ebx, 8
jb 0x140064ee0
mov r10, qword [rsp + 0xa0]
shr ebx, 2
lea ebx, [rbx + rbx*2]
jmp 0x140064d10
mov eax, dword [rsp + 0xb8]
mov dword [rsi + 0x40], ebx
mov dword [rsi + 0x38], ebx
mov dword [rsi + 0x30], r12d
mov dword [rsi + 0x34], r14d
mov qword [rsi + 0x68], r14
mov qword [rsi + 0x44], r14
mov dword [rsi + 0x3c], r14d
mov dword [rsi + 0xf8], r14d
mov dword [rsi + 0x50], r14d
mov qword [rsi + 0x88], r14
mov qword [rsi + 0x90], r14
mov qword [rsi + 0x70], r14
mov qword [rsi + 0x20], r14
test eax, eax
je 0x140064ea8
mov ecx, ebx
imul ecx, eax
mov eax, 0x51eb851f
mul ecx
shr edx, 5
inc edx
jmp 0x140064eaa
mov edx, ebx
mov ecx, dword [rsp + 0xc0]
mov dword [rsi + 0x14], edx
test ecx, ecx
je 0x140064ec7
imul ebx, ecx
mov eax, 0x51eb851f
mul ebx
mov ebx, edx
shr ebx, 5
mov dword [rsi + 0x18], ebx
mov al, 1
mov dword [rsi + 0x2c], r13d
mov qword [rsi + 0xd8], r14
mov qword [rsi + 0xe0], r14
jmp 0x140064f4e
call fcn.140059260
mov edx, 0x1000
mov ecx, 5
mov dword [rax], 0xc
imul ebx, dword [rsi + 0x10]
mov r8d, ebx
call fcn.140058bf0
call fcn.140059260
mov rcx, qword [rsi + 0x80]
mov ebx, dword [rax]
mov dword [rsi + 0x38], r14d
mov dword [rsi + 0x120], r14d
test rcx, rcx
je 0x140064f2b
call fcn.140058600
mov qword [rsi + 0x80], r14
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x140064f3d
call fcn.140058600
mov qword [rsi + 0x78], r14
call fcn.140059260
mov dword [rax], ebx
xor eax, eax
mov byte [rsi + 3], 0
jmp 0x140064f62
xor al, al
mov byte [rsi + 3], al
mov eax, dword [rsi + 0x38]
test eax, eax
mov ecx, eax
cmovle ecx, r14d
mov dword [rsi + 0x120], ecx
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x60]
add rsp, 0x80
pop r15
pop rdi
pop rsi
ret