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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r11, qword [rcx + 0xc8]
test r11, r11
mov rsi, rdx
mov rdi, r9
mov qword [rsp + 0x100], rcx
mov dword [rsp + 0x110], r8d
mov qword [rsp + 0x40], 0
jne 0x140147765
jmp 0x140147cc1
mov r11, qword [r11 + 0x20]
test r11, r11
je 0x140147cc1
cmp qword [r11 + 8], 1
jne 0x140147758
add dword [r11 + 0x10], 1
mov qword [rsp + 0x40], r11
mov rax, qword [rsp + 0x100]
mov dword [rsp + 0x34], 0
lea rbx, [rsp + 0x50]
lea r14, [rsp + 0x80]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x118], rdi
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x38], eax
nop word [rax + rax]
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
sub eax, dword [rsp + 0x110]
cmp eax, ecx
jle 0x140147cac
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x28]
mov r9, qword [rax + 0x18]
movzx r8d, word [r9 + 2]
rol r8w, 8
movzx r15d, r8w
test r15d, r15d
je 0x140147ca2
pxor xmm5, xmm5
mov rax, qword [rsp + 0x100]
add r9, 0xc
movapd xmm4, xmm5
xor r11d, r11d
xor ebp, ebp
movzx ecx, byte [rax + 0x24]
movzx r12d, byte [rax + 0x26]
movzx r10d, byte [rax + 0x25]
movzx r13d, byte [rax + 0x27]
nop dword [rax]
mov rdi, qword [r9 - 8]
xor eax, eax
bswap rdi
mov qword [rsp + 0x50], rdi
nop
mov edx, dword [r9 + rax*4]
mov r8d, dword [r9 + rax*4 + 4]
bswap edx
movd xmm0, edx
bswap r8d
movd xmm1, r8d
punpckldq xmm0, xmm1
movq qword [rbx + rax*4 + 8], xmm0
add rax, 2
cmp r10d, eax
jg 0x140147830
mov rax, qword [rsp + 0x50]
mov r8, r14
mov edx, r12d
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xa8], rax
call sym.cellArea.isra.0
test r12b, r12b
movapd xmm3, xmm0
jne 0x140147ac8
movss xmm0, dword [rsp + 0x88]
cmp r10d, 2
minss xmm0, dword [rsi + 8]
movss dword [rsp + 0x88], xmm0
movss xmm0, dword [rsp + 0x8c]
maxss xmm0, dword [rsi + 0xc]
movss dword [rsp + 0x8c], xmm0
jle 0x1401479c6
movss xmm0, dword [rsp + 0x90]
cmp r10d, 4
minss xmm0, dword [rsi + 0x10]
movss dword [rsp + 0x90], xmm0
movss xmm0, dword [rsp + 0x94]
maxss xmm0, dword [rsi + 0x14]
movss dword [rsp + 0x94], xmm0
jle 0x1401479c6
movss xmm0, dword [rsp + 0x98]
cmp r10d, 6
minss xmm0, dword [rsi + 0x18]
movss dword [rsp + 0x98], xmm0
movss xmm0, dword [rsp + 0x9c]
maxss xmm0, dword [rsi + 0x1c]
movss dword [rsp + 0x9c], xmm0
jle 0x1401479c6
movss xmm0, dword [rsp + 0xa0]
cmp r10d, 8
minss xmm0, dword [rsi + 0x20]
movss dword [rsp + 0xa0], xmm0
movss xmm0, dword [rsp + 0xa4]
maxss xmm0, dword [rsi + 0x24]
movss dword [rsp + 0xa4], xmm0
jle 0x1401479c6
movss xmm0, dword [rsp + 0xa8]
minss xmm0, dword [rsi + 0x28]
movss dword [rsp + 0xa8], xmm0
movss xmm0, dword [rsp + 0xac]
maxss xmm0, dword [rsi + 0x2c]
movss dword [rsp + 0xac], xmm0
mov r8, r14
mov edx, r12d
call sym.cellArea.isra.0
mov r8, rbx
mov edx, r12d
movapd xmm2, xmm0
call sym.cellArea.isra.0
test ebp, ebp
subsd xmm2, xmm3
je 0x140147a00
comisd xmm4, xmm2
ja 0x140147a00
ucomisd xmm4, xmm2
jp 0x140147a0b
jne 0x140147a0b
comisd xmm5, xmm0
jbe 0x140147a0b
nop dword [rax]
movapd xmm5, xmm0
movapd xmm4, xmm2
mov r11, rdi
add ebp, 1
add r9, r13
cmp ebp, r15d
jne 0x140147820
mov edx, r11d
mov eax, r11d
imul rdx, rdx, 0x51d07eaf
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 6
imul edx, eax, 0x61
mov eax, r11d
sub eax, edx
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rcx + rax*8 + 0xc0]
test rdi, rdi
jne 0x140147a6d
jmp 0x140147c2b
mov rdi, qword [rdi + 0x20]
test rdi, rdi
je 0x140147c2b
cmp r11, qword [rdi + 8]
jne 0x140147a60
mov rax, qword [rsp + 0x28]
cmp qword [rdi], rax
je 0x140147bfa
sub dword [rax + 0x10], 1
mov rdi, qword [rsp + 0x118]
jne 0x140147a9f
mov rcx, qword [rsp + 0x100]
mov rdx, rax
call sym.nodeRelease.part.0
xor r11d, r11d
mov r13d, 0x10b
mov eax, r13d
mov qword [rdi], r11
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x88]
mov edx, dword [rsi + 8]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsp + 0x8c]
movd xmm0, edx
mov edx, dword [rsi + 0xc]
cmp eax, edx
cmovl eax, edx
cmp r10d, 2
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x88], xmm0
jle 0x1401479c6
mov eax, dword [rsp + 0x90]
mov edx, dword [rsi + 0x10]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsp + 0x94]
movd xmm0, edx
mov edx, dword [rsi + 0x14]
cmp eax, edx
cmovl eax, edx
cmp r10d, 4
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x90], xmm0
jle 0x1401479c6
mov eax, dword [rsi + 0x18]
mov edx, dword [rsp + 0x98]
cmp eax, edx
cmovle edx, eax
mov eax, dword [rsi + 0x1c]
movd xmm0, edx
mov edx, dword [rsp + 0x9c]
cmp eax, edx
cmovl eax, edx
cmp r10d, 6
movd xmm2, eax
punpckldq xmm0, xmm2
movq qword [rsp + 0x98], xmm0
jle 0x1401479c6
mov edx, dword [rsp + 0xa0]
mov eax, dword [rsi + 0x20]
mov r8d, dword [rsp + 0xa4]
cmp eax, edx
cmovle edx, eax
movd xmm0, edx
mov edx, dword [rsi + 0x24]
cmp edx, r8d
cmovl edx, r8d
cmp r10d, 8
movd xmm2, edx
punpckldq xmm0, xmm2
movq qword [rsp + 0xa0], xmm0
jle 0x1401479c6
mov edx, dword [rsp + 0xa8]
mov eax, dword [rsi + 0x28]
mov r8d, dword [rsp + 0xac]
cmp eax, edx
cmovle edx, eax
movd xmm0, edx
mov edx, dword [rsi + 0x2c]
cmp edx, r8d
cmovl edx, r8d
movd xmm2, edx
punpckldq xmm0, xmm2
movq qword [rsp + 0xa8], xmm0
jmp 0x1401479c6
add dword [rdi + 0x10], 1
mov qword [rsp + 0x48], rdi
mov ecx, dword [rax + 0x10]
lea r13d, [rcx - 1]
mov dword [rsp + 0x3c], ecx
test r13d, r13d
mov dword [rax + 0x10], r13d
je 0x140147c89
add dword [rsp + 0x34], 1
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x28], rdi
jmp 0x1401477b0
mov r15, qword [rsp + 0x28]
lea r9, [rsp + 0x48]
mov rdx, r11
mov rcx, qword [rsp + 0x100]
mov r8, r15
call sym.nodeAcquire.part.0
mov rdi, qword [rsp + 0x48]
mov r13d, eax
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x38], eax
sub eax, 1
mov dword [r15 + 0x10], eax
je 0x140147c89
mov qword [rsp + 0x28], rdi
add dword [rsp + 0x34], 1
test r13d, r13d
mov qword [rsp + 0x40], rdi
jne 0x140147cf0
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x38], eax
jmp 0x1401477b0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x100]
call sym.nodeRelease.part.0
mov qword [rsp + 0x28], rdi
jmp 0x140147c66
xor eax, eax
xor r11d, r11d
jmp 0x140147a3c
mov r11, qword [rsp + 0x28]
xor r13d, r13d
mov rdi, qword [rsp + 0x118]
jmp 0x140147aa8
mov rcx, qword [rsp + 0x100]
xor r8d, r8d
mov edx, 1
lea r9, [rsp + 0x40]
call sym.nodeAcquire.part.0
mov r11, qword [rsp + 0x40]
test eax, eax
mov r13d, eax
je 0x140147776
jmp 0x140147aa8
mov r11, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x118]
jmp 0x140147aa8