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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov r14, rdx
mov rdi, rcx
mov rax, qword [rdx]
mov rbp, qword [rdx + 0x10]
lea r15, [rax + 0xa0]
mov rdx, qword [rax + 0xa0]
mov rcx, rdx
mov qword [rsp + 0x20], rdx
cmp rdx, rbp
jne 0x1400bea0a
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x78], xmm0
mov rbx, qword [r14 + 8]
test rbp, rbp
je 0x1400bf0a5
jns 0x1400bf005
jmp fcn.1400bf6cd
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x5c], r8d
lea rcx, [rax + 0xa8]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rax + 0xa8]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rax + 0xb0]
mov qword [rsp + 0x48], rax
mov rbx, qword [r14 + 8]
lea rsi, [0x140115750]
lea rdi, [0x14011208c]
jmp 0x1400bea70
test cl, 1
je 0x1400bef25
nop word [rax + rax]
mov rcx, r14
call fcn.1400b3520
test al, al
je 0x1400befad
mov r13, qword [r15]
test r13, r13
je 0x1400bea96
cmp r13, rbp
jae 0x1400bea90
cmp byte [rbx + r13], 0xc0
jge 0x1400bea96
jmp fcn.1400bf6cd
jne fcn.1400bf6cd
cmp r13, rbp
je fcn.1400bf6cd
movzx r12d, byte [rbx + r13]
mov ecx, r12d
test r12b, r12b
jns 0x1400beb10
mov eax, r12d
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp r12b, 0xdf
jbe 0x1400beafc
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp r12b, 0xf0
jb 0x1400bec43
movzx ecx, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400beb10
jmp fcn.1400bf6cd
shl eax, 6
or eax, ecx
mov ecx, eax
nop word cs:[rax + rax]
cmp ecx, 0x3e
je 0x1400befb0
test r13, r13
je 0x1400beb31
cmp r13, rbp
jae fcn.1400bf6cd
cmp r12b, 0xbf
jle fcn.1400bf6cd
mov eax, r12d
test r12b, r12b
jns 0x1400beb90
mov ecx, r12d
and ecx, 0x1f
movzx eax, byte [rbx + r13 + 1]
and eax, 0x3f
cmp r12b, 0xdf
jbe 0x1400beb88
movzx edx, byte [rbx + r13 + 2]
shl eax, 6
and edx, 0x3f
or edx, eax
cmp r12b, 0xf0
jb 0x1400bec58
movzx eax, byte [rbx + r13 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x1400beb90
jmp fcn.1400bf6cd
shl ecx, 6
or ecx, eax
mov eax, ecx
nop
cmp r13, qword [rsp + 0x20]
jne 0x1400bec70
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
cmp qword [rcx + 0xa8], rdx
jne 0x1400bec70
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
cmp qword [rcx + 0xb0], rdx
jne 0x1400bec70
cmp eax, 0x5f
je 0x1400bea60
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400bea60
cmp eax, 0x80
jb 0x1400bef25
mov edx, eax
shl edx, 0xb
mov r8d, 0x36
xor ecx, ecx
mov r9d, 0x36
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov r10d, dword [rsi + r8*4]
shl r10d, 0xb
cmp r10d, edx
je 0x1400bed04
lea r11, [r8 + 1]
cmp r10d, edx
cmova r9, r8
cmovb rcx, r11
mov r8, r9
sub r8, rcx
ja 0x1400bec10
jmp 0x1400bed0a
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x3e
jne 0x1400beb19
jmp 0x1400befb0
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp r13, qword [rsp + 0x20]
je 0x1400beb9b
nop word [rax + rax]
lea ecx, [rax - 0x2e]
cmp ecx, 0x31
ja 0x1400bec8c
movabs rdx, 0x2a00000000001
bt rdx, rcx
jb 0x1400bea60
mov ecx, eax
and ecx, 0xffffffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
jb 0x1400bea60
cmp eax, 0x80
jb 0x1400becf3
mov ecx, eax
shl ecx, 0xb
mov r8d, 0x36
xor edx, edx
mov r9d, 0x36
nop word [rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [rsi + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400beda5
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400becc0
jmp 0x1400bedab
add eax, 0xffffffd0
cmp eax, 0xa
jb 0x1400bea60
jmp 0x1400bef25
inc r8
mov rcx, r8
cmp rcx, 0x35
ja fcn.1400bf6cd
mov edx, 0x5bb
je 0x1400bed2e
lea r8, [rsi + rcx*4]
add r8, 4
test r8, r8
je 0x1400bed2e
mov edx, dword [r8]
shr edx, 0x15
test rcx, rcx
je 0x1400bed43
mov r8d, dword [rsi + rcx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400bed46
xor r8d, r8d
mov ecx, dword [rsi + rcx*4]
shr ecx, 0x15
mov r9, rcx
not r9
add r9, rdx
je 0x1400bea51
sub eax, r8d
dec rdx
xor r8d, r8d
nop word cs:[rax + rax]
cmp rcx, 0x5ba
ja fcn.1400bf6cd
lea r9, [0x140115828]
movzx r9d, byte [rcx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400bea51
inc rcx
cmp rdx, rcx
jne 0x1400bed70
mov rcx, rdx
jmp 0x1400bea51
inc r8
mov rdx, r8
cmp rdx, 0x35
ja fcn.1400bf6cd
mov r8d, 0x5bb
je 0x1400bedd1
lea r9, [rsi + rdx*4]
add r9, 4
test r9, r9
je 0x1400bedd1
mov r8d, dword [r9]
shr r8d, 0x15
test rdx, rdx
je 0x1400bede6
mov r10d, dword [rsi + rdx*4 - 4]
mov r9d, 0x1fffff
and r10d, r9d
jmp 0x1400bede9
xor r10d, r10d
mov edx, dword [rsi + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, r8
je 0x1400bee3c
mov r9d, eax
sub r9d, r10d
dec r8
xor r10d, r10d
nop word cs:[rax + rax]
cmp rdx, 0x5ba
ja fcn.1400bf6cd
lea r11, [0x140115828]
movzx r11d, byte [rdx + r11]
add r10d, r11d
cmp r10d, r9d
ja 0x1400bee3c
inc rdx
cmp r8, rdx
jne 0x1400bee10
mov rdx, r8
test dl, 1
jne 0x1400bea60
mov r8d, 0x27
xor edx, edx
mov r9d, 0x27
nop word cs:[rax + rax]
shr r8, 1
add r8, rdx
mov r10d, dword [rdi + r8*4]
shl r10d, 0xb
cmp r10d, ecx
je 0x1400bee8c
lea r11, [r8 + 1]
cmp r10d, ecx
cmova r9, r8
cmovb rdx, r11
mov r8, r9
sub r8, rdx
ja 0x1400bee60
jmp 0x1400bee92
inc r8
mov rdx, r8
cmp rdx, 0x26
ja fcn.1400bf6cd
mov ecx, 0x113
je 0x1400beeb6
lea r8, [rdi + rdx*4]
add r8, 4
test r8, r8
je 0x1400beeb6
mov ecx, dword [r8]
shr ecx, 0x15
test rdx, rdx
je 0x1400beece
mov r10, rdi
mov r8d, dword [rdi + rdx*4 - 4]
mov r9d, 0x1fffff
and r8d, r9d
jmp 0x1400beed4
xor r8d, r8d
mov r10, rdi
mov edx, dword [r10 + rdx*4]
shr edx, 0x15
mov r9, rdx
not r9
add r9, rcx
je 0x1400bef1c
sub eax, r8d
dec rcx
xor r8d, r8d
nop
cmp rdx, 0x112
ja fcn.1400bf6cd
lea r9, [0x140112128]
movzx r9d, byte [rdx + r9]
add r8d, r9d
cmp r8d, eax
ja 0x1400bef1c
inc rdx
cmp rcx, rdx
jne 0x1400beef0
mov rdx, rcx
test dl, 1
jne 0x1400bea60
test r13, r13
je 0x1400bef3d
cmp r13, rbp
jae fcn.1400bf6cd
cmp r12b, 0xbf
jle fcn.1400bf6cd
mov edi, 1
test r12b, r12b
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x40], rbx
jns 0x1400bf5ed
mov eax, r12d
and eax, 0x1f
movzx ecx, byte [rbx + r13 + 1]
and ecx, 0x3f
cmp r12b, 0xe0
jb 0x1400bf5a8
movzx edx, byte [rbx + r13 + 2]
shl ecx, 6
and edx, 0x3f
or edx, ecx
cmp r12b, 0xf0
jb 0x1400bf5c2
movzx ecx, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x1400bf5c9
jmp fcn.1400bf6cd
mov r13, qword [r15]
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xd0], xmm0
cmp r13, rbp
mov rsi, qword [rsp + 0x38]
jne 0x1400bf02a
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x88], rax
test rbp, rbp
je 0x1400bf0af
mov rdi, qword [rsp + 0x28]
js fcn.1400bf6cd
movzx eax, byte [0x14017a148]
xor ecx, ecx
mov rdx, rbp
call fcn.1400dbb10
mov r14, rax
mov rsi, rbp
test rax, rax
jne fcn.1400bf0bc
jmp fcn.1400bf6cd
test r13, r13
je 0x1400bf043
cmp r13, rbp
jae fcn.1400bf6cd
mov r14d, 1
xor esi, esi
imul bl
invalid
mov r14d, 1
shl eax, 6
or eax, ecx
mov ecx, eax
jmp 0x1400bf5c9
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x80
jb 0x1400bf5ed
mov edi, 2
cmp ecx, 0x800
jb 0x1400bf5ed
cmp ecx, 0x10000
mov edi, 4
sbb rdi, 0
add rdi, r13
jb fcn.1400bf6cd
mov rbx, rbp
mov rbp, qword [r8 + 0xb0]
inc rbp
je fcn.1400bf6cd
mov rax, qword [rsp + 0x30]
mov rsi, qword [rax]
test r13, r13
je 0x1400bf629
cmp r13, rbx
jae fcn.1400bf6cd
cmp r12b, 0xbf
jle fcn.1400bf6cd
test r12b, r12b
jns 0x1400bf692
mov eax, r12d
and eax, 0x1f
mov r8, qword [rsp + 0x40]
movzx edx, byte [r8 + r13 + 1]
and edx, 0x3f
cmp r12b, 0xdf
jbe 0x1400bf680
movzx ecx, byte [r8 + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r12b, 0xf0
jb 0x1400bf68a
movzx r12d, byte [r8 + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r12d, 0x3f
or r12d, ecx
or r12d, eax
cmp r12d, 0x110000
jne 0x1400bf692
jmp fcn.1400bf6cd
shl eax, 6
or eax, edx
mov r12d, eax
jmp 0x1400bf692
shl eax, 0xc
or ecx, eax
mov r12d, ecx
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0