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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rsi, rdx
mov r13, rcx
test rcx, rcx
jne 0x1800f78a8
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800f8879
lea rcx, str.PackCharts:_atlas_is_null._n
add rsp, 0x190
pop r13
pop rsi
pop rbp
jmp rax
cmp dword [rcx + 0xb4], 0
mov qword [rsp + 0x188], rdi
lea rdi, [rcx + 0xfc]
jne 0x1800f78e3
cmp dword [rdi], 0
jne 0x1800f78f1
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800f8871
lea rcx, str.PackCharts:_No_meshes._Call_AddMesh_or_AddUvMesh_first._n
call rax
jmp 0x1800f8871
cmp dword [rdi], 0
jne 0x1800f78f1
cmp byte [rcx + 0x88], 0
jmp 0x1800f78f8
cmp byte [rcx + 0x108], 0
jne 0x1800f7918
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800f8871
lea rcx, str.PackCharts:_ComputeCharts_must_be_called_first._n
call rax
jmp 0x1800f8871
mov qword [rsp + 0x180], r12
xor r12d, r12d
movaps xmmword [rsp + 0x160], xmm6
xorps xmm6, xmm6
comiss xmm6, dword [rdx + 8]
jbe 0x1800f7954
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800f7949
lea rcx, str.PackCharts:_PackOptions::texelsPerUnit_is_negative._n
call rax
mov dword [rsi + 8], r12d
lea rdi, [r13 + 0xfc]
mov rcx, r13
call fcn.1800eac80
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1800f7981
mov rax, qword [0x180197198]
test rax, rax
je 0x1800f7975
call rax
jmp 0x1800f797d
xor edx, edx
call qword [0x180197190]
mov qword [r13 + 0x10], r12
mov rcx, qword [r13]
test rcx, rcx
je 0x1800f79ad
mov rax, qword [0x180197198]
test rax, rax
je 0x1800f799a
call rax
jmp 0x1800f79a2
xor edx, edx
call qword [0x180197190]
mov qword [r13], r12
lea rdi, [r13 + 0xfc]
mov eax, dword [rdi]
mov qword [rsp + 0x1b8], rbx
mov dword [r13 + 0x28], r12d
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 8
mov dword [rbp - 0x70], r12d
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 4
mov dword [rbp - 0x58], r12d
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 8
mov dword [rbp - 0x40], r12d
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 8
mov dword [rbp - 0x28], r12d
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 4
mov dword [rbp], r12d
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 4
mov dword [rbp + 0x18], r12d
mov byte [rbp + 0x20], r12b
mov qword [rbp + 0x28], r12
mov dword [rbp + 0x30], r12d
mov dword [rbp + 0x34], 0x75bcd15
mov dword [rbp + 0x38], 0x159a55a0
mov dword [rbp + 0x3c], 0x1f123bb5
mov dword [rbp + 0x40], 0x74cbb1
test eax, eax
je 0x1800f7a6e
mov ebx, r12d
nop word [rax + rax]
mov rdx, qword [r13 + 0xf0]
lea rcx, [rbp - 0x80]
mov eax, ebx
mov rdx, qword [rdx + rax*8]
call fcn.18010faf0
inc ebx
cmp ebx, dword [rdi]
jb 0x1800f7a50
jmp 0x1800f7a82
mov rdx, qword [r13 + 0xa0]
lea r8, [r13 + 0x40]
lea rcx, [rbp - 0x80]
call fcn.18010e520
mov r9, qword [r13 + 0x98]
lea rcx, [rbp - 0x80]
mov r8, qword [r13 + 0x90]
mov rdx, rsi
call fcn.180143e40
test al, al
je 0x1800f8850
mov eax, dword [rbp - 0x2c]
lea rbx, [r13 + 0x20]
mov ecx, dword [rbp - 0x44]
mov rdi, rbx
movss xmm0, dword [rbp + 0x30]
mov qword [rsp + 0x178], r14
lea r14, [r13 + 0x1c]
mov dword [r13 + 0x24], eax
mov eax, dword [rbp + 0x28]
mov qword [rsp + 0x170], r15
lea r15, [r13 + 0x18]
mov dword [r15], eax
mov eax, dword [rbp + 0x2c]
mov dword [r14], eax
movss dword [r13 + 0x2c], xmm0
mov dword [rbx], ecx
mov qword [rsp + 0x40], r15
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x38], rbx
test ecx, ecx
je 0x1800f7b75
mov edx, ecx
shl rdx, 2
test rdx, rdx
jne 0x1800f7b0b
mov rax, r12
jmp 0x1800f7b13
xor ecx, ecx
call qword [0x180197190]
mov ecx, dword [rbx]
mov r8d, r12d
mov qword [r13 + 0x10], rax
mov qword [rsp + 0x38], rbx
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x40], r15
test ecx, ecx
je 0x1800f7b75
mov r9, qword [rbp - 0x68]
nop word [rax + rax]
mov rcx, qword [r13 + 0x10]
mov edx, r8d
inc r8d
mov eax, dword [r9 + rdx*4]
mov dword [rcx + rdx*4], eax
mov ecx, dword [rbx]
cmp r8d, ecx
jb 0x1800f7b40
lea rdi, [r13 + 0x20]
lea r14, [r13 + 0x1c]
mov qword [rsp + 0x38], rdi
lea r15, [r13 + 0x18]
mov qword [rbp + 0xc8], r14
mov qword [rsp + 0x40], r15
cmp byte [rsi + 0x13], r12b
je 0x1800f7c60
imul ecx, dword [r14]
imul ecx, dword [r15]
mov edx, ecx
shl rdx, 2
test rdx, rdx
jne 0x1800f7b97
mov rdx, r12
jmp 0x1800f7ba2
xor ecx, ecx
call qword [0x180197190]
mov rdx, rax
mov qword [r13], rdx
mov r13d, r12d
mov dword [rbp + 0xc0], r12d
cmp dword [rdi], r12d
jbe 0x1800f7c59
mov esi, dword [rsi + 4]
nop dword [rax]
mov rax, qword [rbp - 0x80]
xor ebx, ebx
mov r12d, dword [r14]
mov r15d, dword [r15]
mov ecx, r13d
mov rdi, qword [rax + rcx*8]
mov eax, r15d
imul eax, r12d
imul eax, r13d
lea rcx, [rdx + rax*4]
test r12d, r12d
je 0x1800f7c39
mov r14d, r15d
mov r13, rcx
shl r14, 2
mov rax, qword [rdi + 8]
lea ecx, [rbx + rsi]
imul ecx, dword [rdi]
mov r8, r14
add ecx, esi
lea rdx, [rax + rcx*4]
mov eax, ebx
imul eax, r15d
lea rcx, [rax*4]
add rcx, r13
call sub.VCRUNTIME140.dll_memcpy
inc ebx
cmp ebx, r12d
jb 0x1800f7bf1
mov rax, qword [rbp + 0xb0]
mov r13d, dword [rbp + 0xc0]
mov r14, qword [rbp + 0xc8]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x38]
inc r13d
mov r15, qword [rsp + 0x40]
mov dword [rbp + 0xc0], r13d
cmp r13d, dword [rax]
jb 0x1800f7bc0
xor r12d, r12d
mov r13, qword [rbp + 0xb0]
mov r10, qword [0x1801951d8]
test r10, r10
je 0x1800f7c7f
cmp byte [0x18019858e], 0
je 0x1800f7c7f
lea rcx, str.Building_output_meshes_n
call r10
mov rax, qword [r13 + 0x90]
mov r14d, r12d
mov dword [rbp + 0xc0], r12d
test rax, rax
je 0x1800f7cab
mov r8, qword [r13 + 0x98]
xor edx, edx
lea ecx, [rdx + 3]
call rax
test al, al
je 0x1800f8840
mov eax, dword [r13 + 0xfc]
test eax, eax
jne 0x1800f7cbd
mov eax, dword [r13 + 0xb4]
lea rdx, [rax + rax*4]
mov dword [r13 + 0x28], eax
shl rdx, 3
test rdx, rdx
jne 0x1800f7cd3
mov rax, r12
jmp 0x1800f7cdb
xor ecx, ecx
call qword [0x180197190]
mov ecx, dword [r13 + 0x28]
xor edx, edx
movaps xmmword [rsp + 0x150], xmm7
mov qword [r13 + 8], rax
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 3
call sub.VCRUNTIME140.dll_memset
mov eax, dword [r13 + 0xfc]
test eax, eax
jne 0x1800f8567
xor edi, edi
mov dword [rbp + 0xc8], eax
mov dword [rsp + 0x4c], edi
cmp dword [r13 + 0x28], edi
jbe 0x1800f8815
movss xmm7, dword [0x180174fa0]
nop word [rax + rax]
mov rax, qword [r13 + 0xc0]
lea r15, [rdi + rdi*4]
mov r12, qword [r13 + 8]
xor r13d, r13d
mov qword [rsp + 0x38], r13
mov r14, qword [rax + rdi*8]
xor eax, eax
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x50], eax
test r14, r14
je 0x1800f7da6
mov eax, dword [r14 + 0xc]
add eax, 0x1f
shr eax, 5
mov dword [rsp + 0x50], eax
test eax, eax
je 0x1800f7da6
lea eax, [rax*4]
mov ebx, eax
test eax, eax
jne 0x1800f7d81
mov qword [rsp + 0x38], r13
jmp 0x1800f7da6
mov rdx, rbx
xor ecx, ecx
call qword [0x180197190]
mov qword [rsp + 0x38], rax
mov r13, rax
test rax, rax
je 0x1800f7da6
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rbx, qword [rbp + 0xb0]
lea rdx, [rdi + rdi*8]
mov rcx, qword [rbx + 0x58]
mov eax, dword [rcx + rdx*8 + 0x3c]
add dword [r12 + r15*8 + 0x20], eax
mov eax, dword [rcx + rdx*8 + 0xc]
lea rdx, [rdi + rdi*2]
mov qword [rsp + 0x40], rdx
lea ecx, [rax + rax*2]
add dword [r12 + r15*8 + 0x1c], ecx
xor ecx, ecx
mov rax, qword [rbx + 0x70]
mov dword [rsp + 0x30], ecx
cmp dword [rax + rdx*8 + 0xc], ecx
jbe 0x1800f7ecd
nop word [rax + rax]
mov rax, qword [rax + rdx*8]
xor edi, edi
mov rsi, qword [rax + rcx*8]
cmp dword [rsi + 0x44], edi
jbe 0x1800f7eb1
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov rbx, qword [rax + rdi*8]
mov eax, dword [rbx + 0x3c]
add dword [r12 + r15*8 + 0x20], eax
mov eax, 0xaaaaaaab
mov rcx, qword [rbx + 0x28]
mul dword [rcx + 0x4c]
shr edx, 1
test r14, r14
je 0x1800f7e8d
test edx, edx
je 0x1800f7e95
xor r9d, r9d
mov r10d, edx
nop dword [rax]
mov rax, qword [rbx + 0x58]
mov r8d, 1
mov ecx, dword [rax + r9]
mov rax, qword [r14 + 0x18]
mov edx, dword [rax + rcx*4]
mov ecx, edx
and ecx, 0x1f
shl r8d, cl
mov ecx, edx
shr rcx, 5
mov eax, dword [r13 + rcx*4]
test r8d, eax
jne 0x1800f7e81
or eax, r8d
mov dword [r13 + rcx*4], eax
mov rax, qword [r14]
movzx ecx, byte [rax + rdx]
add dword [r12 + r15*8 + 0x1c], ecx
add r9, 4
sub r10, 1
jne 0x1800f7e40
jmp 0x1800f7e95
lea eax, [rdx + rdx*2]
add dword [r12 + r15*8 + 0x1c], eax
inc dword [r12 + r15*8 + 0x18]
inc edi
cmp edi, dword [rsi + 0x44]
jb 0x1800f7e10
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rbp + 0xb0]
mov ecx, dword [rsp + 0x30]
mov rax, qword [rbx + 0x70]
inc ecx
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rax + rdx*8 + 0xc]
jb 0x1800f7df0
mov edi, dword [rsp + 0x4c]
mov eax, dword [r12 + r15*8 + 0x20]
lea rdx, [rax + rax*4]
shl rdx, 2
test rdx, rdx
jne 0x1800f7ee3
xor eax, eax
jmp 0x1800f7eeb
xor ecx, ecx
call qword [0x180197190]
mov edx, dword [r12 + r15*8 + 0x1c]
shl rdx, 2
mov qword [r12 + r15*8 + 0x10], rax
test rdx, rdx
jne 0x1800f7f02
xor eax, eax
jmp 0x1800f7f0a
xor ecx, ecx
call qword [0x180197190]
mov qword [r12 + r15*8 + 8], rax
mov eax, dword [r12 + r15*8 + 0x18]
lea rdx, [rax + rax*2]
shl rdx, 3
test rdx, rdx
jne 0x1800f7f25
xor eax, eax
jmp 0x1800f7f2d
xor ecx, ecx
call qword [0x180197190]
mov r10, qword [0x1801951d8]
mov qword [r12 + r15*8], rax
test r10, r10
je 0x1800f7f6f
cmp byte [0x18019858e], 0
je 0x1800f7f6f
mov r8d, dword [r12 + r15*8 + 0x20]
lea rcx, str.___Mesh__u:__u_vertices___u_triangles___u_charts_n
mov eax, 0xaaaaaaab
mul dword [r12 + r15*8 + 0x1c]
mov eax, dword [r12 + r15*8 + 0x18]
shr edx, 1
mov r9d, edx
mov dword [rsp + 0x20], eax
mov edx, edi
call r10
mov eax, edi
xor r11d, r11d
lea rcx, [rax + rax*8]
mov rax, qword [rbx + 0x58]
mov rbx, qword [rax + rcx*8]
mov r13d, dword [rax + rcx*8 + 0xc]
mov rdi, qword [rax + rcx*8 + 0x18]
mov rsi, qword [rax + rcx*8 + 0x30]
mov eax, dword [rax + rcx*8 + 0x3c]
mov dword [rsp + 0x48], eax
cmp eax, 4
jb 0x1800f8052
add eax, 0xfffffffc
lea r8, [rsi + 8]
shr eax, 2
xor edx, edx
inc eax
mov r9d, eax
lea r11d, [rax*4]
lea r10, [rax*4]
mov rcx, qword [r12 + r15*8 + 0x10]
lea rdx, [rdx + 0x50]
xor eax, eax
lea r8, [r8 + 0x10]
mov qword [rdx + rcx - 0x50], 0xffffffffffffffff
mov qword [rdx + rcx - 0x48], rax
mov eax, dword [r8 - 0x18]
mov dword [rdx + rcx - 0x40], eax
xor eax, eax
mov rcx, qword [r12 + r15*8 + 0x10]
mov qword [rcx + rdx - 0x3c], 0xffffffffffffffff
mov qword [rcx + rdx - 0x34], rax
mov eax, dword [r8 - 0x14]
mov dword [rcx + rdx - 0x2c], eax
xor eax, eax
mov rcx, qword [r12 + r15*8 + 0x10]
mov qword [rcx + rdx - 0x28], 0xffffffffffffffff
mov qword [rcx + rdx - 0x20], rax
mov eax, dword [r8 - 0x10]
mov dword [rcx + rdx - 0x18], eax
xor eax, eax
mov rcx, qword [r12 + r15*8 + 0x10]
mov qword [rcx + rdx - 0x14], 0xffffffffffffffff
mov qword [rcx + rdx - 0xc], rax
mov eax, dword [r8 - 0xc]
mov dword [rcx + rdx - 4], eax
sub r9, 1
jne 0x1800f7fc1
mov eax, dword [rsp + 0x48]
cmp r11d, eax
jb 0x1800f8059
jmp 0x1800f8096
test eax, eax
je 0x1800f8096
xor r10d, r10d
lea rdx, [r10 + r10*4]
shl rdx, 2
lea r8, [rsi + r10*4]
sub eax, r11d
mov r9d, eax
mov rcx, qword [r12 + r15*8 + 0x10]
lea rdx, [rdx + 0x14]
xor eax, eax
lea r8, [r8 + 4]
mov qword [rdx + rcx - 0x14], 0xffffffffffffffff
mov qword [rdx + rcx - 0xc], rax
mov eax, dword [r8 - 4]
mov dword [rdx + rcx - 4], eax
sub r9, 1
jne 0x1800f806b
xor r11d, r11d
test r13d, r13d
je 0x1800f80e9
nop
mov eax, dword [rbx]
lea r9d, [r11 + r11*2]
mov rcx, qword [r12 + r15*8 + 8]
lea rbx, [rbx + 4]
inc r11d
lea r10d, [rax + rax*2]
mov eax, dword [rdi + r9*4]
mov dword [rcx + r10*4], eax
lea edx, [r10 + 1]
mov rcx, qword [r12 + r15*8 + 8]
lea eax, [r9 + 1]
mov eax, dword [rdi + rax*4]
mov dword [rcx + rdx*4], eax
lea eax, [r9 + 2]
mov rcx, qword [r12 + r15*8 + 8]
lea edx, [r10 + 2]
mov eax, dword [rdi + rax*4]
mov dword [rcx + rdx*4], eax
cmp r11d, r13d
jb 0x1800f80a0
mov r13, qword [rbp + 0xb0]
xor r8d, r8d
mov edi, dword [rsp + 0x4c]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x40], r8d
mov rdx, qword [r13 + 0x70]
lea rcx, [rdi + rdi*2]
cmp dword [rdx + rcx*8 + 0xc], r8d
jbe 0x1800f84ab
lea rax, [rdi + rdi*2]
mov qword [rsp + 0x70], rax
mov rax, qword [rdx + rax*8]
mov rdx, qword [rax + r8*8]
xor eax, eax
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x58], eax
cmp dword [rdx + 0x44], eax
jbe 0x1800f848b
mov edi, dword [rsp + 0x48]
mov ecx, eax
xor r10d, r10d
mov rax, qword [rdx + 0x38]
mov rsi, qword [rax + rcx*8]
mov eax, 0xaaaaaaab
mov r11, qword [rsi + 0x28]
mul dword [r11 + 0x4c]
mov r13d, edx
shr r13d, 1
mov dword [rsp + 0x54], r13d
cmp dword [rsi + 0x3c], r10d
jbe 0x1800f81ed
mov r13d, dword [rbp + 0xc8]
mov r14, qword [rbp - 0x38]
nop word [rax + rax]
mov r8, qword [r12 + r15*8 + 0x10]
lea eax, [r10 + rdi]
lea r9, [rax + rax*4]
movaps xmm0, xmm6
mov rax, qword [r14 + r13*8]
movaps xmm1, xmm6
mov ecx, dword [rax]
mov dword [r8 + r9*4], ecx
mov dword [r8 + r9*4 + 4], r13d
mov rax, qword [rsi + 0x88]
mov ecx, dword [rax + r10*4]
mov rax, qword [r11 + 0x88]
maxss xmm0, dword [rax + rcx*8]
movss dword [r8 + r9*4 + 8], xmm0
maxss xmm1, dword [rax + rcx*8 + 4]
movss dword [r8 + r9*4 + 0xc], xmm1
mov rax, qword [rsi + 0x70]
mov ecx, dword [rax + r10*4]
inc r10d
mov dword [r8 + r9*4 + 0x10], ecx
cmp r10d, dword [rsi + 0x3c]
jb 0x1800f8180
mov r14, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x54]
xor r10d, r10d
test r13d, r13d
je 0x1800f8296
xor ebx, ebx
nop dword [rax + rax]
mov rax, qword [rsi + 0x58]
lea r11d, [r10 + r10*2]
mov ecx, dword [rbx + rax]
lea r8d, [rcx + rcx*2]
mov r9d, r8d
test r14, r14
je 0x1800f821f
mov rax, qword [r14 + 0x30]
mov r9d, dword [rax + r8*4]
mov rcx, qword [rsi + 0x40]
mov rax, qword [r12 + r15*8 + 8]
mov edx, dword [rcx + r11*4]
mov ecx, r9d
add edx, edi
lea r9d, [r8 + 1]
mov dword [rax + rcx*4], edx
test r14, r14
je 0x1800f8245
mov rax, qword [r14 + 0x30]
mov r9d, dword [rax + r9*4]
mov rdx, qword [rsi + 0x40]
lea eax, [r11 + 1]
mov ecx, r9d
add r8d, 2
mov edx, dword [rdx + rax*4]
mov rax, qword [r12 + r15*8 + 8]
add edx, edi
mov dword [rax + rcx*4], edx
test r14, r14
je 0x1800f826e
mov rax, qword [r14 + 0x30]
mov r8d, dword [rax + r8*4]
mov rdx, qword [rsi + 0x40]
lea eax, [r11 + 2]
mov ecx, r8d
inc r10d
add rbx, 4
mov edx, dword [rdx + rax*4]
mov rax, qword [r12 + r15*8 + 8]
add edx, edi
mov dword [rax + rcx*4], edx
cmp r10d, r13d
jb 0x1800f8200
mov eax, dword [rsp + 0x30]
mov rcx, qword [rbp - 0x38]
mov rdi, qword [r12 + r15*8]
lea rbx, [rax + rax*2]
mov eax, dword [rbp + 0xc8]
mov rcx, qword [rcx + rax*8]
mov eax, dword [rcx]
mov dword [rdi + rbx*8 + 8], eax
mov eax, 4
cmp byte [rsi + 0xe0], 0
jne 0x1800f82c7
mov eax, dword [rsi + 0x30]
mov dword [rdi + rbx*8 + 0x10], eax
test r14, r14
je 0x1800f83fb
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x1800f82f8
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1800f82f8
lea r8d, [rax*4]
xor edx, edx
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsp + 0x54]
mov dword [rdi + rbx*8 + 0xc], 0
test eax, eax
je 0x1800f8353
xor r9d, r9d
mov r10d, eax
nop
mov rax, qword [rsi + 0x58]
mov r8d, 1
mov ecx, dword [rax + r9]
mov rax, qword [r14 + 0x18]
mov edx, dword [rax + rcx*4]
mov ecx, edx
and ecx, 0x1f
shl r8d, cl
mov ecx, edx
shr rcx, 5
mov eax, dword [r13 + rcx*4]
test r8d, eax
jne 0x1800f8349
or eax, r8d
mov dword [r13 + rcx*4], eax
inc dword [rdi + rbx*8 + 0xc]
add r9, 4
sub r10, 1
jne 0x1800f8310
mov edx, dword [rdi + rbx*8 + 0xc]
shl rdx, 2
test rdx, rdx
jne 0x1800f8364
xor eax, eax
jmp 0x1800f836c
xor ecx, ecx
call qword [0x180197190]
mov qword [rdi + rbx*8], rax
test r13, r13
je 0x1800f838f
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x1800f838f
lea r8d, [rax*4]
xor edx, edx
mov rcx, r13
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsp + 0x54]
xor r10d, r10d
test eax, eax
je 0x1800f844a
xor r8d, r8d
mov r11d, eax
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi + 0x58]
mov edx, 1
mov ecx, dword [r8 + rax]
mov rax, qword [r14 + 0x18]
mov r9d, dword [rax + rcx*4]
mov ecx, r9d
and ecx, 0x1f
shl edx, cl
mov ecx, r9d
shr rcx, 5
mov eax, dword [r13 + rcx*4]
test edx, eax
jne 0x1800f83ef
or eax, edx
mov dword [r13 + rcx*4], eax
mov rax, qword [rdi + rbx*8]
mov dword [rax + r10*4], r9d
inc r10d
add r8, 4
sub r11, 1
jne 0x1800f83b0
jmp 0x1800f844a
mov edx, r13d
shl rdx, 2
mov dword [rdi + rbx*8 + 0xc], r13d
test rdx, rdx
jne 0x1800f8410
xor eax, eax
jmp 0x1800f8418
xor ecx, ecx
call qword [0x180197190]
xor r8d, r8d
mov qword [rdi + rbx*8], rax
cmp dword [rdi + rbx*8 + 0xc], r8d
jbe 0x1800f844a
nop word [rax + rax]
mov rax, qword [rsi + 0x58]
mov rcx, qword [rdi + rbx*8]
mov eax, dword [rax + r8*4]
mov dword [rcx + r8*4], eax
inc r8d
cmp r8d, dword [rdi + rbx*8 + 0xc]
jb 0x1800f8430
mov eax, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
inc eax
inc dword [rsp + 0x30]
inc dword [rbp + 0xc8]
mov dword [rdi + rbx*8 + 0x14], 0
mov edi, dword [rsp + 0x48]
add edi, dword [rsi + 0x3c]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x58], eax
cmp eax, dword [rdx + 0x44]
jb 0x1800f8140
mov r8d, dword [rsp + 0x40]
mov r13, qword [rbp + 0xb0]
mov rdx, qword [r13 + 0x70]
inc r8d
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x40], r8d
cmp r8d, dword [rdx + rax*8 + 0xc]
jb 0x1800f8120
mov edi, dword [rsp + 0x4c]
mov r9, qword [r13 + 0x90]
mov r14d, dword [rbp + 0xc0]
test r9, r9
je 0x1800f8502
mov eax, dword [r13 + 0x28]
lea ecx, [rdi + 1]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, rcx
cvtsi2ss xmm0, rax
divss xmm1, xmm0
mulss xmm1, xmm7
cvttss2si edx, xmm1
cmp edx, r14d
je 0x1800f8502
mov r8, qword [r13 + 0x98]
mov ecx, 3
mov r14d, edx
mov dword [rbp + 0xc0], edx
call r9
test al, al
je 0x1800f8539
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800f8524
mov rax, qword [0x180197198]
test rax, rax
je 0x1800f851c
call rax
jmp 0x1800f8524
xor edx, edx
call qword [0x180197190]
inc edi
mov dword [rsp + 0x4c], edi
cmp edi, dword [r13 + 0x28]
jb 0x1800f7d30
jmp 0x1800f8815
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800f8838
mov rax, qword [0x180197198]
test rax, rax
je 0x1800f855a
call rax
jmp 0x1800f8838
xor edx, edx
call qword [0x180197190]
jmp 0x1800f8838
mov dword [rbp + 0xc8], r12d
mov esi, r12d
mov dword [rsp + 0x40], r12d
mov edi, r12d
test eax, eax
je 0x1800f8815
mov rbx, qword [rbp - 0x38]
movss xmm6, dword [0x180174fa0]
mov qword [rsp + 0x38], rbx
mov r13, qword [r13 + 8]
mov rax, qword [rbp + 0xb0]
mov ecx, edi
mov rax, qword [rax + 0xf0]
lea r12, [rcx + rcx*4]
mov r14, qword [rax + rcx*8]
mov edx, dword [r14 + 0x14]
mov dword [r13 + r12*8 + 0x20], edx
mov rax, qword [r14]
lea rdx, [rdx + rdx*4]
shl rdx, 2
mov ecx, dword [rax + 0x74]
mov dword [r13 + r12*8 + 0x1c], ecx
mov rax, qword [r14]
mov ecx, dword [rax + 0xa4]
mov dword [r13 + r12*8 + 0x18], ecx
test rdx, rdx
jne 0x1800f85e1
xor eax, eax
jmp 0x1800f85e9
xor ecx, ecx
call qword [0x180197190]
mov edx, dword [r13 + r12*8 + 0x1c]
shl rdx, 2
mov qword [r13 + r12*8 + 0x10], rax
test rdx, rdx
jne 0x1800f8600
xor eax, eax
jmp 0x1800f8608
xor ecx, ecx
call qword [0x180197190]
mov qword [r13 + r12*8 + 8], rax
mov eax, dword [r13 + r12*8 + 0x18]
lea rdx, [rax + rax*2]
shl rdx, 3
test rdx, rdx
jne 0x1800f8623
xor eax, eax
jmp 0x1800f862b
xor ecx, ecx
call qword [0x180197190]
mov r10, qword [0x1801951d8]
mov qword [r13 + r12*8], rax
test r10, r10
je 0x1800f866e
cmp byte [0x18019858e], 0
je 0x1800f866e
mov r8d, dword [r13 + r12*8 + 0x20]
lea rcx, str.___UV_mesh__u:__u_vertices___u_triangles___u_charts_n
mov eax, 0xaaaaaaab
mul dword [r13 + r12*8 + 0x1c]
mov eax, dword [r13 + r12*8 + 0x18]
shr edx, 1
mov r9d, edx
mov dword [rsp + 0x20], eax
mov edx, edi
call r10
xor r10d, r10d
cmp dword [r14 + 0x14], r10d
jbe 0x1800f86e0
nop word [rax + rax]
mov rax, qword [r14 + 8]
lea r8, [r10 + r10*4]
mov r9, qword [r13 + r12*8 + 0x10]
mov ecx, dword [rax + r10*8]
mov dword [r9 + r8*4 + 8], ecx
mov rax, qword [r14 + 8]
mov ecx, dword [rax + r10*8 + 4]
mov dword [r9 + r8*4 + 0xc], ecx
mov dword [r9 + r8*4 + 0x10], r10d
mov rax, qword [r14]
mov rcx, qword [rax + 0xb0]
mov eax, dword [rcx + r10*4]
cmp eax, 0xffffffff
jne 0x1800f86c5
mov edx, 0xffffffff
mov eax, edx
jmp 0x1800f86ce
lea edx, [rax + rsi]
mov rcx, qword [rbx + rdx*8]
mov eax, dword [rcx]
mov dword [r9 + r8*4], eax
inc r10d
mov dword [r9 + r8*4 + 4], edx
cmp r10d, dword [r14 + 0x14]
jb 0x1800f8680
mov rdx, qword [r14]
mov rcx, qword [r13 + r12*8 + 8]
mov r8d, dword [rdx + 0x74]
mov rdx, qword [rdx + 0x68]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14]
xor r15d, r15d
cmp dword [rax + 0xa4], r15d
jbe 0x1800f87a4
nop dword [rax]
mov rdi, qword [r13 + r12*8]
lea rbx, [r15 + r15*2]
mov rcx, qword [rsp + 0x38]
mov eax, esi
mov rsi, qword [rcx + rax*8]
mov eax, dword [rsi]
mov dword [rdi + rbx*8 + 8], eax
mov eax, dword [rsi + 0x7c]
mov edx, eax
mov dword [rdi + rbx*8 + 0xc], eax
shl rdx, 2
test rdx, rdx
jne 0x1800f8740
xor eax, eax
jmp 0x1800f8748
xor ecx, ecx
call qword [0x180197190]
xor r8d, r8d
mov qword [rdi + rbx*8], rax
mov eax, dword [rsi + 4]
mov dword [rdi + rbx*8 + 0x14], eax
cmp dword [rdi + rbx*8 + 0xc], r8d
jbe 0x1800f877a
nop dword [rax]
mov rax, qword [rsi + 0x70]
mov rcx, qword [rdi + rbx*8]
mov eax, dword [rax + r8*4]
mov dword [rcx + r8*4], eax
inc r8d
cmp r8d, dword [rdi + rbx*8 + 0xc]
jb 0x1800f8760
mov esi, dword [rbp + 0xc8]
inc r15d
mov rax, qword [r14]
inc esi
mov dword [rbp + 0xc8], esi
cmp r15d, dword [rax + 0xa4]
jb 0x1800f8710
mov rbx, qword [rsp + 0x38]
mov edi, dword [rsp + 0x40]
mov r13, qword [rbp + 0xb0]
mov r14d, dword [rbp + 0xc0]
mov r9, qword [r13 + 0x90]
test r9, r9
je 0x1800f8802
mov eax, dword [r13 + 0x28]
lea ecx, [rdi + 1]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, rcx
cvtsi2ss xmm0, rax
divss xmm1, xmm0
mulss xmm1, xmm6
cvttss2si edx, xmm1
cmp edx, r14d
je 0x1800f8802
mov r8, qword [r13 + 0x98]
mov ecx, 3
mov r14d, edx
mov dword [rbp + 0xc0], edx
call r9
test al, al
je 0x1800f8838
inc edi
mov dword [rsp + 0x40], edi
cmp edi, dword [r13 + 0xfc]
jb 0x1800f8592
mov rax, qword [r13 + 0x90]
test rax, rax
je 0x1800f8838
cmp r14d, 0x64
je 0x1800f8838
mov r8, qword [r13 + 0x98]
mov edx, 0x64
lea ecx, [rdx - 0x61]
call rax
movaps xmm7, xmmword [rsp + 0x150]
mov r14, qword [rsp + 0x178]
mov r15, qword [rsp + 0x170]
lea rcx, [rbp - 0x80]
call fcn.1800d3550
movaps xmm6, xmmword [rsp + 0x160]
mov r12, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x188]
add rsp, 0x190
pop r13
pop rsi
pop rbp
ret