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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x110
mov rax, qword [0x1404d4020]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rsi, qword [rcx]
mov rax, r8
mov r13, rcx
mov qword [rsp + 0x58], rcx
mov rcx, qword [r8 + 0x38]
xor r8d, r8d
mov qword [rsp + 0x78], rax
mov edi, r8d
mov r15, qword [rax + 0x60]
mov r12d, r8d
movzx eax, byte [rax + 0x40]
lea r8, str.RIGHT_JOIN__s
mov r14, qword [rsi + 0x10]
movsxd rbx, edx
mov qword [rsp + 0x68], rcx
imul rcx, rax, 0x68
mov rax, qword [r13 + 8]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], r14
mov r9, qword [rcx + rax + 0x28]
lea rdx, [rax + 8]
add rdx, rcx
mov eax, 1
mov qword [rsp + 0x50], rdx
mov rcx, rsi
mov edx, eax
mov dword [rsp + 0x40], eax
mov r9, qword [r9]
call fcn.14033b390
lea rax, [r14 + 0x90]
mov rbp, rbx
mov qword [rsp + 0x60], rax
test ebx, ebx
jle 0x1403479f7
lea rbx, [r13 + 0x364]
nop
mov rax, qword [rbx + 0x5c]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [rbx]
or r12, qword [rax + 8]
cmp dword [r14 + 0x94], ecx
jg 0x140347963
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x88
xor r9d, r9d
mov rcx, r14
call fcn.1402bdf30
jmp 0x14034798d
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
mov edx, dword [rbx + 4]
test edx, edx
je 0x1403479e7
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1403479bd
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x88
xor r9d, r9d
mov rcx, r14
call fcn.1402bdf30
jmp 0x1403479e7
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x88
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], rdi
add rbx, 0x70
sub rbp, 1
jne 0x140347930
jmp 0x1403479fc
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x50]
test byte [rbx + 0x3c], 0x40
jne 0x140347cc2
mov rax, qword [rsp + 0x58]
xor r8d, r8d
or r12, qword [r15 + 8]
mov r13d, r8d
cmp dword [rax + 0x84], r8d
jle 0x140347cc2
mov r14d, r8d
lea r9d, [r8 + 0x48]
mov edx, 0x2000
mov r10d, 0x8002
nop dword [rax]
mov rcx, qword [rax + 0x90]
add rcx, r14
test word [rcx + 0x12], r10w
je 0x140347a5b
cmp word [rcx + 0x14], dx
jne 0x140347cb8
mov rax, r12
not rax
test qword [rcx + 0x30], rax
jne 0x140347c8f
mov rdx, qword [rcx]
test byte [rdx + 4], 3
jne 0x140347c8a
test rdx, rdx
je 0x140347a96
mov rcx, qword [rsi]
xor r9d, r9d
xor r8d, r8d
call fcn.1402764b0
mov rbp, rax
mov r9d, 0x48
jmp 0x140347a99
mov rbp, r8
mov rbx, qword [rsi]
test rdi, rdi
jne 0x140347aa9
mov rdi, rbp
jmp 0x140347c8a
test rbp, rbp
je 0x140347c8a
mov eax, dword [rdi + 4]
lea r15, [rbp + 4]
and eax, 0x20000001
cmp eax, 0x20000000
je 0x140347ad8
mov eax, dword [r15]
and eax, 0x20000001
cmp eax, 0x20000000
jne 0x140347be4
cmp byte [rsi + 0x134], 2
jae 0x140347be4
test rbx, rbx
je 0x140347af9
mov edx, 0x18
mov rcx, rbx
call fcn.1402eec50
jmp 0x140347b03
mov ecx, 0x18
call fcn.140317ac0
mov rcx, rax
test rax, rax
je 0x140347b2d
mov rax, qword [rsi + 0xc0]
mov qword [rcx], rax
lea rax, [0x1402f68c0]
mov qword [rsi + 0xc0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], rdi
jmp 0x140347b38
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1402f68d0
mov rdx, rbp
mov rcx, rsi
call fcn.1402f6840
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [0x1404aa184]
mov dword [rsp + 0x48], r8d
call fcn.1403122e0
test eax, eax
mov ebp, eax
mov eax, 0x48
mov edx, 0x4a
cmovne edx, eax
mov rcx, rbx
call fcn.1402eec50
mov rdi, rax
test rax, rax
je 0x140347c8a
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 + 0x32], 0xffff
test ebp, ebp
je 0x140347bcb
mov eax, dword [rsp + 0x48]
mov ecx, 0x20800800
test eax, eax
mov dword [rdi + 8], eax
mov edx, 0x10800800
mov dword [rdi + 0x28], 1
cmovne ecx, edx
or dword [rdi + 4], ecx
jmp 0x140347c8a
lea rax, [rdi + 0x48]
mov qword [rdi + 8], rax
mov word [rax], 0x30
mov dword [rdi + 0x28], 1
jmp 0x140347c8a
mov rdx, r9
mov rcx, rbx
call fcn.1402eec50
mov rbx, rax
test rax, rax
je 0x140347c71
xor eax, eax
xorps xmm0, xmm0
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 + 0x32], 0xffff
mov qword [rbx + 0x18], rbp
mov edx, dword [r15]
and edx, 0x400208
or edx, dword [rbx + 4]
mov dword [rbx + 4], edx
mov ecx, dword [rbp + 0x28]
inc ecx
mov dword [rbx + 0x28], ecx
mov qword [rbx + 0x10], rdi
mov eax, dword [rdi + 4]
and eax, 0x400208
or eax, edx
mov dword [rbx + 4], eax
mov eax, dword [rdi + 0x28]
cmp eax, ecx
jl 0x140347c50
inc eax
mov dword [rbx + 0x28], eax
mov rax, qword [rsi]
mov r8d, dword [rax + 0x94]
cmp dword [rbx + 0x28], r8d
jle 0x140347c87
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
mov rcx, rsi
call fcn.1402f1820
jmp 0x140347c87
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1402f68d0
mov rcx, qword [rsi]
mov rdx, rbp
call fcn.1402f68d0
mov rdi, rbx
mov edx, 0x2000
mov rax, qword [rsp + 0x58]
mov r8d, 0
inc r13d
add r14, 0x38
mov r10d, 0x8002
lea r9d, [r8 + 0x48]
cmp r13d, dword [rax + 0x84]
jl 0x140347a40
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x50]
mov eax, 1
lea rdx, [rsp + 0x90]
mov dword [rsp + 0x90], eax
xor r12d, r12d
mov dword [rsp + 0x94], eax
xor r9d, r9d
movups xmm0, xmmword [rbx]
mov dword [rsp + 0x38], r12d
mov r8, rdi
mov word [rsp + 0x30], 0x1000
mov rcx, rsi
movups xmmword [rsp + 0x98], xmm0
mov qword [rsp + 0x28], r12
movups xmm1, xmmword [rbx + 0x10]
mov qword [rsp + 0x20], r12
movups xmmword [rsp + 0xa8], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsp + 0xb8], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rsp + 0xc8], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rsp + 0xd8], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rsp + 0xe8], xmm1
movsd xmm0, qword [rbx + 0x60]
movsd qword [rsp + 0xf8], xmm0
mov byte [rsp + 0xd4], 0
inc byte [rsi + 0x26]
call fcn.140341f40
mov qword [rsp + 0x70], rax
mov r15, rax
lea rbp, [0x1404d45d8]
test rax, rax
je 0x14034802e
mov r12d, dword [rsi + 0x38]
mov rdx, qword [rsp + 0x78]
inc r12d
mov dword [rsp + 0x58], r12d
mov edx, dword [rdx + 4]
mov dword [rsi + 0x38], r12d
mov r13, qword [rbx + 0x20]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x48], eax
test byte [r13 + 0x30], 0x80
jne 0x140347e0a
movsxd rcx, dword [r14 + 0x90]
xor r8d, r8d
cmp dword [r14 + 0x94], ecx
jg 0x140347dd6
mov dword [rsp + 0x20], r8d
mov r9d, r12d
mov r8d, edx
mov rcx, r14
mov edx, 0x87
call fcn.1402bdf30
jmp 0x140347e90
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 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 0x140347e90
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x140347e25
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140347e25
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140347e13
movzx ecx, word [rbx + 0x5e]
mov dword [rsp + 0x40], ecx
lea eax, [rcx - 1]
add eax, r12d
mov dword [rsi + 0x38], eax
test ecx, ecx
je 0x140347e90
xor r8d, r8d
mov r15d, r12d
mov ebp, r8d
mov esi, edx
mov r12d, ecx
nop dword [rax + rax]
mov rax, qword [rbx + 8]
mov r8d, esi
mov rdx, r13
mov dword [rsp + 0x20], r15d
mov rcx, r14
movsx r9d, word [rax + rbp*2]
call fcn.1402f2f70
inc r15d
inc rbp
cmp rbp, r12
jl 0x140347e50
mov rsi, qword [rsp + 0x80]
lea rbp, [0x1404d45d8]
mov r12d, dword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
movsxd rdx, dword [r9]
mov r8d, dword [r11 + 4]
cmp dword [r14 + 0x94], edx
jg 0x140347ecc
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea edx, [r9 + 0x40]
call fcn.1402bdf30
mov r9, qword [rsp + 0x60]
mov edx, eax
mov r11, qword [rsp + 0x68]
jmp 0x140347efb
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [r9], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x40
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r14]
mov r13d, dword [rsp + 0x40]
movsxd rbx, edx
cmp byte [rax + 0x67], 0
jne 0x140347f21
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
movsxd rdx, dword [r9]
mov r8d, dword [r11]
cmp dword [r14 + 0x94], edx
jg 0x140347f58
mov r9d, dword [rsp + 0x48]
mov edx, 0x1d
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.1402bdf30
mov r9, qword [rsp + 0x60]
mov edx, eax
mov r11, qword [rsp + 0x68]
xor r12d, r12d
jmp 0x140347f8c
mov r10d, dword [rsp + 0x48]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r9], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 0xc], r12d
xor r12d, r12d
mov qword [rax + rcx*8 + 0x10], r12
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r10d
mov rax, qword [r14]
cmp byte [rax + 0x67], 0
jne 0x140347fad
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r13d
mov rax, qword [r14]
mov edx, dword [r9]
cmp byte [rax + 0x67], 0
je 0x140347fbe
mov rax, rbp
jmp 0x140347fcd
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [r9]
mov edx, dword [r11 + 0xc]
mov r8d, dword [r11 + 8]
cmp dword [r14 + 0x94], ecx
jg 0x140347ffb
mov r9d, edx
mov dword [rsp + 0x20], r12d
mov edx, 0xa
mov rcx, r14
call fcn.1402bdf30
jmp 0x140348026
lea eax, [rcx + 1]
mov dword [r9], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 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], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rcx, r15
call fcn.140345e50
test rdi, rdi
je 0x14034803e
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1402f68d0
movsxd rcx, dword [rsi + 0x140]
test ecx, ecx
jne 0x140348052
mov dword [rsi + 0x140], r12d
jmp 0x140348077
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14034806e
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea rbp, [rax + rcx*8]
mov eax, dword [rbp + 8]
mov dword [rsi + 0x140], eax
dec byte [rsi + 0x26]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1403c3c50
mov rbx, qword [rsp + 0x158]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret