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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe8
mov r14, qword [rcx]
movzx eax, byte [r8 + 0x40]
mov r12, qword [r8 + 0x60]
imul r9, rax, 0x68
mov rax, qword [rcx + 8]
mov rsi, qword [r14 + 0x10]
movsxd rbx, edx
mov rdx, qword [r8 + 0x38]
lea r8, str.RIGHT_JOIN__s
lea rcx, [rax + 8]
mov qword [rsp + 0x60], rdx
add rcx, r9
mov qword [rsp + 0x58], r14
mov r9, qword [r9 + rax + 0x28]
xor edx, edx
mov eax, 1
mov qword [rsp + 0x40], rcx
mov edi, edx
mov qword [rsp + 0x50], rsi
mov r13d, edx
mov dword [rsp + 0x138], eax
mov r9, qword [r9]
mov edx, eax
mov rcx, r14
call fcn.140139870
lea r15, [rsi + 0x90]
mov rbp, rbx
mov qword [rsp + 0x48], r15
test ebx, ebx
jle 0x1401ab79c
mov rbx, qword [rsp + 0x130]
add rbx, 0x364
xor r14d, r14d
nop dword [rax]
mov rax, qword [rbx + 0x5c]
movsxd rcx, dword [r15]
mov edx, dword [rbx]
or r13, qword [rax + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1401ab70f
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x88
xor r9d, r9d
mov rcx, rsi
call fcn.140138f10
jmp 0x1401ab735
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r14
mov qword [rax + rcx*8 + 0x10], r14
mov edx, dword [rbx + 4]
test edx, edx
je 0x1401ab787
movsxd rcx, dword [r15]
cmp dword [rsi + 0x94], ecx
jg 0x1401ab761
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x88
xor r9d, r9d
mov rcx, rsi
call fcn.140138f10
jmp 0x1401ab787
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r14
mov qword [rax + rcx*8 + 0x10], r14
add rbx, 0x70
sub rbp, 1
jne 0x1401ab6e0
mov r14, qword [rsp + 0x58]
jmp 0x1401ab7a1
mov qword [rsp + 0x48], r15
mov rbx, qword [rsp + 0x40]
test byte [rbx + 0x3c], 0x40
jne 0x1401ab9f2
or r13, qword [r12 + 8]
xor r8d, r8d
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x148], r13
mov r13d, r8d
cmp dword [rax + 0x84], edi
jle 0x1401ab9f2
mov rsi, qword [rsp + 0x148]
xor ebx, ebx
mov r15d, ebx
mov edx, 0x2000
mov r9d, 0x8002
lea r8d, [rbx + 0x48]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x90]
add rcx, r15
test word [rcx + 0x12], r9w
je 0x1401ab81b
cmp word [rcx + 0x14], dx
jne 0x1401ab9e3
mov rax, rsi
not rax
test qword [rcx + 0x30], rax
jne 0x1401ab9bb
mov rdx, qword [rcx]
test byte [rdx + 4], 3
jne 0x1401ab9b6
test rdx, rdx
je 0x1401ab856
mov rcx, qword [r14]
xor r9d, r9d
xor r8d, r8d
call fcn.140152b90
mov rbp, rax
mov r8d, 0x48
jmp 0x1401ab859
mov rbp, rbx
mov r12, qword [r14]
test rdi, rdi
jne 0x1401ab869
mov rdi, rbp
jmp 0x1401ab9b6
test rbp, rbp
je 0x1401ab9b6
mov eax, dword [rbp + 4]
or eax, dword [rdi + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x1401ab941
cmp byte [r14 + 0x11c], 2
jae 0x1401ab941
mov rdx, rdi
mov rcx, r14
call fcn.140152920
mov rdx, rbp
mov rcx, r14
call fcn.140152920
lea rdx, [rsp + 0x148]
mov dword [rsp + 0x148], ebx
lea rcx, [0x140324cf0]
call fcn.140111bf0
test eax, eax
mov ebx, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, r12
call fcn.14010e610
mov rdi, rax
test rax, rax
je 0x1401ab9b4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
mov qword [rdi + 0x40], rax
mov byte [rdi], 0x9b
mov word [rdi + 0x2e], 0xffff
test ebx, ebx
je 0x1401ab932
mov eax, dword [rsp + 0x148]
mov ecx, 0x20800800
test eax, eax
mov dword [rdi + 8], eax
mov edx, 0x10800800
cmovne ecx, edx
or dword [rdi + 4], ecx
jmp 0x1401ab9b4
lea rax, [rdi + 0x48]
mov qword [rdi + 8], rax
mov word [rax], 0x30
jmp 0x1401ab9b4
mov rdx, r8
mov rcx, r12
call fcn.14010e610
mov rbx, rax
test rax, rax
je 0x1401ab99b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
mov qword [rbx + 0x40], rax
mov byte [rbx], 0x2c
mov word [rbx + 0x2e], 0xffff
mov qword [rbx + 0x18], rbp
mov ecx, dword [rbp + 4]
and ecx, 0x400208
mov qword [rbx + 0x10], rdi
or ecx, dword [rbx + 4]
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
and eax, 0x400208
or eax, ecx
mov dword [rbx + 4], eax
jmp 0x1401ab9b1
mov rcx, qword [r14]
mov rdx, rdi
call fcn.140152830
mov rcx, qword [r14]
mov rdx, rbp
call fcn.140152830
mov rdi, rbx
xor ebx, ebx
mov edx, 0x2000
mov rax, qword [rsp + 0x130]
inc r13d
add r15, 0x38
mov r8d, 0x48
mov r9d, 0x8002
cmp r13d, dword [rax + 0x84]
jl 0x1401ab800
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov eax, 1
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x70], eax
xor r13d, r13d
mov dword [rsp + 0x74], eax
xor r9d, r9d
movups xmm0, xmmword [rbx]
mov dword [rsp + 0x38], r13d
mov r8, rdi
mov word [rsp + 0x30], 0x1000
mov rcx, r14
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x28], r13
movups xmm1, xmmword [rbx + 0x10]
mov qword [rsp + 0x20], r13
movups xmmword [rsp + 0x88], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0x98], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rsp + 0xa8], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rsp + 0xb8], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rsp + 0xc8], xmm1
movsd xmm0, qword [rbx + 0x60]
movsd qword [rsp + 0xd8], xmm0
mov byte [rsp + 0xb4], 0
inc byte [r14 + 0x26]
call fcn.1401b85a0
mov qword [rsp + 0x40], rax
lea rbp, [0x1404047a0]
test rax, rax
je 0x1401abd36
mov r12d, dword [r14 + 0x38]
mov rdx, qword [rsp + 0x140]
inc r12d
mov dword [rsp + 0x148], r12d
mov edx, dword [rdx + 4]
mov dword [r14 + 0x38], r12d
mov r13, qword [rbx + 0x20]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x130], eax
test byte [r13 + 0x30], 0x80
jne 0x1401abb3f
movsxd rcx, dword [rsi + 0x90]
xor r8d, r8d
cmp dword [rsi + 0x94], ecx
jg 0x1401abb06
mov dword [rsp + 0x20], r8d
mov r9d, r12d
mov r8d, edx
mov rcx, rsi
mov edx, 0x87
call fcn.140138f10
mov r9d, 1
jmp 0x1401abbd8
lea eax, [rcx + 1]
mov r9d, 1
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x1401abbd8
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x1401abb62
nop dword [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1401abb62
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1401abb50
movzx r9d, word [rbx + 0x5e]
mov dword [rsp + 0x138], r9d
lea eax, [r9 - 1]
add eax, r12d
mov dword [r14 + 0x38], eax
test r9d, r9d
je 0x1401abbd8
xor r8d, r8d
mov r15d, r12d
mov ebp, r8d
mov r14d, r9d
mov r12d, edx
nop
mov rax, qword [rbx + 8]
mov r8d, r12d
mov rdx, r13
mov dword [rsp + 0x20], r15d
mov rcx, rsi
movsx r9d, word [rax + rbp*2]
call fcn.1401580f0
inc r15d
inc rbp
cmp rbp, r14
jl 0x1401abb90
mov r14, qword [rsp + 0x58]
lea rbp, [0x1404047a0]
mov r12d, dword [rsp + 0x148]
mov r15, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x138]
mov r13, qword [rsp + 0x60]
movsxd rbx, dword [r15]
mov edx, dword [r13 + 4]
cmp dword [rsi + 0x94], ebx
jg 0x1401abc17
mov dword [rsp + 0x28], r9d
mov r8d, edx
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov rcx, rsi
lea edx, [r9 + 0x40]
call fcn.140138f70
mov r9d, dword [rsp + 0x138]
mov ebx, eax
xor r10d, r10d
jmp 0x1401abc45
lea rcx, [rbx + rbx*2]
xor r10d, r10d
lea eax, [rbx + 1]
mov dword [r15], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xfd40
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 0x10], r9d
movsxd rcx, dword [r15]
mov edx, dword [r13]
cmp dword [rsi + 0x94], ecx
jg 0x1401abc7b
mov dword [rsp + 0x28], r9d
mov r8d, edx
mov r9d, dword [rsp + 0x130]
mov edx, 0x1d
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140138f70
xor r10d, r10d
jmp 0x1401abcae
mov r8d, dword [rsp + 0x130]
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xfd1d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r12d
mov dword [rax + rcx*8 + 0x10], r9d
mov rax, qword [rsi]
mov edx, dword [r15]
cmp byte [rax + 0x67], 0
je 0x1401abcbf
mov rax, rbp
jmp 0x1401abcd1
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [r15]
mov edx, dword [r13 + 0xc]
mov r8d, dword [r13 + 8]
cmp dword [rsi + 0x94], ecx
jg 0x1401abcfe
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0xa
mov rcx, rsi
call fcn.140138f10
jmp 0x1401abd29
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rcx, qword [rsp + 0x40]
call fcn.1401b9880
xor r13d, r13d
test rdi, rdi
je 0x1401abd46
mov rcx, qword [r14]
mov rdx, rdi
call fcn.140152830
movsxd rcx, dword [r14 + 0x128]
test ecx, ecx
jne 0x1401abd5a
mov dword [r14 + 0x128], r13d
jmp 0x1401abd80
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x1401abd76
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rbp, [rax + rcx*8]
mov eax, dword [rbp + 8]
mov dword [r14 + 0x128], eax
dec byte [r14 + 0x26]
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret