Function at 0x22db374d0
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, 0xd8
movsxd rax, r8d
mov qword [rsp + 0x120], rcx
mov rbx, rdx
mov r14, r9
lea rax, [rax + rax*4]
lea rax, [rdx + rax*4]
cmp dword [rax], 1
jne 0x22db37788
mov eax, dword [rax + 0xc]
lea r15d, [r8 + 1]
mov dword [rsp + 0x34], eax
test eax, eax
jle 0x22db3778e
xor ebp, ebp
mov esi, r15d
jmp 0x22db375cf
add rcx, r14
mov r8d, 4
lea rdx, [0x22dd7c8b0]
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37840
lea r12, [rbx + rdi + 0x14]
cmp dword [r12], 3
jne 0x22db37788
mov rax, qword [rsp + 0x140]
cmp qword [rax], 0
jne 0x22db37788
mov edi, dword [r12 + 8]
mov rax, qword [rsp + 0x120]
sub edi, dword [r12 + 4]
lea edx, [rdi + 1]
mov rcx, qword [rax + 0x20]
movsxd rdx, edx
call qword [rax + 0x10]
mov rcx, rax
test rax, rax
je 0x22db37da2
movsxd rdx, dword [r12 + 4]
movsxd rdi, edi
add esi, 2
mov r8, rdi
add rdx, r14
call sub.msvcrt.dll_strncpy
mov byte [rax + rdi], 0
mov rcx, rax
mov rax, qword [rsp + 0x140]
mov qword [rax], rcx
test esi, esi
js 0x22db378e0
add ebp, 1
cmp dword [rsp + 0x34], ebp
je 0x22db378e0
movsxd rax, esi
lea rdi, [rax + rax*4]
shl rdi, 2
lea r13, [rbx + rdi]
cmp dword [r13], 3
jne 0x22db37788
mov ecx, dword [r13 + 0xc]
test ecx, ecx
je 0x22db37788
movsxd rcx, dword [r13 + 4]
mov eax, dword [r13 + 8]
lea r12d, [rsi + 1]
sub eax, ecx
cmp eax, 4
je 0x22db37528
cmp eax, 6
jne 0x22db37690
lea r15, [r14 + rcx]
mov r8d, 6
lea rdx, str.buffer
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37890
lea rax, [rbx + rdi + 0x14]
cmp dword [rax], 4
jne 0x22db37d12
movsxd rdx, dword [rax + 4]
mov edi, dword [rax + 8]
mov eax, 0x7f
lea rcx, [rsp + 0x50]
sub edi, edx
cmp edi, eax
cmova edi, eax
add rdx, r14
mov r8d, edi
movsxd rdi, edi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rdi + 0x50], 0
mov rcx, rax
call sub.msvcrt.dll_atoi
cdqe
add rax, 1
mov rdx, qword [rsp + 0x140]
add esi, 2
mov qword [rdx + 8], rax
jmp 0x22db375ba
cmp eax, 0xa
jne 0x22db37840
lea r15, [r14 + rcx]
mov r8d, 0xa
lea rdx, str.byteOffset
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37710
lea rcx, [rbx + rdi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rcx], 4
jne 0x22db376fa
movsxd rdx, dword [rcx + 4]
mov edi, dword [rcx + 8]
mov eax, 0x7f
lea rcx, [rsp + 0x50]
sub edi, edx
cmp edi, eax
cmova edi, eax
add rdx, r14
mov r8d, edi
movsxd rdi, edi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rdi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov rdi, qword [rsp + 0x140]
add esi, 2
mov qword [rdi + 0x10], rax
jmp 0x22db375ba
mov r8d, 0xa
lea rdx, str.byteLength
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db377a8
lea rdx, [rbx + rdi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rdx], 4
jne 0x22db3776e
movsxd rax, dword [rdx + 4]
mov edi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub edi, eax
cmp edi, edx
cmova edi, edx
lea rdx, [r14 + rax]
mov r8d, edi
movsxd rdi, edi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rdi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov rdi, qword [rsp + 0x140]
add esi, 2
mov qword [rdi + 0x18], rax
jmp 0x22db375ba
mov r15d, 0xffffffff
mov eax, r15d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0xa
lea rdx, str.byteStride
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37840
lea rdx, [rbx + rdi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rdx], 4
je 0x22db377f0
mov rdx, qword [rsp + 0x140]
add esi, 2
mov qword [rdx + 0x20], rax
jmp 0x22db375ba
movsxd rax, dword [rdx + 4]
mov edi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub edi, eax
cmp edi, edx
cmova edi, edx
lea rdx, [r14 + rax]
add esi, 2
mov r8d, edi
movsxd rdi, edi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rdi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov rdx, qword [rsp + 0x140]
mov qword [rdx + 0x20], rax
jmp 0x22db375ba
lea r8, [0x22dd7c8e2]
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db378f0
lea rax, [rbx + rdi + 0x14]
mov rsi, qword [rsp + 0x140]
mov rcx, rbx
movsxd rdx, dword [rax + 4]
mov qword [rsi + 0x70], rdx
movsxd rax, dword [rax + 8]
mov edx, r12d
mov qword [rsi + 0x78], rax
call fcn.22db31aa0
mov esi, eax
jmp 0x22db375ba
mov r8d, 6
lea rdx, [0x22dd7c925]
mov rcx, r15
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37840
mov rdx, r14
lea rcx, [rbx + rdi + 0x14]
call fcn.22db32b20
mov edx, 2
cmp eax, 0x8892
je 0x22db378cc
xor edx, edx
cmp eax, 0x8893
sete dl
mov rax, qword [rsp + 0x140]
add esi, 2
mov dword [rax + 0x28], edx
jmp 0x22db375ba
mov r15d, esi
jmp 0x22db3778e
lea r8, str.extensions
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x22db3791c
mov edx, r12d
mov rcx, rbx
call fcn.22db31aa0
mov esi, eax
jmp 0x22db375ba
lea rax, [rbx + rdi + 0x14]
cmp dword [rax], 1
jne 0x22db37788
mov rdi, qword [rsp + 0x140]
cmp qword [rdi + 0x88], 0
jne 0x22db37788
movsxd r8, dword [rax + 0xc]
mov rax, qword [rsp + 0x140]
mov edx, 0x10
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x80], 0
mov rdi, r8
mov dword [rsp + 0x48], r8d
call fcn.22db2bf00
mov rdx, qword [rsp + 0x140]
mov qword [rdx + 0x88], rax
test rax, rax
je 0x22db37da2
add esi, 2
test edi, edi
jle 0x22db375ba
mov dword [rsp + 0x4c], ebp
mov r15d, esi
mov rbp, rdx
nop
movsxd rax, r15d
lea rsi, [rax + rax*4]
shl rsi, 2
lea rcx, [rbx + rsi]
cmp dword [rcx], 3
jne 0x22db37788
mov edx, dword [rcx + 0xc]
test edx, edx
je 0x22db37788
lea r8, str.EXT_meshopt_compression
mov rdx, r14
call fcn.22db32ab0
mov edi, eax
test eax, eax
jne 0x22db37b58
lea rax, [rbx + rsi + 0x14]
mov dword [rbp + 0x38], 1
cmp dword [rax], 1
jne 0x22db37788
mov r12d, dword [rax + 0xc]
add r15d, 2
test r12d, r12d
jle 0x22db37b93
mov dword [rsp + 0x38], r12d
mov r12d, r15d
jmp 0x22db37a93
add rcx, r14
mov r8d, 6
lea rdx, str.buffer
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37c30
lea rdx, [rbx + rsi + 0x14]
cmp dword [rdx], 4
jne 0x22db37dad
movsxd rax, dword [rdx + 4]
mov esi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [r14 + rax]
mov r8d, esi
movsxd rsi, esi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rsi + 0x50], 0
mov rcx, rax
call sub.msvcrt.dll_atoi
cdqe
add rax, 1
mov qword [rbp + 0x40], rax
add r12d, 2
test r12d, r12d
js 0x22db37d76
add edi, 1
cmp dword [rsp + 0x38], edi
je 0x22db37d7e
movsxd rax, r12d
lea rsi, [rax + rax*4]
shl rsi, 2
lea r15, [rbx + rsi]
cmp dword [r15], 3
jne 0x22db37788
mov eax, dword [r15 + 0xc]
test eax, eax
je 0x22db37788
movsxd rcx, dword [r15 + 4]
mov eax, dword [r15 + 8]
lea r13d, [r12 + 1]
sub eax, ecx
cmp eax, 6
je 0x22db37a10
cmp eax, 0xa
jne 0x22db37c30
add rcx, r14
mov r8d, 0xa
lea rdx, str.byteOffset
mov qword [rsp + 0x40], rcx
call sub.msvcrt.dll_strncmp
mov rcx, qword [rsp + 0x40]
test eax, eax
jne 0x22db37bc0
lea rdx, [rbx + rsi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rdx], 4
jne 0x22db37b45
movsxd rax, dword [rdx + 4]
mov esi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [r14 + rax]
mov r8d, esi
movsxd rsi, esi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rsi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov qword [rbp + 0x48], rax
add r12d, 2
jmp 0x22db37a7d
mov rax, qword [rbp + 0x80]
mov rcx, qword [rsp + 0x120]
mov r8d, r15d
mov r9, r14
lea rdx, [rax + 1]
shl rax, 4
add rax, qword [rbp + 0x88]
mov qword [rbp + 0x80], rdx
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.22db32d60
mov r15d, eax
test r15d, r15d
js 0x22db3778e
add dword [rsp + 0x3c], 1
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x48], eax
jne 0x22db379a0
mov ebp, dword [rsp + 0x4c]
mov esi, r15d
jmp 0x22db375c2
mov r8d, 0xa
lea rdx, str.byteLength
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x22db37c30
lea rdx, [rbx + rsi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rdx], 4
jne 0x22db37c1b
movsxd rax, dword [rdx + 4]
mov esi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [r14 + rax]
mov r8d, esi
movsxd rsi, esi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rsi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov qword [rbp + 0x50], rax
add r12d, 2
jmp 0x22db37a7d
lea r8, str.byteStride
mov rdx, r14
mov rcx, r15
call fcn.22db32ab0
test eax, eax
jne 0x22db37ca0
lea rdx, [rbx + rsi + 0x14]
mov rax, 0xffffffffffffffff
cmp dword [rdx], 4
jne 0x22db37c8b
movsxd rax, dword [rdx + 4]
mov esi, dword [rdx + 8]
mov edx, 0x7f
lea rcx, [rsp + 0x50]
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [r14 + rax]
mov r8d, esi
movsxd rsi, esi
call sub.msvcrt.dll_strncpy
mov byte [rsp + rsi + 0x50], 0
mov rcx, rax
call fcn.22dceb700
mov qword [rbp + 0x58], rax
add r12d, 2
jmp 0x22db37a7d
lea r8, str.count
mov rdx, r14
mov rcx, r15
call fcn.22db32ab0
test eax, eax
je 0x22db37d5a
lea r8, str.mode
mov rdx, r14
mov rcx, r15
call fcn.22db32ab0
test eax, eax
jne 0x22db37d19
lea r13, [rbx + rsi + 0x14]
lea r8, str.ATTRIBUTES
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
je 0x22db37d99
lea r8, str.TRIANGLES
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37dd6
mov dword [rbp + 0x68], 2
jmp 0x22db37d51
xor eax, eax
jmp 0x22db37679
lea r8, str.filter
mov rdx, r14
mov rcx, r15
call fcn.22db32ab0
test eax, eax
jne 0x22db37d86
lea r13, [rbx + rsi + 0x14]
lea r8, str.NONE
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37db4
mov dword [rbp + 0x6c], 0
add r12d, 2
jmp 0x22db37a7d
lea rcx, [rbx + rsi + 0x14]
mov rdx, r14
add r12d, 2
call fcn.22db32b20
cdqe
mov qword [rbp + 0x60], rax
jmp 0x22db37a7d
mov r15d, r12d
jmp 0x22db3778e
mov r15d, r12d
jmp 0x22db37b9c
mov edx, r13d
mov rcx, rbx
call fcn.22db31aa0
mov r12d, eax
jmp 0x22db37a7d
mov dword [rbp + 0x68], 1
jmp 0x22db37d51
mov r15d, 0xfffffffe
jmp 0x22db3778e
xor eax, eax
jmp 0x22db37a75
lea r8, str.OCTAHEDRAL
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37dfc
mov dword [rbp + 0x6c], 1
jmp 0x22db37d51
lea r8, str.INDICES
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37d51
mov dword [rbp + 0x68], 3
jmp 0x22db37d51
lea r8, str.QUATERNION
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37e1e
mov dword [rbp + 0x6c], 2
jmp 0x22db37d51
lea r8, str.EXPONENTIAL
mov rdx, r14
mov rcx, r13
call fcn.22db32ab0
test eax, eax
jne 0x22db37d51
mov dword [rbp + 0x6c], 3
jmp 0x22db37d51