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

Disassembly:
push rbp
push r14
push r15
lea rbp, [rsp - 0x540]
sub rsp, 0x640
mov rax, qword [0x180195240]
xor rax, rsp
mov qword [rbp + 0x480], rax
mov qword [rbp - 0x48], rdx
mov r14, rdx
mov qword [rbp - 0x40], rcx
mov r15, rcx
test rcx, rcx
jne 0x1800e33b7
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e33d5
lea rcx, str.AddMesh:_atlas_is_null._n
call rax
lea eax, [r15 + 1]
jmp 0x1800e4373
cmp dword [rcx + 0xe4], 0
je 0x1800e33df
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e33d5
lea rcx, str.AddMesh:_Meshes_and_UV_meshes_cannot_be_added_to_the_same_atlas._n
call rax
mov eax, 1
jmp 0x1800e4373
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x678], rbx
mov qword [rsp + 0x638], rsi
mov qword [rsp + 0x628], r12
mov r12d, 1
mov qword [rsp + 0x620], r13
xor r13d, r13d
test rcx, rcx
jne 0x1800e345c
lea edx, [rcx + 0x28]
call qword [0x180197190]
mov r8, qword [r15 + 0x98]
mov rbx, rax
mov rax, qword [r15 + 0x90]
mov byte [rbx], r13b
mov qword [rbx + 8], rax
mov dword [rbx + 0x18], r13d
mov qword [rbx + 0x1c], r12
mov dword [rbx + 4], r13d
mov qword [rbx + 0x10], r8
test rax, rax
je 0x1800e3456
xor edx, edx
xor ecx, ecx
call rax
test al, al
jne 0x1800e3456
mov eax, r12d
xchg byte [rbx], al
mov qword [r15 + 0x30], rbx
jmp 0x1800e3475
mov eax, dword [r15 + 0xb4]
inc eax
cmp eax, r8d
cmova r8d, eax
xchg dword [rcx + 0x1c], r8d
call fcn.1801606e0
mov eax, dword [r14 + 0x48]
mov ebx, eax
mov dword [rbp - 0x60], eax
test eax, eax
jne 0x1800e3486
mov ebx, dword [r14 + 0x38]
mov eax, 0xaaaaaaab
mul ebx
mov rax, qword [0x1801951d8]
mov esi, edx
shr esi, 1
mov ecx, esi
mov dword [rbp - 0x7c], ecx
cmp qword [r14 + 0x30], r13
je 0x1800e38c4
mov ebx, dword [r14 + 0x50]
mov dword [rbp - 0x7c], ebx
test rax, rax
je 0x1800e34d3
cmp byte [0x18019858e], r13b
je 0x1800e34d3
mov r8d, dword [r14 + 0x38]
lea rcx, str.Adding_mesh__d:__u_vertices___u_polygons_n
mov edx, dword [r15 + 0xb4]
mov r9d, ebx
call rax
mov ecx, r13d
test ebx, ebx
je 0x1800e34f2
mov rdx, qword [r14 + 0x30]
nop
mov eax, ecx
cmp byte [rax + rdx], 3
jb 0x1800e38ba
inc ecx
cmp ecx, ebx
jb 0x1800e34e0
cmp qword [r14 + 8], r13
mov edx, 0x168
mov rbx, qword [r14 + 0x28]
mov qword [rsp + 0x630], rdi
mov edi, 3
cmove edi, r12d
movaps xmmword [rsp + 0x590], xmm14
xor ecx, ecx
call qword [0x180197190]
mov ecx, dword [r15 + 0xb4]
mov r9d, esi
mov r8d, dword [r14 + 0x38]
mov rdx, rax
movss xmm1, dword [r14 + 0x58]
mov eax, edi
or eax, 4
mov dword [rsp + 0x28], ecx
test rbx, rbx
mov rcx, rdx
cmove eax, edi
mov dword [rsp + 0x20], eax
call fcn.1800d0b10
mov r12, rax
mov qword [rsp + 0x60], rax
mov r15d, r13d
mov qword [rbp - 0x50], rax
xorps xmm14, xmm14
cmp dword [r14 + 0x38], r13d
jbe 0x1800e3708
lea rdi, [rax + 0x88]
nop word [rax + rax]
mov rdx, qword [r14 + 8]
mov qword [rbp - 0x70], r13
mov dword [rbp - 0x68], r13d
mov qword [rbp - 0x78], r13
test rdx, rdx
je 0x1800e35c3
mov eax, r15d
imul eax, dword [r14 + 0x40]
movsd xmm1, qword [rax + rdx]
movaps xmm0, xmm1
movss dword [rbp - 0x70], xmm1
shufps xmm0, xmm0, 0x55
movss dword [rbp - 0x6c], xmm0
movss xmm0, dword [rax + rdx + 8]
movss dword [rbp - 0x68], xmm0
movsd qword [rbp - 0x30], xmm1
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x1800e35e9
mov eax, r15d
imul eax, dword [r14 + 0x44]
movss xmm0, dword [rax + rdx]
movss xmm1, dword [rax + rdx + 4]
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
mov rax, qword [r14]
mov ecx, r15d
imul ecx, dword [r14 + 0x3c]
mov edx, dword [r12 + 0x64]
inc edx
movsd xmm0, qword [rcx + rax]
mov eax, dword [rcx + rax + 8]
mov ecx, dword [r12 + 0x68]
movsd qword [rbp + 0x34], xmm0
mov dword [rbp + 0x3c], eax
mov dword [r12 + 0x64], edx
cmp edx, ecx
jbe 0x1800e3630
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [r12 + 0x58]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [r12 + 0x58]
test rdx, rdx
je 0x1800e3658
mov ecx, dword [r12 + 0x60]
mov eax, dword [r12 + 0x64]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x34]
call sub.VCRUNTIME140.dll_memcpy
test byte [r12 + 4], 2
je 0x1800e36b6
mov edx, dword [r12 + 0x7c]
mov ecx, dword [r12 + 0x80]
inc edx
mov dword [r12 + 0x7c], edx
cmp edx, ecx
jbe 0x1800e368e
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [r12 + 0x70]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [r12 + 0x70]
test rdx, rdx
je 0x1800e36b6
mov ecx, dword [r12 + 0x78]
mov eax, dword [r12 + 0x7c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rdi + 0xc]
mov ecx, dword [rdi + 0x10]
inc edx
mov dword [rdi + 0xc], edx
cmp edx, ecx
jbe 0x1800e36d9
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rdi
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800e36fb
mov ecx, dword [rdi + 8]
mov eax, dword [rdi + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x78]
call sub.VCRUNTIME140.dll_memcpy
inc r15d
cmp r15d, dword [r14 + 0x38]
jb 0x1800e3580
mov rax, r13
mov r11d, 4
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x50], r11d
cmp qword [r14 + 0x30], r13
je 0x1800e37e3
lea edx, [r11 + 0x44]
xor ecx, ecx
call qword [0x180197190]
mov qword [rbp - 0x58], rax
mov r15, rax
mov qword [rax + 0x10], r13
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], r13
mov qword [rax + 0x38], r13
mov qword [rax + 0x40], r13
mov qword [rax + 8], 1
mov qword [rax], r13
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], 4
mov dword [rax + 0x28], r13d
mov qword [rax + 0x30], r13
mov qword [rax + 0x38], 4
mov dword [rax + 0x40], r13d
mov ebx, dword [r14 + 0x50]
mov rsi, qword [r14 + 0x30]
mov qword [rbp - 0x30], rax
mov dword [rax + 0xc], ebx
test ebx, ebx
je 0x1800e3797
mov edx, ebx
mov rcx, rax
call fcn.1801552f0
mov rcx, qword [r15]
test rcx, rcx
je 0x1800e37b8
test rsi, rsi
je 0x1800e37b8
test ebx, ebx
je 0x1800e37b8
imul ebx, dword [r15 + 8]
mov rdx, rsi
mov r8d, ebx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [r14 + 0x50]
cmp edx, dword [r15 + 0x28]
jbe 0x1800e37cb
lea rcx, [r15 + 0x18]
call fcn.1801552f0
mov edx, dword [r14 + 0x48]
lea rcx, [r15 + 0x30]
cmp edx, dword [rcx + 0x10]
jbe 0x1800e37dd
call fcn.1801552f0
mov r11d, 4
mov r10d, r13d
movaps xmmword [rsp + 0x610], xmm6
movaps xmmword [rsp + 0x600], xmm7
movaps xmmword [rsp + 0x5f0], xmm8
movaps xmmword [rsp + 0x5e0], xmm9
movaps xmmword [rsp + 0x5d0], xmm10
movaps xmmword [rsp + 0x5c0], xmm11
movaps xmmword [rsp + 0x5b0], xmm12
movaps xmmword [rsp + 0x5a0], xmm13
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 4
mov dword [rsp + 0x78], r13d
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], 4
mov dword [rbp - 0x10], r13d
mov qword [rbp - 8], r13
mov qword [rbp], 4
mov dword [rbp + 8], r13d
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 8
mov dword [rbp + 0x20], r13d
mov dword [rsp + 0x54], r13d
cmp dword [rbp - 0x7c], r13d
jbe 0x1800e40e0
movss xmm12, dword [0x180170de4]
movss xmm13, dword [0x180170da4]
mov eax, r13d
nop dword [rax + rax]
mov rcx, qword [r14 + 0x30]
test rcx, rcx
je 0x1800e38fe
movzx ebx, byte [rax + rcx]
mov ecx, r13d
test ebx, ebx
je 0x1800e3984
jmp 0x1800e3906
mov eax, 3
jmp 0x1800e4353
test rax, rax
je 0x1800e38e9
cmp byte [0x18019858e], r13b
je 0x1800e38e9
mov r8d, dword [r14 + 0x38]
mov r9d, ecx
mov edx, dword [r15 + 0xb4]
lea rcx, str.Adding_mesh__d:__u_vertices___u_triangles_n
call rax
lea eax, [rsi + rsi*2]
cmp ebx, eax
je 0x1800e34f2
mov eax, 4
jmp 0x1800e4353
mov ebx, 3
mov ecx, r13d
lea r8, [rbp + 0x80]
nop dword [rax]
mov eax, ebx
imul eax, r10d
add eax, ecx
cmp dword [rbp - 0x60], 0
jbe 0x1800e3977
cmp dword [r14 + 0x54], 0
mov edx, dword [r14 + 0x4c]
mov r9, qword [r14 + 0x18]
jne 0x1800e3937
add dx, word [r9 + rax*2]
movzx eax, dx
jmp 0x1800e393d
mov eax, dword [r9 + rax*4]
add eax, edx
mov dword [r8], eax
cmp eax, dword [r14 + 0x38]
jb 0x1800e397a
mov rcx, r12
call fcn.1800d4620
test r12, r12
je 0x1800e40a8
mov rax, qword [0x180197198]
mov rcx, r12
test rax, rax
je 0x1800e40a0
call rax
mov r13d, 2
jmp 0x1800e422c
mov dword [r8], eax
inc ecx
add r8, 4
cmp ecx, ebx
jb 0x1800e3910
xor r13b, r13b
xor esi, esi
test ebx, ebx
je 0x1800e3c8d
lea rdi, [rbp + 0x80]
nop dword [rax + rax]
mov r15d, dword [rdi]
lea ecx, [rsi + 1]
mov eax, 0xaaaaaaab
mov esi, ecx
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
mov r12d, dword [rbp + rcx*4 + 0x80]
cmp r15d, r12d
je 0x1800e3c49
mov rax, qword [rsp + 0x60]
lea rcx, [r12 + r12*2]
lea rdx, [r15 + r15*2]
mov r8, qword [rax + 0x58]
movss xmm6, dword [r8 + rcx*4]
movss xmm8, dword [r8 + rcx*4 + 4]
movaps xmm1, xmm6
movss xmm7, dword [r8 + rdx*4]
movaps xmm2, xmm8
movss xmm9, dword [r8 + rdx*4 + 4]
subss xmm1, xmm7
movss xmm10, dword [r8 + rcx*4 + 8]
subss xmm2, xmm9
movss xmm11, dword [r8 + rdx*4 + 8]
movaps xmm0, xmm10
subss xmm0, xmm11
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800e3a3e
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800e3a46
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm14, xmm0
jae 0x1800e3bc7
add rdi, 4
cmp esi, ebx
jb 0x1800e39a0
mov r12, qword [rsp + 0x60]
xor r8d, r8d
mov r10, qword [r12 + 0x58]
nop dword [rax]
mov ecx, dword [rbp + r8*4 + 0x80]
lea rax, [rcx + rcx*2]
movss xmm0, dword [r10 + rax*4]
ucomiss xmm0, xmm0
jp 0x1800e3b8a
movss xmm0, dword [r10 + rax*4 + 4]
ucomiss xmm0, xmm0
jp 0x1800e3b8a
movss xmm0, dword [r10 + rax*4 + 8]
ucomiss xmm0, xmm0
jp 0x1800e3b8a
cmp qword [r14 + 8], 0
je 0x1800e3adb
mov rdx, qword [r12 + 0x70]
lea rax, [rcx + rcx*2]
movss xmm0, dword [rdx + rax*4]
ucomiss xmm0, xmm0
jp 0x1800e3b10
movss xmm0, dword [rdx + rax*4 + 4]
ucomiss xmm0, xmm0
jp 0x1800e3b10
movss xmm0, dword [rdx + rax*4 + 8]
ucomiss xmm0, xmm0
jp 0x1800e3b10
cmp qword [r14 + 0x10], 0
je 0x1800e3aff
mov rax, qword [r12 + 0x88]
movss xmm0, dword [rax + rcx*8]
ucomiss xmm0, xmm0
jp 0x1800e3b4d
movss xmm0, dword [rax + rcx*8 + 4]
ucomiss xmm0, xmm0
jp 0x1800e3b4d
inc r8d
cmp r8d, ebx
jb 0x1800e3a70
jmp 0x1800e3c88
mov r10d, dword [rsp + 0x58]
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, 0x32
ja 0x1800e3b45
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3b45
cmp byte [0x18019858e], r13b
je 0x1800e3b45
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_normal_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800e3c88
mov r10d, dword [rsp + 0x58]
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, 0x32
ja 0x1800e3b45
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3b45
cmp byte [0x18019858e], r13b
je 0x1800e3b45
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_texture_coordinate_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800e3c88
mov r10d, dword [rsp + 0x58]
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, 0x32
ja 0x1800e3b45
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3b45
cmp byte [0x18019858e], r13b
je 0x1800e3b45
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_position_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800e3c88
mov r10d, dword [rsp + 0x58]
mov r13b, 1
inc r10d
mov dword [rsp + 0x58], r10d
cmp r10d, 0x32
ja 0x1800e3c83
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3c83
cmp byte [0x18019858e], 0
je 0x1800e3c83
cvtps2pd xmm0, xmm10
mov edx, r15d
lea rcx, str.___Zero_length_edge:_index__d_position___g__g__g___index__d_position___g__g__g__n
cvtps2pd xmm1, xmm8
movsd qword [rsp + 0x40], xmm0
movsd qword [rsp + 0x38], xmm1
cvtps2pd xmm4, xmm6
cvtps2pd xmm3, xmm9
movsd qword [rsp + 0x30], xmm4
cvtps2pd xmm2, xmm7
mov dword [rsp + 0x28], r12d
cvtps2pd xmm5, xmm11
movq r9, xmm3
movq r8, xmm2
movsd qword [rsp + 0x20], xmm5
call rax
jmp 0x1800e3c83
mov r8d, dword [rsp + 0x58]
mov r13b, 1
inc r8d
mov dword [rsp + 0x58], r8d
cmp r8d, 0x32
ja 0x1800e3c83
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3c83
cmp byte [0x18019858e], 0
je 0x1800e3c83
mov r8d, r12d
lea rcx, str.___Degenerate_edge:_index__d__index__d_n
mov edx, r15d
call rax
mov r12, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov dword [rsp + 0x74], 0
cmp ebx, 3
jne 0x1800e3da8
mov ebx, dword [rsp + 0x78]
mov eax, 1
mov dword [rsp + 0x74], eax
mov edi, eax
cmp ebx, eax
jae 0x1800e3ccf
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.1801552f0
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x50], r11d
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x1800e3cf7
lea ecx, [rdi - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0x80]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r11d, dword [rsp + 0x50]
inc edi
mov dword [rsp + 0x74], edi
cmp edi, ebx
jbe 0x1800e3d30
mov eax, edi
lea rcx, [rsp + 0x68]
shr eax, 2
add eax, edi
test ebx, ebx
cmovne edi, eax
mov edx, edi
call fcn.1801552f0
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov r15, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x50], r11d
test r15, r15
je 0x1800e3d53
lea ecx, [rdi - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0x84]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r11d, dword [rsp + 0x50]
inc edi
mov dword [rsp + 0x74], edi
cmp edi, ebx
jbe 0x1800e3d88
mov eax, edi
lea rcx, [rsp + 0x68]
shr eax, 2
add eax, edi
test ebx, ebx
cmovne edi, eax
mov edx, edi
call fcn.1801552f0
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x50], r11d
test r15, r15
je 0x1800e3e00
lea ecx, [rdi - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0x88]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800e3e00
lea rax, [rbp + 0x80]
mov dword [rbp + 0x48], ebx
mov qword [rbp + 0x40], rax
lea r9, [rsp + 0x68]
mov rax, qword [r12 + 0x58]
lea r8, [rbp + 0x60]
movaps xmm0, xmmword [rbp + 0x40]
lea rdx, [rbp + 0x70]
mov qword [rbp + 0x50], rax
lea rcx, [rbp - 0x20]
mov eax, dword [r12 + 0x64]
mov dword [rbp + 0x58], eax
movaps xmm1, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x70], xmm1
movdqa xmmword [rbp + 0x60], xmm0
call fcn.18015eef0
mov eax, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x50], eax
test r13b, r13b
jne 0x1800e3eff
xor ebx, ebx
test edi, edi
je 0x1800e3eff
mov rsi, qword [r12 + 0x58]
nop dword [rax + rax]
mov ecx, dword [r15 + rbx*4]
lea edx, [rbx + 2]
lea eax, [rdx - 1]
mov eax, dword [r15 + rax*4]
lea r8, [rcx + rcx*2]
mov ecx, dword [r15 + rdx*4]
lea r9, [rax + rax*2]
movss xmm4, dword [rsi + r9*4 + 4]
movss xmm2, dword [rsi + r9*4 + 8]
lea rax, [rcx + rcx*2]
subss xmm2, dword [rsi + r8*4 + 8]
subss xmm4, dword [rsi + r8*4 + 4]
movss xmm7, dword [rsi + r9*4]
subss xmm7, dword [rsi + r8*4]
movss xmm5, dword [rsi + rax*4 + 4]
subss xmm5, dword [rsi + r8*4 + 4]
movss xmm3, dword [rsi + rax*4 + 8]
movaps xmm0, xmm2
subss xmm3, dword [rsi + r8*4 + 8]
movss xmm6, dword [rsi + rax*4]
movaps xmm1, xmm4
subss xmm6, dword [rsi + r8*4]
mulss xmm0, xmm5
mulss xmm1, xmm3
mulss xmm2, xmm6
subss xmm1, xmm0
mulss xmm4, xmm6
movaps xmm0, xmm7
mulss xmm7, xmm5
mulss xmm0, xmm3
subss xmm7, xmm4
mulss xmm1, xmm1
subss xmm2, xmm0
xorps xmm0, xmm0
mulss xmm7, xmm7
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm7
ucomiss xmm0, xmm2
ja 0x1800e3edd
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800e3ee5
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mulss xmm0, xmm12
comiss xmm13, xmm0
jae 0x1800e404d
add ebx, 3
cmp ebx, edi
jb 0x1800e3e20
mov ebx, dword [rsp + 0x54]
mov rcx, qword [r14 + 0x20]
test rcx, rcx
je 0x1800e3f1f
mov eax, ebx
movzx r13d, r13b
cmp byte [rax + rcx], 0
mov eax, 1
cmovne r13d, eax
mov rcx, qword [r14 + 0x28]
mov r15d, 0xffffffff
test rcx, rcx
je 0x1800e3f34
mov eax, ebx
mov r15d, dword [rcx + rax*4]
xor esi, esi
test edi, edi
je 0x1800e3fb1
mov r14, qword [rsp + 0x68]
nop
lea rdx, [r14 + rsi*4]
mov r9d, r15d
movzx r8d, r13b
mov rcx, r12
call fcn.18010eab0
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1800e3fa6
mov edx, dword [rax + 0x24]
lea rbx, [rax + 0x18]
mov ecx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0xc], edx
cmp edx, ecx
jbe 0x1800e3f83
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rbx
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rbx]
test rdx, rdx
je 0x1800e3fa6
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rsp + 0x54]
call sub.VCRUNTIME140.dll_memcpy
add esi, 3
cmp esi, edi
jb 0x1800e3f40
mov r14, qword [rbp - 0x48]
mov r15, qword [rbp - 0x58]
test r15, r15
je 0x1800e402a
test edi, edi
je 0x1800e402a
mov rsi, qword [rsp + 0x68]
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r15 + 0x3c]
mov ecx, dword [r15 + 0x40]
inc edx
mov dword [r15 + 0x3c], edx
cmp edx, ecx
jbe 0x1800e3ff7
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [r15 + 0x30]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [r15 + 0x30]
test rdx, rdx
je 0x1800e4020
test rsi, rsi
je 0x1800e4020
mov ecx, dword [r15 + 0x38]
mov eax, dword [r15 + 0x3c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, 4
sub rdi, 1
jne 0x1800e3fd0
mov r10d, dword [rsp + 0x54]
inc r10d
mov dword [rsp + 0x54], r10d
mov eax, r10d
cmp r10d, dword [rbp - 0x7c]
jae 0x1800e40b3
mov r11d, dword [rsp + 0x50]
xor r13d, r13d
jmp 0x1800e38a0
mov eax, dword [rsp + 0x58]
mov r13b, 1
inc eax
mov dword [rsp + 0x58], eax
cmp eax, 0x32
ja 0x1800e3eff
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e3eff
cmp byte [0x18019858e], 0
mov ebx, dword [rsp + 0x54]
je 0x1800e3f03
xorps xmm2, xmm2
lea rcx, str.___Zero_area_face:__d__area_is__f_n
cvtss2sd xmm2, xmm0
mov edx, ebx
movq r8, xmm2
call rax
jmp 0x1800e3f03
xor edx, edx
call qword [0x180197190]
mov r13d, 2
jmp 0x1800e422c
mov edx, dword [rsp + 0x58]
cmp edx, 0x32
jbe 0x1800e40dd
mov rax, qword [0x1801951d8]
test rax, rax
je 0x1800e40dd
cmp byte [0x18019858e], 0
je 0x1800e40dd
add edx, 0xffffffce
lea rcx, str.____u_additional_warnings_truncated_n
call rax
xor r13d, r13d
mov rdi, qword [rbp - 0x40]
lea rbx, [rdi + 0xa8]
mov edx, dword [rbx + 0xc]
mov ecx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0xc], edx
cmp edx, ecx
jbe 0x1800e410e
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rbx
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rbx]
test rdx, rdx
je 0x1800e4130
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memcpy
lea rbx, [rdi + 0xc0]
mov edx, dword [rbx + 0xc]
mov ecx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0xc], edx
cmp edx, ecx
jbe 0x1800e415a
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
mov rcx, rbx
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rbx]
test rdx, rdx
je 0x1800e417c
mov ecx, dword [rbx + 8]
mov eax, dword [rbx + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rdi + 0x4c]
mov ecx, dword [rdi + 0x50]
inc edx
mov qword [rbp - 0x48], r12
mov dword [rdi + 0x4c], edx
cmp edx, ecx
jbe 0x1800e41a4
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rdi + 0x40]
cmovne edx, eax
call fcn.1801552f0
mov rdx, qword [rdi + 0x40]
test rdx, rdx
je 0x1800e41c7
mov ecx, dword [rdi + 0x48]
mov eax, dword [rdi + 0x4c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rdi + 0x38], 0xffffffff
jne 0x1800e420a
mov r8, qword [rdi + 0xa0]
mov edx, r13d
cmp dword [r8 + 0x24], 0
jbe 0x1800e4202
nop
mov eax, edx
imul rcx, rax, 0x38
mov al, 1
add rcx, qword [r8]
lock cmpxchg byte [rcx], r13b
je 0x1800e4294
inc edx
cmp edx, dword [r8 + 0x24]
jb 0x1800e41e0
mov r12, qword [rbp - 0x50]
mov edx, 0xffffffff
mov dword [rdi + 0x38], edx
mov edx, dword [rdi + 0x38]
lea rax, [0x180151cd0]
mov rcx, qword [rdi + 0xa0]
lea r8, [rbp - 0x40]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r12
call fcn.180151890
mov rcx, qword [rbp + 0x10]
movaps xmm14, xmmword [rsp + 0x590]
movaps xmm13, xmmword [rsp + 0x5a0]
movaps xmm12, xmmword [rsp + 0x5b0]
movaps xmm11, xmmword [rsp + 0x5c0]
movaps xmm10, xmmword [rsp + 0x5d0]
movaps xmm9, xmmword [rsp + 0x5e0]
movaps xmm8, xmmword [rsp + 0x5f0]
movaps xmm7, xmmword [rsp + 0x600]
movaps xmm6, xmmword [rsp + 0x610]
test rcx, rcx
je 0x1800e42d9
mov rax, qword [0x180197198]
test rax, rax
je 0x1800e42cd
call rax
jmp 0x1800e42d9
mov edi, 1
nop dword [rax]
mov eax, edi
xchg dword [rcx + 0x24], eax
test eax, eax
jne 0x1800e42a0
mov rdi, qword [rbp - 0x40]
mov eax, r13d
mov dword [rcx + 0x20], r13d
mov dword [rcx + 0x14], r13d
nop
mov dword [rcx + 0x24], r13d
mov qword [rcx + 0x30], rdi
xchg dword [rcx + 0x28], eax
mov r12, qword [rbp - 0x50]
jmp 0x1800e4207
mov rcx, qword [rbp + 0x10]
xor edx, edx
call qword [0x180197190]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1800e42fe
mov rax, qword [0x180197198]
test rax, rax
je 0x1800e42f2
call rax
jmp 0x1800e42fe
mov rcx, qword [rbp - 8]
xor edx, edx
call qword [0x180197190]
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1800e4323
mov rax, qword [0x180197198]
test rax, rax
je 0x1800e4317
call rax
jmp 0x1800e4323
mov rcx, qword [rbp - 0x20]
xor edx, edx
call qword [0x180197190]
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x1800e4348
mov rax, qword [0x180197198]
mov rcx, rdi
test rax, rax
je 0x1800e4340
call rax
jmp 0x1800e4348
xor edx, edx
call qword [0x180197190]
mov rdi, qword [rsp + 0x630]
mov eax, r13d
mov r12, qword [rsp + 0x628]
mov rsi, qword [rsp + 0x638]
mov rbx, qword [rsp + 0x678]
mov r13, qword [rsp + 0x620]
mov rcx, qword [rbp + 0x480]
xor rcx, rsp
call fcn.180169100
add rsp, 0x640
pop r15
pop r14
pop rbp
ret