Function at 0x1400be5c0
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, 0x2b8
mov r14, rdx
mov rsi, rcx
mov r8, qword [rdx]
mov rbx, qword [rdx + 8]
mov rcx, qword [r8 + 0xa0]
mov rdi, qword [rdx + 0x10]
test rcx, rcx
je 0x1400be606
cmp rcx, rdi
jae 0x1400be600
cmp byte [rbx + rcx], 0xbf
jg 0x1400be606
jmp 0x1400bed2b
jne 0x1400bed2b
cmp rcx, rdi
je 0x1400bed2b
movzx eax, byte [rbx + rcx]
test al, al
mov qword [rsp + 0x28], r8
jns 0x1400be678
mov edx, eax
and edx, 0x1f
movzx r9d, byte [rbx + rcx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400be670
movzx r8d, byte [rbx + rcx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x1400be800
movzx eax, byte [rbx + rcx + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, edx
cmp eax, 0x110000
mov r8, qword [rsp + 0x28]
jne 0x1400be678
jmp 0x1400bed2b
shl edx, 6
or edx, r9d
mov eax, edx
cmp eax, 0x5b
jne 0x1400bed2b
lea r12, [r8 + 0xa0]
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400be6bd
mov rcx, r14
call fcn.1400b58e0
mov r13, qword [r12]
cmp r13, rdi
jne 0x1400be789
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x188], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x178], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x160], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x170], rax
test rdi, rdi
je 0x1400be71a
js 0x1400bed2b
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400be720
jmp 0x1400bed2b
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 4
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmm2, xmmword [rsp + 0x180]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
movabs rax, 0x8000000000000000
mov qword [rsi + 0xd8], rax
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test r13, r13
je 0x1400be7a2
cmp r13, rdi
jae 0x1400bed2b
cmp byte [rbx + r13], 0xc0
jl 0x1400bed2b
movzx r15d, byte [rbx + r13]
test r15b, r15b
jns 0x1400be824
mov eax, r15d
and eax, 0x1f
movzx edx, byte [rbx + r13 + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x1400be81c
movzx ecx, byte [rbx + r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r15b, 0xf0
jb 0x1400be8ef
movzx r15d, byte [rbx + r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r15d, 0x3f
or r15d, ecx
or r15d, eax
cmp r15d, 0x110000
jne 0x1400be824
jmp 0x1400bed2b
shl edx, 0xc
or r8d, edx
mov eax, r8d
mov r8, qword [rsp + 0x28]
cmp eax, 0x5b
je 0x1400be681
jmp 0x1400bed2b
shl eax, 6
or eax, edx
mov r15d, eax
cmp r15d, 0x5e
jne 0x1400be901
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400be84f
mov rcx, r14
call fcn.1400b58e0
mov r13, qword [r12]
cmp r13, rdi
jne 0x1400be901
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x1b8], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x1a8], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x1a0], rax
test rdi, rdi
je 0x1400be8ac
js 0x1400bed2b
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400be8b2
jmp 0x1400bed2b
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 4
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movaps xmm2, xmmword [rsp + 0x1b0]
jmp 0x1400be758
shl eax, 0xc
or ecx, eax
mov r15d, ecx
cmp r15d, 0x5e
je 0x1400be82e
mov dword [rsp + 0x24], r15d
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm1, xmmword [r12]
movups xmmword [rsp + 0xd8], xmm1
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xe8], rax
movups xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 8
mov qword [rsp + 0x58], 0
mov ebp, 8
xor r15d, r15d
nop dword [rax]
test r13, r13
je 0x1400be9c6
cmp r13, rdi
jae 0x1400be9c0
cmp byte [rbx + r13], 0xbf
jg 0x1400be9c6
jmp 0x1400bed2b
jne 0x1400bed2b
cmp r13, rdi
je 0x1400bed2b
movzx eax, byte [rbx + r13]
mov edx, eax
test al, al
jns 0x1400bea30
mov ecx, eax
and ecx, 0x1f
movzx edx, byte [rbx + r13 + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400bea29
movzx r8d, byte [rbx + r13 + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp al, 0xf0
jb 0x1400beac0
movzx edx, byte [rbx + r13 + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edx, 0x3f
or edx, r8d
or edx, ecx
cmp edx, 0x110000
jne 0x1400bea30
jmp 0x1400bed2b
shl ecx, 6
or ecx, edx
mov edx, ecx
cmp edx, 0x2d
jne 0x1400bed2d
test r13, r13
je 0x1400bea4f
cmp r13, rdi
jae 0x1400bed2b
cmp al, 0xbf
jle 0x1400bed2b
mov ecx, 1
test al, al
jns 0x1400beb10
mov edx, eax
and edx, 0x1f
movzx r8d, byte [rbx + r13 + 1]
and r8d, 0x3f
cmp al, 0xe0
jb 0x1400beaac
movzx r9d, byte [rbx + r13 + 2]
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
cmp al, 0xf0
jb 0x1400bead7
movzx r8d, byte [rbx + r13 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
jne 0x1400beab5
jmp 0x1400bed2b
shl edx, 6
or edx, r8d
mov r8d, edx
cmp r8d, 0x80
jae 0x1400beae9
jmp 0x1400beb10
shl ecx, 0xc
or r8d, ecx
mov edx, r8d
cmp edx, 0x2d
je 0x1400bea39
jmp 0x1400bed2d
shl edx, 0xc
or r9d, edx
mov r8d, r9d
cmp r8d, 0x80
jb 0x1400beb10
mov ecx, 2
cmp r8d, 0x800
jb 0x1400beb10
cmp r8d, 0x10000
mov ecx, 4
sbb rcx, 0
nop word [rax + rax]
add rcx, r13
jb 0x1400bed2b
mov r8, qword [rsp + 0x28]
mov rdx, qword [r8 + 0xb0]
inc rdx
je 0x1400bed2b
mov r8, qword [r8 + 0xa8]
test r13, r13
je 0x1400beb4b
cmp r13, rdi
jae 0x1400bed2b
cmp al, 0xbf
jle 0x1400bed2b
test al, al
jns 0x1400bebc0
mov r9d, eax
and r9d, 0x1f
movzx r11d, byte [rbx + r13 + 1]
and r11d, 0x3f
cmp al, 0xdf
jbe 0x1400beba0
movzx r10d, byte [rbx + r13 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x1400bebac
movzx eax, byte [rbx + r13 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
cmp eax, 0x110000
jne 0x1400bebc0
jmp 0x1400bed2b
shl r9d, 6
or r9d, r11d
mov eax, r9d
jmp 0x1400bebc0
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
nop word cs:[rax + rax]
xor r9d, r9d
cmp eax, 0xa
sete r9b
mov eax, 1
cmove rdx, rax
add r8, r9
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0xf0], 0x2d
mov byte [rsp + 0xf4], 0
mov dword [rsp + 0x158], 0x110001
test r15, r15
jne 0x1400bec47
mov rax, qword [rsp + 0xd0]
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rcx], xmm0
lea rdx, [rsp + 0xd8]
mov rax, qword [rdx + 0x10]
lea rcx, [rsp + 0x60]
mov qword [rcx + 0x28], rax
movups xmm0, xmmword [rdx]
movups xmmword [rcx + 0x18], xmm0
cmp r15, qword [rsp + 0x48]
jne 0x1400bec90
lea rcx, [rsp + 0x48]
mov rdx, r15
call fcn.1400d60d0
mov rax, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
jmp 0x1400bec93
mov rax, rbp
lea rcx, [r15 + r15*4]
shl rcx, 5
mov rbp, rax
add rcx, rax
mov r8d, 0xa0
lea rdx, [rsp + 0xc0]
call sub.msvcrt.dll_memcpy
inc r15
mov qword [rsp + 0x58], r15
mov rcx, r14
call fcn.1400b65f0
test al, al
je 0x1400becdd
mov rcx, r14
call fcn.1400b58e0
mov r13, qword [r12]
cmp r13, rdi
jne 0x1400be9a0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x200], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], rax
test rdi, rdi
je 0x1400beda3
js 0x1400bed2b
movzx eax, byte [0x141934140]
xor ecx, ecx
mov rdx, rdi
call fcn.1400e65f0
mov r14, rax
test rax, rax
jne 0x1400beda9
ud2
test r15, r15
mov r15d, dword [rsp + 0x24]
jne 0x1400befbe
test r13, r13
je 0x1400bed49
cmp r13, rdi
jae 0x1400bed2b
cmp al, 0xbf
jle 0x1400bed2b
test al, al
jns 0x1400bee60
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rbx + r13 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400bee4f
movzx edx, byte [rbx + r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400bee59
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 0x1400bee60
jmp 0x1400bed2b
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
lea rax, [rsp + 0x1f0]
lea rcx, [rsp + 0x250]
mov r15, rdi
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 4
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [rsi + 0x1c], xmm0
movups xmmword [rsi + 0x2c], xmm1
movups xmmword [rsi + 0x3c], xmm2
mov ecx, dword [rcx + 0x30]
mov dword [rsi + 0x4c], ecx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
movabs rax, 0x8000000000000000
mov qword [rsi + 0xd8], rax
lea rcx, [rsp + 0x48]
call fcn.1400cb130
cmp qword [rsp + 0x48], 0
je 0x1400be775
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1419340f0]
xor edx, edx
call fcn.1401034d0
jmp 0x1400be775
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400bee60
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, 0x5d
jne 0x1400befbe
mov rcx, r14
call fcn.1400b5e90
mov ecx, 1
cmp eax, 0x80
jb 0x1400bee97
mov ecx, 2
cmp eax, 0x800
jb 0x1400bee97
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
mov rax, qword [rsp + 0x28]
jb 0x1400bed2b
mov r15, qword [rax + 0xb0]
inc r15
je 0x1400bed2b
mov rbp, qword [rax + 0xa8]
mov rcx, r14
call fcn.1400b5e90
xor ecx, ecx
cmp eax, 0xa
mov eax, 1
cmove r15, rax
sete cl
add rcx, rbp
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], r15
mov dword [rsp + 0xf0], 0x5d
mov byte [rsp + 0xf4], 0
mov dword [rsp + 0x158], 0x110001
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0xc0]
call fcn.1400d8640
mov rcx, r14
call fcn.1400b65f0
test al, al
mov r15d, dword [rsp + 0x24]
je 0x1400bef59
mov rcx, r14
call fcn.1400b58e0
cmp qword [r12], rdi
jne 0x1400befbe
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x248], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x238], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x230], rax
mov rcx, rdi
call fcn.1400d6090
mov r15, rax
mov r14, rdx
mov rcx, rdx
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
lea rax, [rsp + 0x220]
lea rcx, [rsp + 0x284]
jmp 0x1400bedca
cmp r15d, 0x5e
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xb8], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xa8], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x60]
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x1c0], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x1d8], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x20], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsi + 0x18], rax
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsi], xmm0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 8
mov qword [rsi + 0x40], 0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm2, xmmword [rsp + 0x1e0]
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x58], xmm1
movups xmmword [rsi + 0x68], xmm2
mov dword [rsi + 0xc8], 0x110007
sete byte [rsi + 0xd0]
movups xmm0, xmmword [rsp + 0x48]
movups xmm1, xmmword [rsp + 0x58]
movups xmm2, xmmword [rsp + 0x68]
movups xmm3, xmmword [rsp + 0x78]
movups xmmword [rsi + 0xd8], xmm0
movups xmmword [rsi + 0xe8], xmm1
movups xmmword [rsi + 0xf8], xmm2
movups xmmword [rsi + 0x108], xmm3
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x118], rax
jmp 0x1400be775