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

Disassembly:
mov qword [rsp + 8], rcx
push r14
sub rsp, 0xc0
mov r14, rcx
test rcx, rcx
jne 0x140076e03
lea eax, [rcx + 0x14]
add rsp, 0xc0
pop r14
ret
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [rsp + 0x34], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x30], eax
test ecx, ecx
jne 0x140076e28
test eax, eax
je 0x140077239
mov rcx, r14
call fcn.140077380
cmp eax, 2
jne 0x140076e4f
cmp word [r14], 0
je 0x140077239
mov eax, 6
add rsp, 0xc0
pop r14
ret
mov r8, qword [r14 + 8]
xor r11d, r11d
mov edx, 0xffffffff
movsxd r10, eax
mov r9d, r11d
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0x70], r10
cmp r11w, word [r14]
jge 0x140077239
mov qword [rsp + 0xd8], rbx
mov ecx, r11d
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x88], rcx
mov rax, qword [r14 + 0x18]
lea r12d, [rdx + 1]
mov dword [rsp + 0x64], edx
mov r10d, r11d
mov dword [rsp + 0x5c], edx
mov r13d, 0xffffffff
mov dword [rsp + 0x3c], r11d
movsx edx, word [rcx + rax]
mov ecx, r11d
mov dword [rsp + 0xe8], ecx
mov eax, r11d
mov dword [rsp + 0x2c], eax
mov ebp, edx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x28], r11d
cmp r12d, edx
je 0x1400771d8
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
movsxd r9, r12d
mov qword [rsp + 0x78], r9
mov r15, r9
nop word [rax + rax]
mov dword [rsp + 0x44], r10d
mov r11d, r10d
mov dword [rsp + 0x60], r12d
mov r10d, r13d
mov edi, r12d
mov r9d, r13d
cmp ebp, r13d
je 0x1400771c8
movsxd r14, ebp
cmp r12d, r13d
je 0x140076fa4
mov eax, dword [r8 + r15*8]
lea rcx, [rsp + 0x48]
sub eax, dword [r8 + r14*8]
mov dword [rsp + 0x48], eax
mov eax, dword [r8 + r15*8 + 4]
sub eax, dword [r8 + r14*8 + 4]
mov dword [rsp + 0x4c], eax
call fcn.140079c50
mov ecx, dword [rsp + 0xe8]
mov dword [rsp + 0x38], eax
test eax, eax
je 0x140077191
mov rdi, qword [rsp + 0x48]
mov r9d, r13d
mov eax, dword [rsp + 0x2c]
mov r10d, r13d
mov r11d, dword [rsp + 0x44]
jmp 0x140076fb4
mov edx, dword [rsp + 0x3c]
mov rdi, rsi
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x48], rsi
test ecx, ecx
je 0x140077177
test r13d, r13d
mov r12, rdi
mov r13d, ebp
cmovs rsi, rbx
test r9d, r9d
mov qword [rsp + 0x68], rsi
cmovns r13d, r9d
test r10d, r10d
mov dword [rsp + 0x20], r13d
cmovns ecx, r11d
shr r12, 0x20
mov dword [rsp + 0x3c], ecx
mov edx, r12d
mov ecx, eax
call fcn.1400764c0
mov edx, dword [rsp + 0x48]
mov ebx, eax
mov ecx, dword [rsp + 0x28]
call fcn.1400764c0
add ebx, eax
cmp ebx, 0xffff1000
jle 0x14007710c
mov r9, qword [rsp + 0x70]
add ebx, 0x10000
mov edx, dword [rsp + 0x48]
mov ecx, r12d
add edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2c]
mov eax, edx
neg eax
add r8d, r12d
test r9, r9
cmovne edx, eax
mov eax, r8d
neg eax
mov dword [rsp + 0x58], edx
mov edx, dword [rsp + 0x28]
test r9, r9
cmovne eax, r8d
mov dword [rsp + 0x44], eax
call fcn.1400764c0
mov edx, dword [rsp + 0x2c]
mov r13d, eax
mov ecx, dword [rsp + 0x48]
call fcn.1400764c0
mov ecx, eax
mov edx, ebx
sub ecx, r13d
sub r13d, eax
cmp qword [rsp + 0x70], 0
cmovne r13d, ecx
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0xe8], ecx
mov r12d, ecx
cmovl r12d, dword [rsp + 0xe8]
mov ecx, r12d
mov dword [rsp + 0x40], r12d
call fcn.1400764c0
mov ecx, dword [rsp + 0x34]
mov edx, r13d
mov dword [rsp + 0xe8], eax
call fcn.1400764c0
cmp eax, dword [rsp + 0xe8]
jg 0x1400770c3
mov r12d, dword [rsp + 0x34]
mov r8d, ebx
jmp 0x1400770c6
mov r8d, r13d
mov ecx, dword [rsp + 0x44]
mov edx, r12d
call fcn.1400763b0
mov ecx, dword [rsp + 0x30]
mov edx, r13d
mov r12d, eax
call fcn.1400764c0
cmp eax, dword [rsp + 0xe8]
jg 0x1400770f0
mov edx, dword [rsp + 0x30]
jmp 0x1400770f7
mov edx, dword [rsp + 0x40]
mov ebx, r13d
mov ecx, dword [rsp + 0x58]
mov r8d, ebx
call fcn.1400763b0
mov r13d, dword [rsp + 0x20]
mov edx, eax
jmp 0x140077111
xor edx, edx
xor r12d, r12d
cmp r14, r15
je 0x14007717a
movsxd rcx, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x30]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x5c]
nop word [rax + rax]
mov eax, dword [r8 + r14*8]
add eax, r12d
add eax, r10d
mov dword [r8 + r14*8], eax
lea eax, [rdx + r13]
add dword [r8 + r14*8 + 4], eax
lea rax, [r14 + 1]
cmp r14, rcx
cmovge rax, r9
cmovge ebp, r11d
inc ebp
mov r14, rax
cmp rax, r15
jne 0x140077140
mov r13d, dword [rsp + 0x20]
jmp 0x14007717a
mov ebp, r12d
mov ecx, dword [rsp + 0x38]
mov rbx, rdi
mov edi, dword [rsp + 0x60]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0xe8], ecx
mov edx, dword [rsp + 0x50]
mov r12d, edi
mov eax, dword [rsp + 0x2c]
cmp edi, edx
mov r8, qword [rsp + 0x80]
cmovge r12d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x3c]
inc r12d
inc r15
cmp edi, edx
cmovge r15, qword [rsp + 0x78]
cmp r12d, ebp
jne 0x140076f30
mov r14, qword [rsp + 0xd0]
xor r11d, r11d
mov r9d, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x88]
inc r9d
movsx eax, word [r14]
add rcx, 2
mov dword [rsp + 0x54], r9d
mov qword [rsp + 0x88], rcx
cmp r9d, eax
jl 0x140076ec0
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xd8]
xor eax, eax
add rsp, 0xc0
pop r14
ret