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

Disassembly:
push rbp
push r12
push r15
lea rbp, [rsp - 0x580]
sub rsp, 0x680
mov rax, qword [0x180190240]
xor rax, rsp
mov qword [rbp + 0x4b0], rax
mov qword [rbp - 0x70], rdx
mov r12, rdx
mov qword [rbp - 0x20], rcx
mov r15, rcx
test rcx, rcx
jne 0x1800deb87
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800deba5
lea rcx, str.AddMesh:_atlas_is_null._n
call rax
lea eax, [r15 + 1]
jmp 0x1800dfe8a
cmp dword [rcx + 0xe4], 0
je 0x1800debaf
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800deba5
lea rcx, str.AddMesh:_Meshes_and_UV_meshes_cannot_be_added_to_the_same_atlas._n
call rax
mov eax, 1
jmp 0x1800dfe8a
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x6b8], rbx
mov qword [rsp + 0x678], rsi
mov qword [rsp + 0x668], r13
xor r13d, r13d
mov qword [rsp + 0x660], r14
mov r14d, 1
test rcx, rcx
jne 0x1800dec2c
lea edx, [rcx + 0x28]
call qword [0x180192130]
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], r14
mov dword [rbx + 4], r13d
mov qword [rbx + 0x10], r8
test rax, rax
je 0x1800dec26
xor edx, edx
xor ecx, ecx
call rax
test al, al
jne 0x1800dec26
mov eax, r14d
xchg byte [rbx], al
mov qword [r15 + 0x30], rbx
jmp 0x1800dec45
mov eax, dword [r15 + 0xb4]
inc eax
cmp eax, r8d
cmova r8d, eax
xchg dword [rcx + 0x1c], r8d
call fcn.18015add0
mov eax, dword [r12 + 0x48]
mov ebx, eax
mov dword [rbp - 0x38], eax
test eax, eax
jne 0x1800dec58
mov ebx, dword [r12 + 0x38]
mov eax, 0xaaaaaaab
mul ebx
mov rax, qword [0x1801901d8]
mov esi, edx
shr esi, 1
mov ecx, esi
mov dword [rbp - 0x78], ecx
cmp qword [r12 + 0x30], r13
je 0x1800df095
mov ebx, dword [r12 + 0x50]
mov dword [rbp - 0x78], ebx
test rax, rax
je 0x1800deca8
cmp byte [0x180193546], r13b
je 0x1800deca8
mov r8d, dword [r12 + 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 0x1800decc6
mov rdx, qword [r12 + 0x30]
mov eax, ecx
cmp byte [rax + rdx], 3
jb 0x1800df08b
inc ecx
cmp ecx, ebx
jb 0x1800decb4
cmp qword [r12 + 8], r13
mov edx, 0x168
mov rbx, qword [r12 + 0x28]
mov qword [rsp + 0x670], rdi
mov edi, 3
cmove edi, r14d
movaps xmmword [rsp + 0x5c0], xmm15
xor ecx, ecx
call qword [0x180192130]
mov ecx, dword [r15 + 0xb4]
mov r9d, esi
mov r8d, dword [r12 + 0x38]
mov rdx, rax
movss xmm1, dword [r12 + 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.1800cc5e0
mov rbx, rax
mov qword [rbp - 0x28], rax
mov r15d, r13d
xorps xmm15, xmm15
cmp dword [r12 + 0x38], r13d
jbe 0x1800deec2
lea rsi, [rax + 0x88]
nop dword [rax + rax]
mov rdx, qword [r12 + 8]
mov qword [rbp - 0x48], r13
mov dword [rbp - 0x40], r13d
mov qword [rbp - 0x58], r13
test rdx, rdx
je 0x1800ded95
mov eax, r15d
imul eax, dword [r12 + 0x40]
movsd xmm1, qword [rax + rdx]
movaps xmm0, xmm1
movss dword [rbp - 0x48], xmm1
shufps xmm0, xmm0, 0x55
movss dword [rbp - 0x44], xmm0
movss xmm0, dword [rax + rdx + 8]
movss dword [rbp - 0x40], xmm0
movsd qword [rbp - 8], xmm1
mov rdx, qword [r12 + 0x10]
test rdx, rdx
je 0x1800dedbd
mov eax, r15d
imul eax, dword [r12 + 0x44]
movss xmm0, dword [rax + rdx]
movss xmm1, dword [rax + rdx + 4]
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm1
mov rax, qword [r12]
mov ecx, r15d
imul ecx, dword [r12 + 0x3c]
movsd xmm0, qword [rcx + rax]
mov eax, dword [rcx + rax + 8]
mov ecx, dword [rbx + 0x68]
mov dword [rbp + 0x68], eax
mov eax, dword [rbx + 0x64]
inc eax
movsd qword [rbp + 0x60], xmm0
mov dword [rbx + 0x64], eax
cmp eax, ecx
jbe 0x1800dedfe
mov edx, eax
test ecx, ecx
je 0x1800dedf5
shr edx, 2
add edx, eax
lea rcx, [rbx + 0x58]
call fcn.180150470
mov rdx, qword [rbx + 0x58]
test rdx, rdx
je 0x1800dee21
mov ecx, dword [rbx + 0x60]
mov eax, dword [rbx + 0x64]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
test byte [rbx + 4], 2
je 0x1800dee70
mov eax, dword [rbx + 0x7c]
mov ecx, dword [rbx + 0x80]
inc eax
mov dword [rbx + 0x7c], eax
cmp eax, ecx
jbe 0x1800dee4d
mov edx, eax
test ecx, ecx
je 0x1800dee44
shr edx, 2
add edx, eax
lea rcx, [rbx + 0x70]
call fcn.180150470
mov rdx, qword [rbx + 0x70]
test rdx, rdx
je 0x1800dee70
mov ecx, dword [rbx + 0x78]
mov eax, dword [rbx + 0x7c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0xc]
mov ecx, dword [rsi + 0x10]
inc eax
mov dword [rsi + 0xc], eax
cmp eax, ecx
jbe 0x1800dee92
mov edx, eax
test ecx, ecx
je 0x1800dee8a
shr edx, 2
add edx, eax
mov rcx, rsi
call fcn.180150470
mov rdx, qword [rsi]
test rdx, rdx
je 0x1800deeb4
mov ecx, dword [rsi + 8]
mov eax, dword [rsi + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x58]
call sub.VCRUNTIME140.dll_memcpy
inc r15d
cmp r15d, dword [r12 + 0x38]
jb 0x1800ded50
mov rax, r13
mov r11d, 4
mov qword [rbp - 0x50], rax
mov qword [rbp - 8], rax
mov dword [rsp + 0x50], r11d
cmp qword [r12 + 0x30], r13
je 0x1800defa2
lea edx, [r11 + 0x44]
xor ecx, ecx
call qword [0x180192130]
mov qword [rbp - 0x50], rax
mov qword [rax + 0x10], r13
lea rsi, [rax + 0x18]
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], r13
mov qword [rax + 0x38], r13
mov qword [rax + 0x40], r13
mov qword [rax + 8], r14
lea r14, [rax + 0x30]
mov qword [r14], r13
mov qword [r14 + 8], 4
mov dword [r14 + 0x10], r13d
mov qword [rax], r13
mov qword [rsi], r13
mov qword [rsi + 8], 4
mov dword [rsi + 0x10], r13d
mov edi, dword [r12 + 0x50]
mov r15, qword [r12 + 0x30]
mov qword [rbp - 8], rax
mov dword [rax + 0xc], edi
test edi, edi
je 0x1800def57
mov edx, edi
mov rcx, rax
call fcn.180150470
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800def77
test r15, r15
je 0x1800def77
test edi, edi
je 0x1800def77
imul edi, dword [rax + 8]
mov rdx, r15
mov r8d, edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [r12 + 0x50]
cmp edx, dword [rsi + 0x10]
jbe 0x1800def89
mov rcx, rsi
call fcn.180150470
mov edx, dword [r12 + 0x48]
cmp edx, dword [r14 + 0x10]
jbe 0x1800def9c
mov rcx, r14
call fcn.180150470
mov r11d, 4
mov esi, r13d
movaps xmmword [rsp + 0x650], xmm6
mov r10d, r13d
movaps xmmword [rsp + 0x640], xmm7
movaps xmmword [rsp + 0x630], xmm8
movaps xmmword [rsp + 0x620], xmm9
movaps xmmword [rsp + 0x610], xmm10
movaps xmmword [rsp + 0x600], xmm11
movaps xmmword [rsp + 0x5f0], xmm12
movaps xmmword [rsp + 0x5e0], xmm13
movaps xmmword [rsp + 0x5d0], xmm14
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], 4
mov dword [rsp + 0x78], r13d
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 4
mov dword [rbp + 0x20], r13d
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x30], 4
mov dword [rbp + 0x38], r13d
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 8
mov dword [rbp + 0x50], r13d
mov dword [rsp + 0x54], r13d
cmp dword [rbp - 0x78], r13d
jbe 0x1800dfbf2
movss xmm13, dword [0x18016be04]
movss xmm14, dword [0x18016bdc4]
movsd xmm12, qword [0x18016ff30]
mov eax, r13d
nop dword [rax]
mov rcx, qword [r12 + 0x30]
test rcx, rcx
je 0x1800df0d0
movzx edi, byte [rax + rcx]
mov ecx, r13d
test edi, edi
je 0x1800df132
jmp 0x1800df0d8
mov eax, 3
jmp 0x1800dfe6a
test rax, rax
je 0x1800df0bb
cmp byte [0x180193546], r13b
je 0x1800df0bb
mov r8d, dword [r12 + 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 0x1800decc6
mov eax, 4
jmp 0x1800dfe6a
mov edi, 3
mov ecx, r13d
lea r8, [rbp + 0xb0]
nop
mov eax, edi
imul eax, r10d
add eax, ecx
cmp dword [rbp - 0x38], 0
jbe 0x1800df125
cmp dword [r12 + 0x54], 0
mov edx, dword [r12 + 0x4c]
mov r9, qword [r12 + 0x18]
jne 0x1800df10a
add dx, word [r9 + rax*2]
movzx eax, dx
jmp 0x1800df110
mov eax, dword [r9 + rax*4]
add eax, edx
mov dword [r8], eax
cmp eax, dword [r12 + 0x38]
jae 0x1800dfb89
mov r10d, dword [rsp + 0x54]
jmp 0x1800df128
mov dword [r8], eax
inc ecx
add r8, 4
cmp ecx, edi
jb 0x1800df0e0
xor r13b, r13b
xor r14d, r14d
test edi, edi
je 0x1800df43c
lea rsi, [rbp + 0xb0]
nop word [rax + rax]
mov r15d, dword [rsi]
lea ecx, [r14 + 1]
mov eax, 0xaaaaaaab
mov r14d, ecx
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
mov r12d, dword [rbp + rcx*4 + 0xb0]
cmp r15d, r12d
je 0x1800df3f5
mov r8, qword [rbx + 0x58]
lea rcx, [r12 + r12*2]
lea rdx, [r15 + r15*2]
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 0x1800df1eb
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800df1f3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm15, xmm0
jae 0x1800df373
add rsi, 4
cmp r14d, edi
jb 0x1800df150
mov r10, qword [rbx + 0x58]
xor r8d, r8d
mov r12, qword [rbp - 0x70]
nop word [rax + rax]
mov edx, dword [rbp + r8*4 + 0xb0]
lea rax, [rdx + rdx*2]
movss xmm0, dword [r10 + rax*4]
ucomiss xmm0, xmm0
jp 0x1800df336
movss xmm0, dword [r10 + rax*4 + 4]
ucomiss xmm0, xmm0
jp 0x1800df336
movss xmm0, dword [r10 + rax*4 + 8]
ucomiss xmm0, xmm0
jp 0x1800df336
cmp qword [r12 + 8], 0
je 0x1800df287
mov rcx, qword [rbx + 0x70]
movss xmm0, dword [rcx + rax*4]
ucomiss xmm0, xmm0
jp 0x1800df2bc
movss xmm0, dword [rcx + rax*4 + 4]
ucomiss xmm0, xmm0
jp 0x1800df2bc
movss xmm0, dword [rcx + rax*4 + 8]
ucomiss xmm0, xmm0
jp 0x1800df2bc
cmp qword [r12 + 0x10], 0
je 0x1800df2ab
mov rax, qword [rbx + 0x88]
movss xmm0, dword [rax + rdx*8]
ucomiss xmm0, xmm0
jp 0x1800df2f9
movss xmm0, dword [rax + rdx*8 + 4]
ucomiss xmm0, xmm0
jp 0x1800df2f9
inc r8d
cmp r8d, edi
jb 0x1800df220
jmp 0x1800df433
mov r11d, dword [rsp + 0x58]
inc r11d
mov dword [rsp + 0x58], r11d
cmp r11d, 0x32
ja 0x1800df2f1
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df2f1
cmp byte [0x180193546], r13b
je 0x1800df2f1
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_normal_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800df433
mov r11d, dword [rsp + 0x58]
inc r11d
mov dword [rsp + 0x58], r11d
cmp r11d, 0x32
ja 0x1800df2f1
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df2f1
cmp byte [0x180193546], r13b
je 0x1800df2f1
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_texture_coordinate_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800df433
mov r11d, dword [rsp + 0x58]
inc r11d
mov dword [rsp + 0x58], r11d
cmp r11d, 0x32
ja 0x1800df2f1
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df2f1
cmp byte [0x180193546], r13b
je 0x1800df2f1
mov edx, dword [rsp + 0x54]
lea rcx, str.___NAN_position_in_face:__d_n
call rax
mov r13b, 1
jmp 0x1800df433
mov r11d, dword [rsp + 0x58]
mov r13b, 1
inc r11d
mov dword [rsp + 0x58], r11d
cmp r11d, 0x32
ja 0x1800df42f
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df42f
cmp byte [0x180193546], 0
je 0x1800df42f
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 0x1800df42f
mov r8d, dword [rsp + 0x58]
mov r13b, 1
inc r8d
mov dword [rsp + 0x58], r8d
cmp r8d, 0x32
ja 0x1800df42f
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df42f
cmp byte [0x180193546], 0
je 0x1800df42f
mov r8d, r12d
lea rcx, str.___Degenerate_edge:_index__d__index__d_n
mov edx, r15d
call rax
mov r12, qword [rbp - 0x70]
mov esi, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x50]
mov dword [rsp + 0x74], 0
cmp edi, 3
jne 0x1800df552
mov eax, 1
mov dword [rsp + 0x74], eax
mov edi, eax
cmp esi, eax
jae 0x1800df47a
mov edx, eax
lea rcx, [rsp + 0x68]
call fcn.180150470
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov esi, dword [rsp + 0x78]
mov dword [rsp + 0x50], r11d
mov r15, qword [rsp + 0x68]
test r15, r15
je 0x1800df4a2
lea ecx, [rdi - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0xb0]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r11d, dword [rsp + 0x50]
inc edi
mov dword [rsp + 0x74], edi
cmp edi, esi
jbe 0x1800df4d8
mov edx, edi
test esi, esi
je 0x1800df4b7
shr edx, 2
add edx, edi
lea rcx, [rsp + 0x68]
call fcn.180150470
mov r11d, dword [rsp + 0x70]
mov edi, dword [rsp + 0x74]
mov r15, qword [rsp + 0x68]
mov esi, dword [rsp + 0x78]
mov dword [rsp + 0x50], r11d
test r15, r15
je 0x1800df4fb
lea ecx, [rdi - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0xb4]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r11d, dword [rsp + 0x50]
lea eax, [rdi + 1]
mov dword [rsp + 0x74], eax
cmp eax, esi
jbe 0x1800df52e
mov edx, eax
test esi, esi
je 0x1800df511
shr edx, 2
add edx, eax
lea rcx, [rsp + 0x68]
call fcn.180150470
mov r11d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x74]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x50], r11d
test r15, r15
je 0x1800df5b8
lea ecx, [rax - 1]
mov r8d, r11d
imul ecx, r11d
lea rdx, [rbp + 0xb8]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800df5b8
lea rax, [rbp + 0xb0]
mov dword [rbp + 0x78], edi
mov qword [rbp + 0x70], rax
lea r9, [rsp + 0x68]
mov rax, qword [rbx + 0x58]
lea r8, [rbp + 0x90]
movaps xmm0, xmmword [rbp + 0x70]
lea rdx, [rbp + 0xa0]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x10]
mov eax, dword [rbx + 0x64]
mov dword [rbp + 0x88], eax
movaps xmm1, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0xa0], xmm1
movdqa xmmword [rbp + 0x90], xmm0
call fcn.180159780
mov ecx, dword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x50], ecx
mov r14d, dword [rsp + 0x74]
test r13b, r13b
jne 0x1800df6c0
xor edi, edi
test r14d, r14d
je 0x1800df6c0
mov rsi, qword [rbx + 0x58]
nop word [rax + rax]
mov ecx, dword [r15 + rdi*4]
lea edx, [rdi + 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 0x1800df69d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800df6a5
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mulss xmm0, xmm13
comiss xmm14, xmm0
jae 0x1800df8fc
add edi, 3
cmp edi, r14d
jb 0x1800df5e0
mov edi, dword [rsp + 0x54]
mov rcx, qword [r12 + 0x20]
test rcx, rcx
je 0x1800df6e1
mov eax, edi
movzx r13d, r13b
cmp byte [rax + rcx], 0
mov eax, 1
cmovne r13d, eax
mov rcx, qword [r12 + 0x28]
mov eax, 0xffffffff
test rcx, rcx
je 0x1800df6f5
mov eax, edi
mov eax, dword [rcx + rax*4]
xor ecx, ecx
mov dword [rbp - 0x80], ecx
test r14d, r14d
je 0x1800dfaf7
mov dword [rbp - 0x30], eax
lea r14, [rbx + 0x138]
mov byte [rsp + 0x60], r13b
lea r15, [rbx + 0x150]
nop dword [rax]
test byte [rbx + 4], 1
mov eax, ecx
mov rcx, qword [rsp + 0x68]
lea rdi, [rcx + rax*4]
je 0x1800df778
mov eax, dword [rbx + 0x1c]
mov ecx, dword [rbx + 0x20]
inc eax
mov dword [rbx + 0x1c], eax
cmp eax, ecx
jbe 0x1800df754
mov edx, eax
test ecx, ecx
je 0x1800df74b
shr edx, 2
add edx, eax
lea rcx, [rbx + 0x10]
call fcn.180150470
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1800df778
mov ecx, dword [rbx + 0x18]
mov eax, dword [rbx + 0x1c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
test byte [rbx + 4], 4
je 0x1800df7c4
mov eax, dword [rbx + 0x34]
mov ecx, dword [rbx + 0x38]
inc eax
mov dword [rbx + 0x34], eax
cmp eax, ecx
jbe 0x1800df7a1
mov edx, eax
test ecx, ecx
je 0x1800df798
shr edx, 2
add edx, eax
lea rcx, [rbx + 0x28]
call fcn.180150470
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x1800df7c4
mov ecx, dword [rbx + 0x30]
mov eax, dword [rbx + 0x34]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbx + 0x4c]
mov esi, 3
mov dword [rbp - 0x60], eax
nop
mov eax, dword [rbx + 0x4c]
mov ecx, dword [rbx + 0x50]
inc eax
mov dword [rbx + 0x4c], eax
cmp eax, ecx
jbe 0x1800df7f6
mov edx, eax
test ecx, ecx
je 0x1800df7ea
shr edx, 2
add edx, eax
lea rcx, [rbx + 0x40]
call fcn.180150470
mov eax, dword [rbx + 0x4c]
mov rdx, qword [rbx + 0x40]
test rdx, rdx
je 0x1800df81a
test rdi, rdi
je 0x1800df81a
mov ecx, dword [rbx + 0x48]
dec eax
mov r8d, ecx
imul ecx, eax
add rcx, rdx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, 4
sub rsi, 1
jne 0x1800df7d0
mov r9d, dword [rbp - 0x60]
lea r12d, [rsi + 1]
mov qword [rbp - 0x10], 3
lea eax, [r9 - 1]
mov dword [rbp - 0x5c], eax
nop dword [rax + rax]
mov r8, qword [rbx + 0x40]
add eax, r12d
mov ecx, r12d
mov edi, dword [r8 + rax*4]
mov eax, 0xaaaaaaab
mul r12d
mov dword [rbp - 0x18], edi
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
add ecx, r9d
cmp qword [rbx + 0x130], 0
mov esi, dword [r8 + rcx*4]
mov dword [rbp - 0x14], esi
jne 0x1800df9b0
mov edx, dword [rbx + 0x124]
xorps xmm0, xmm0
lea ecx, [rdx - 1]
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
inc eax
cvtsi2sd xmm0, rdx
mov dword [rbx + 0x128], eax
mulsd xmm0, xmm12
cvttsd2si rcx, xmm0
cmp eax, ecx
jae 0x1800df8ed
dec ecx
mov eax, ecx
shr eax, 1
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 0x10
or eax, ecx
inc eax
mov dword [rbx + 0x128], eax
mov edx, eax
shl rdx, 2
test rdx, rdx
jne 0x1800df94f
xor eax, eax
jmp 0x1800df957
mov eax, dword [rsp + 0x58]
mov r13b, 1
inc eax
mov dword [rsp + 0x58], eax
cmp eax, 0x32
ja 0x1800df6c0
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800df6c0
cmp byte [0x180193546], 0
mov edi, dword [rsp + 0x54]
je 0x1800df6c4
xorps xmm2, xmm2
lea rcx, str.___Zero_area_face:__d__area_is__f_n
cvtss2sd xmm2, xmm0
mov edx, edi
movq r8, xmm2
call rax
jmp 0x1800df6c4
xor ecx, ecx
call qword [0x180192130]
xor edx, edx
mov qword [rbx + 0x130], rax
cmp dword [rbx + 0x128], edx
jbe 0x1800df988
nop dword [rax + rax]
mov rax, qword [rbx + 0x130]
mov dword [rax + rdx*4], 0xffffffff
inc edx
cmp edx, dword [rbx + 0x128]
jb 0x1800df970
mov edx, dword [rbx + 0x124]
cmp edx, dword [r14 + 0x10]
jbe 0x1800df99c
mov rcx, r14
call fcn.180150470
mov edx, dword [rbx + 0x124]
cmp edx, dword [r15 + 0x10]
jbe 0x1800df9b0
mov rcx, r15
call fcn.180150470
mov eax, dword [rbx + 0x128]
mov ecx, dword [r14 + 0x10]
dec eax
shl edi, 0xf
add edi, esi
and edi, eax
mov eax, dword [r14 + 0xc]
inc eax
mov dword [r14 + 0xc], eax
cmp eax, ecx
jbe 0x1800df9e4
mov edx, eax
test ecx, ecx
je 0x1800df9dc
shr edx, 2
add edx, eax
mov rcx, r14
call fcn.180150470
mov rdx, qword [r14]
test rdx, rdx
je 0x1800dfa08
mov ecx, dword [r14 + 8]
mov eax, dword [r14 + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x130]
mov ecx, dword [r15 + 0x10]
mov esi, edi
lea rdi, [rax + rdi*4]
mov eax, dword [r15 + 0xc]
inc eax
mov dword [r15 + 0xc], eax
cmp eax, ecx
jbe 0x1800dfa3e
mov edx, eax
test ecx, ecx
je 0x1800dfa32
shr edx, 2
add edx, eax
mov rcx, r15
call fcn.180150470
mov eax, dword [r15 + 0xc]
mov r9, qword [r15]
test r9, r9
je 0x1800dfa62
test rdi, rdi
je 0x1800dfa62
mov ecx, dword [r15 + 8]
dec eax
mov r8d, ecx
mov rdx, rdi
imul ecx, eax
add rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x130]
inc r12d
mov ecx, dword [rbx + 0x15c]
mov r9d, dword [rbp - 0x60]
dec ecx
sub qword [rbp - 0x10], 1
mov dword [rax + rsi*4], ecx
mov eax, dword [rbp - 0x5c]
jne 0x1800df840
mov rsi, qword [rbp - 0x50]
test rsi, rsi
je 0x1800dfad9
mov eax, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x28]
inc eax
mov dword [rsi + 0x24], eax
cmp eax, ecx
jbe 0x1800dfab5
mov edx, eax
test ecx, ecx
je 0x1800dfaac
shr edx, 2
add edx, eax
lea rcx, [rsi + 0x18]
call fcn.180150470
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x1800dfad9
mov ecx, dword [rsi + 0x20]
mov eax, dword [rsi + 0x24]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rsp + 0x54]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rbp - 0x80]
add ecx, 3
mov dword [rbp - 0x80], ecx
cmp ecx, dword [rsp + 0x74]
jb 0x1800df720
mov r14d, dword [rsp + 0x74]
mov r12, qword [rbp - 0x70]
jmp 0x1800dfafb
mov rsi, qword [rbp - 0x50]
test rsi, rsi
je 0x1800dfb62
test r14d, r14d
je 0x1800dfb62
lea rdi, [rsi + 0x30]
mov rsi, qword [rsp + 0x68]
nop
mov eax, dword [rdi + 0xc]
mov ecx, dword [rdi + 0x10]
inc eax
mov dword [rdi + 0xc], eax
cmp eax, ecx
jbe 0x1800dfb35
mov edx, eax
test ecx, ecx
je 0x1800dfb2a
shr edx, 2
add edx, eax
mov rcx, rdi
call fcn.180150470
mov eax, dword [rdi + 0xc]
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800dfb58
test rsi, rsi
je 0x1800dfb58
mov ecx, dword [rdi + 8]
dec eax
mov r8d, ecx
imul ecx, eax
add rcx, rdx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, 4
sub r14, 1
jne 0x1800dfb10
mov r10d, dword [rsp + 0x54]
inc r10d
mov dword [rsp + 0x54], r10d
mov eax, r10d
cmp r10d, dword [rbp - 0x78]
jae 0x1800dfbc5
mov r11d, dword [rsp + 0x50]
xor r13d, r13d
mov esi, dword [rsp + 0x78]
jmp 0x1800df070
mov rcx, rbx
call fcn.1800cffc0
test rbx, rbx
je 0x1800dfbba
mov rax, qword [0x180192138]
mov rcx, rbx
test rax, rax
je 0x1800dfbb2
call rax
mov r13d, 2
jmp 0x1800dfd3f
xor edx, edx
call qword [0x180192130]
mov r13d, 2
jmp 0x1800dfd3f
mov edx, dword [rsp + 0x58]
cmp edx, 0x32
jbe 0x1800dfbef
mov rax, qword [0x1801901d8]
test rax, rax
je 0x1800dfbef
cmp byte [0x180193546], 0
je 0x1800dfbef
add edx, 0xffffffce
lea rcx, str.____u_additional_warnings_truncated_n
call rax
xor r13d, r13d
mov rsi, qword [rbp - 0x20]
lea rdi, [rsi + 0xa8]
mov eax, dword [rdi + 0xc]
mov ecx, dword [rdi + 0x10]
inc eax
mov dword [rdi + 0xc], eax
cmp eax, ecx
jbe 0x1800dfc1f
mov edx, eax
test ecx, ecx
je 0x1800dfc17
shr edx, 2
add edx, eax
mov rcx, rdi
call fcn.180150470
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800dfc41
mov ecx, dword [rdi + 8]
mov eax, dword [rdi + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x28]
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rsi + 0xc0]
mov eax, dword [rdi + 0xc]
mov ecx, dword [rdi + 0x10]
inc eax
mov dword [rdi + 0xc], eax
cmp eax, ecx
jbe 0x1800dfc6a
mov edx, eax
test ecx, ecx
je 0x1800dfc62
shr edx, 2
add edx, eax
mov rcx, rdi
call fcn.180150470
mov rdx, qword [rdi]
test rdx, rdx
je 0x1800dfc8c
mov ecx, dword [rdi + 8]
mov eax, dword [rdi + 0xc]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 8]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x4c]
mov ecx, dword [rsi + 0x50]
inc eax
mov qword [rbp - 0x20], rbx
mov dword [rsi + 0x4c], eax
cmp eax, ecx
jbe 0x1800dfcb3
mov edx, eax
test ecx, ecx
je 0x1800dfcaa
shr edx, 2
add edx, eax
lea rcx, [rsi + 0x40]
call fcn.180150470
mov rdx, qword [rsi + 0x40]
test rdx, rdx
je 0x1800dfcd6
mov ecx, dword [rsi + 0x48]
mov eax, dword [rsi + 0x4c]
mov r8d, ecx
dec eax
imul ecx, eax
add rcx, rdx
lea rdx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rsi + 0x38], 0xffffffff
jne 0x1800dfd1d
mov r8, qword [rsi + 0xa0]
mov edx, r13d
mov dword [rbp - 0x80], edx
cmp dword [r8 + 0x24], 0
jbe 0x1800dfd15
mov eax, edx
imul rcx, rax, 0x38
mov al, 1
add rcx, qword [r8]
lock cmpxchg byte [rcx], r13b
je 0x1800dfdb8
inc edx
mov dword [rbp - 0x80], edx
cmp edx, dword [r8 + 0x24]
jb 0x1800dfcf0
mov rbx, qword [rbp - 0x28]
mov edx, 0xffffffff
mov dword [rsi + 0x38], edx
mov edx, dword [rsi + 0x38]
lea rax, [0x18014cf60]
mov rcx, qword [rsi + 0xa0]
lea r8, [rbp - 0x70]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rbx
call fcn.18014cb20
mov rcx, qword [rbp + 0x40]
movaps xmm15, xmmword [rsp + 0x5c0]
movaps xmm14, xmmword [rsp + 0x5d0]
movaps xmm13, xmmword [rsp + 0x5e0]
movaps xmm12, xmmword [rsp + 0x5f0]
movaps xmm11, xmmword [rsp + 0x600]
movaps xmm10, xmmword [rsp + 0x610]
movaps xmm9, xmmword [rsp + 0x620]
movaps xmm8, xmmword [rsp + 0x630]
movaps xmm7, xmmword [rsp + 0x640]
movaps xmm6, xmmword [rsp + 0x650]
mov rdi, qword [rsp + 0x670]
test rcx, rcx
je 0x1800dfdf8
mov rax, qword [0x180192138]
test rax, rax
je 0x1800dfdec
call rax
jmp 0x1800dfdf8
mov edx, 1
nop dword [rax]
mov eax, edx
xchg dword [rcx + 0x24], eax
test eax, eax
jne 0x1800dfdc0
mov edx, dword [rbp - 0x80]
mov eax, r13d
mov dword [rcx + 0x20], r13d
mov dword [rcx + 0x14], r13d
nop
mov dword [rcx + 0x24], r13d
mov qword [rcx + 0x30], rsi
xchg dword [rcx + 0x28], eax
mov rbx, qword [rbp - 0x28]
jmp 0x1800dfd1a
mov rcx, qword [rbp + 0x40]
xor edx, edx
call qword [0x180192130]
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1800dfe1d
mov rax, qword [0x180192138]
test rax, rax
je 0x1800dfe11
call rax
jmp 0x1800dfe1d
mov rcx, qword [rbp + 0x28]
xor edx, edx
call qword [0x180192130]
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1800dfe42
mov rax, qword [0x180192138]
test rax, rax
je 0x1800dfe36
call rax
jmp 0x1800dfe42
mov rcx, qword [rbp + 0x10]
xor edx, edx
call qword [0x180192130]
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x1800dfe67
mov rax, qword [0x180192138]
mov rcx, rsi
test rax, rax
je 0x1800dfe5f
call rax
jmp 0x1800dfe67
xor edx, edx
call qword [0x180192130]
mov eax, r13d
mov r13, qword [rsp + 0x668]
mov rsi, qword [rsp + 0x678]
mov rbx, qword [rsp + 0x6b8]
mov r14, qword [rsp + 0x660]
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.180163c20
add rsp, 0x680
pop r15
pop r12
pop rbp
ret