Function at 0x1801e08f0
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, 0x8e8
movaps xmmword [rsp + 0x8d0], xmm7
movaps xmmword [rsp + 0x8c0], xmm6
mov rax, qword [0x1804a9038]
xor rax, rsp
mov qword [rsp + 0x8b8], rax
lea rbp, [rsp + 0x108]
xorps xmm7, xmm7
movups xmmword [rbp], xmm7
mov qword [rbp + 0x10], 0
mov qword [rbp - 8], rbp
mov qword [rsp + 0x30], rcx
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax + 0x78]
mov r14, qword [rax + 0x80]
cmp rbx, r14
je 0x1801e0b9c
mov r13, rdx
xor eax, eax
movaps xmm6, xmmword [0x1803ff180]
lea rsi, [rsp + 0x100]
lea rdi, [rsp + 0xa0]
jmp 0x1801e0a2d
mov rdx, qword [r15]
mov r12, r15
test rdx, rdx
je 0x1801e09a8
mov r15, rdx
mov rdx, qword [rdx + 0x20]
cmp rcx, rdx
jb 0x1801e097e
jbe 0x1801e0a24
mov rdx, qword [r15 + 8]
test rdx, rdx
jne 0x1801e0989
lea r12, [r15 + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], rax
movaps xmmword [rsp + 0x150], xmm6
mov rcx, rsi
lea rdx, [rsp + 0x150]
mov r8, rdi
call fcn.1801e54a0
mov rdx, qword [rsp + 0x150]
movups xmmword [rdx], xmm7
mov qword [rdx + 0x10], r15
mov qword [r12], rdx
mov rax, qword [rsp + 0x100]
mov rax, qword [rax]
test rax, rax
je 0x1801e0a04
mov qword [rsp + 0x100], rax
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x108]
call fcn.1803604c0
mov rax, qword [rsp + 0x118]
inc rax
mov qword [rsp + 0x118], rax
add rbx, 8
cmp rbx, r14
je 0x1801e0a72
mov rcx, qword [rbx]
mov qword [rsp + 0xa0], rcx
cmp byte [rcx + 0x3c], 2
je 0x1801e0a24
cmp dword [rcx + 0x40], 0xffffffff
jne 0x1801e0a24
mov rdx, qword [rcx + 0x58]
sub rdx, qword [rcx + 0x50]
movabs r8, 0x7fffffff8
add r8, 0xfffffffffffffff8
test rdx, r8
je 0x1801e0a24
mov rdx, qword [rsp + 0x108]
mov r12, rbp
mov r15, rbp
jmp 0x1801e0984
test rax, rax
je 0x1801e0b9c
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0xe8]
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
mov qword [rax - 8], rax
movabs rax, 0xaaaaaaaaffffffff
mov qword [rsp + 0xd0], rax
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xc0], xmm7
mov dword [rsp + 0xd0], 0x3f800000
mov r13, qword [rsp + 0x100]
cmp r13, rbp
je 0x1801e0be1
mov rbp, qword [r13 + 0x20]
mov rbx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x58]
mov qword [rsp + 0x48], rax
cmp rbx, rax
jne 0x1801e0d60
test r13, r13
je 0x1801e1462
mov rcx, qword [r13 + 8]
test rcx, rcx
lea rbp, [rsp + 0x108]
je 0x1801e0b2c
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801e0b14
mov r13, rax
cmp rax, rbp
jne 0x1801e0ae0
jmp 0x1801e0be1
mov rax, qword [r13 + 0x10]
cmp qword [rax], r13
mov r13, rax
jne 0x1801e0b2c
jmp 0x1801e0b1f
mov rax, qword [rsp + 0x890]
test rax, rax
je 0x1801e0b4f
mov qword [rsp + 0x898], rax
lea rax, [rsp + 0x488]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
je 0x1801e0b65
call fcn.18037e050
lea rax, [rsp + 0x268]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
je 0x1801e0b7b
call fcn.18037e050
lea rax, [rsp + 0xb8]
mov rax, qword [rax]
test rax, rax
jne 0x1801e0b83
lea rcx, [rsp + 0xe0]
mov rdx, qword [rcx + 8]
call fcn.1801dcf30
lea rcx, [rsp + 0x100]
mov rdx, qword [rcx + 8]
call fcn.1801dcf30
mov rcx, qword [rsp + 0x8b8]
xor rcx, rsp
call fcn.180364a40
movaps xmm6, xmmword [rsp + 0x8c0]
movaps xmm7, xmmword [rsp + 0x8d0]
add rsp, 0x8e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [0x18042a898]
lea rsi, [rsp + 0x150]
mov r8d, 0x760
mov rcx, rsi
call fcn.1803665d0
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
mov rcx, rsi
call fcn.1801d72e0
lea rax, [rsp + 0x88]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x110]
xor r8d, r8d
mov qword [rax], r8
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r8
mov qword [rax - 8], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov r8, rbp
call fcn.1801e5330
mov rcx, rsi
mov edx, 1
mov r8, rdi
call fcn.1801d84b0
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
call fcn.1801dad40
mov rbp, qword [rsp + 0xe0]
lea rax, [rsp + 0xe8]
cmp rbp, rax
je 0x1801e0b3a
xorps xmm6, xmm6
lea r13, [rsp + 0x120]
movabs rdi, 0x3333333333333333
jmp 0x1801e133c
mov rcx, qword [rsi]
mov rdi, rsi
test rcx, rcx
je 0x1801e0cc6
mov rsi, rcx
mov rcx, qword [rcx + 0x20]
cmp rax, rcx
jb 0x1801e0c9c
jbe 0x1801e0d3c
mov rcx, qword [rsi + 8]
test rcx, rcx
jne 0x1801e0ca7
lea rdi, [rsi + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x130], rax
movaps xmmword [rsp + 0x120], xmm6
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x50]
call fcn.1801e54a0
mov rdx, qword [rsp + 0x120]
movups xmmword [rdx], xmm7
mov qword [rdx + 0x10], rsi
mov qword [rdi], rdx
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
test rax, rax
je 0x1801e0d27
mov qword [rsp + 0xe0], rax
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0xe8]
call fcn.1803604c0
inc qword [rsp + 0xf8]
lea rax, [rsp + 0x188]
mov rax, qword [rax]
test rax, rax
jne 0x1801e0d44
mov rbx, qword [rsp + 0x38]
add rbx, 8
cmp rbx, qword [rsp + 0x48]
je 0x1801e0afa
mov r9d, dword [rbx]
mov r10, qword [rbp + 0x78]
test r10, r10
je 0x1801e0e0f
movsxd rcx, r9d
mov rax, r10
shr rax, 1
movabs rdx, 0x5555555555555555
and rax, rdx
mov rdx, r10
sub rdx, rax
mov rax, rdx
movabs r8, 0x3333333333333333
and rax, r8
shr rdx, 2
and rdx, r8
add rdx, rax
mov r11, rdx
shr r11, 4
add r11, rdx
movabs rax, 0xf0f0f0f0f0f0f0f
and r11, rax
movabs rax, 0x101010101010101
imul r11, rax
shr r11, 0x38
cmp r11, 1
jbe 0x1801e0dea
mov r8, rcx
cmp r10, rcx
ja 0x1801e0df1
mov rax, rcx
xor edx, edx
div r10
mov r8, rdx
jmp 0x1801e0df1
lea r8, [r10 - 1]
and r8, rcx
mov rax, qword [rbp + 0x70]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1801e0e0f
mov rsi, qword [rax]
test rsi, rsi
je 0x1801e0e0f
lea rdi, [r10 - 1]
jmp 0x1801e0f67
xor esi, esi
mov rsi, qword [rsi + 0x18]
mov qword [rsp + 0x38], rbx
mov eax, dword [rbx + 4]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x78], r9d
movaps xmmword [rsp + 0x120], xmm7
movaps xmmword [rsp + 0x130], xmm7
mov byte [rsp + 0x14c], 0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x14c]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x168], rax
lea rdx, [rsi + 0x68]
lea rdi, [rsp + 0x150]
mov rcx, rdi
call fcn.1801e2d80
add rsi, 0x88
mov rcx, rdi
mov rdx, rsi
call fcn.1801e2d80
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
cmp rax, rcx
je 0x1801e0f92
xor r12d, r12d
xor r15d, r15d
xor r14d, r14d
jmp 0x1801e0edd
cmp qword [rdx + 0x30], rbp
jne 0x1801e0ed0
cmp dword [rdx + 0x18], 0xc
cmovne r15, rdx
add rax, 8
cmp rax, rcx
je 0x1801e0f9b
mov rdx, qword [rax]
mov r8, qword [rdx + 0x40]
mov r9, qword [rdx + 0x48]
sub r9, r8
movabs r10, 0x7fffffff8
test r9, r10
je 0x1801e0ec2
mov r10, r9
shr r10, 3
sar r9, 3
mov r11d, r10d
dec r10d
xor esi, esi
jmp 0x1801e0f1d
xor r14d, r14d
inc r12d
inc rsi
cmp r11, rsi
je 0x1801e0ec2
cmp r9, r10
jbe 0x1801e10ef
mov rdi, qword [r8 + rsi*8]
mov ebx, dword [rdi + 0xc]
add ebx, 0xffffffee
cmp ebx, 0xf
jb 0x1801e0f37
xor edi, edi
test rdi, rdi
je 0x1801e0f15
cmp rdi, rbp
jne 0x1801e0f15
test r14, r14
jne 0x1801e0f12
cmp dword [rdx + 0x18], 0xc
je 0x1801e0f0f
mov r14, rdx
jmp 0x1801e0f12
cmp dword [rsi + 0x10], r9d
je 0x1801e0e11
mov rsi, qword [rsi]
test rsi, rsi
je 0x1801e0e0f
mov rax, qword [rsi + 8]
cmp rax, rcx
je 0x1801e0f51
cmp r11d, 1
ja 0x1801e0f83
and rax, rdi
cmp rax, r8
je 0x1801e0f5b
jmp 0x1801e0e0f
cmp rax, r10
jb 0x1801e0f79
xor edx, edx
div r10
mov rax, rdx
jmp 0x1801e0f79
xor r14d, r14d
xor r15d, r15d
xor r12d, r12d
cmp r12d, 3
jb 0x1801e0d4c
mov rax, r14
or rax, r15
je 0x1801e0d4c
mov ecx, 0xb
lea rbx, [rsp + 0x150]
mov rdi, rbx
lea rsi, [0x18042a738]
rep movsq qword [rdi], qword [rsi]
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x150], xmm7
mov dword [rsp + 0x1a0], 0x3f800000
mov qword [rsp + 0x1a8], 0
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
mov r8, rdx
shr r8, 0x20
mov rcx, rbx
xor r9d, r9d
call fcn.1801d4b20
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x10]
mov edx, dword [rbp + 8]
call fcn.18019b4d0
mov rsi, rax
mov qword [rsp + 0x50], rax
lea rcx, [rax + 0x50]
cmp rcx, rbx
je 0x1801e1092
mov rdx, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
call fcn.1801e2f00
mov rcx, rsi
add rcx, 0x70
movss xmm0, dword [rsp + 0x1a0]
movss dword [rsi + 0xa0], xmm0
mov rdx, qword [rsp + 0x188]
xor r8d, r8d
call fcn.1801e3070
mov rax, qword [rsp + 0x1a8]
mov qword [rsi + 0xa8], rax
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x50]
call fcn.1801e1490
mov qword [rax], rbp
mov qword [rax + 8], r14
mov qword [rax + 0x10], r15
mov dword [rax + 0x18], r12d
mov dword [rax + 0x1c], 0xaaaaaaaa
mov rcx, qword [rsp + 0xe8]
lea rsi, [rsp + 0xe8]
mov rdi, rsi
test rcx, rcx
je 0x1801e0cc6
mov rax, qword [rsp + 0x50]
jmp 0x1801e0ca7
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5c1
call fcn.1803aa860
mov r8, qword [rdx + 0x30]
cmp r8, qword [r12]
jne 0x1801e1129
mov qword [rdx + 0x30], r15
add rax, 8
cmp rax, rcx
je 0x1801e11ad
mov rdx, qword [rax]
cmp dword [rdx + 0x18], 0xc
je 0x1801e1129
mov r8, qword [rdx + 0x40]
mov r9, qword [rdx + 0x48]
mov r11, r9
sub r11, r8
movabs r10, 0x7fffffff8
test r11, r10
je 0x1801e111b
xor r10d, r10d
jmp 0x1801e1180
mov qword [r8 + r10*8], r15
mov r8, qword [rdx + 0x40]
mov r9, qword [rdx + 0x48]
inc r10
mov r11, r9
sub r11, r8
mov rsi, r11
shr rsi, 3
mov esi, esi
cmp r10, rsi
jae 0x1801e111b
sar r11, 3
cmp r11, r10
jbe 0x1801e10ef
mov r11, qword [r8 + r10*8]
mov esi, dword [r11 + 0xc]
add esi, 0xffffffee
cmp esi, 0xf
jb 0x1801e11a0
xor r11d, r11d
test r11, r11
je 0x1801e1169
cmp r11, qword [r12]
je 0x1801e115d
jmp 0x1801e1169
cmp qword [r12 + 8], 0
je 0x1801e11f8
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0xf0]
mov r8, qword [r12]
mov rdx, r15
call fcn.1802294c0
mov rcx, qword [r12 + 8]
lea rdx, [rcx + 8]
lea r8, [rax + 8]
test rax, rax
cmove r8, rax
mov rax, qword [rcx + 8]
mov qword [r8 + 8], rdx
mov qword [r8], rax
mov qword [rax + 8], r8
mov qword [rcx + 8], r8
cmp qword [r12 + 0x10], 0
je 0x1801e1307
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0xf0]
mov rdx, qword [r12]
mov r8, r15
call fcn.1802294c0
lea rcx, [r14 + 0x98]
cmp qword [r14 + 0x98], rcx
je 0x1801e125a
mov rcx, qword [r12 + 0x10]
mov rcx, qword [rcx + 0x10]
lea rdx, [rax + 8]
test rax, rax
cmove rdx, rax
mov rax, qword [rcx]
mov qword [rdx + 8], rcx
mov qword [rdx], rax
mov qword [rax + 8], rdx
mov qword [rcx], rdx
jmp 0x1801e1307
mov rcx, qword [r14 + 0xa0]
jmp 0x1801e1239
mov rax, qword [rbp + 0x10]
cmp qword [rax], rbp
mov rbp, rax
jne 0x1801e1263
jmp 0x1801e1328
xor ebx, ebx
mov r14, qword [rbx + 0x18]
mov dword [rsp + 0x14c], r10d
mov dword [rsp + 0x148], r9d
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x60], xmm6
mov byte [rsp + 0x147], 0
lea rax, [rsp + 0x148]
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x147]
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x14c]
mov qword [rsp + 0x138], rax
lea rdx, [r14 + 0x68]
mov rcx, r13
call fcn.1801e2d80
lea rdx, [r14 + 0x88]
mov rcx, r13
call fcn.1801e2d80
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
cmp rax, rcx
jne 0x1801e1132
test rbp, rbp
je 0x1801e1462
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1801e1263
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1801e131d
mov rbp, rax
lea rcx, [rsp + 0xe8]
cmp rax, rcx
je 0x1801e0b3a
mov r15, qword [rbp + 0x20]
mov qword [rsp + 0x78], r15
cmp dword [r15 + 0x40], 0xffffffff
je 0x1801e1307
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x78]
call fcn.1801e1490
mov r12, rax
mov rax, qword [r15 + 0x50]
cmp qword [r15 + 0x58], rax
je 0x1801e10ef
mov r9d, dword [rax]
mov r10d, dword [rax + 4]
mov rbx, qword [r12]
mov r11, qword [rbx + 0x78]
test r11, r11
je 0x1801e1274
movsxd rcx, r9d
mov rax, r11
shr rax, 1
movabs rdx, 0x5555555555555555
and rax, rdx
mov rdx, r11
sub rdx, rax
mov rax, rdx
and rax, rdi
shr rdx, 2
and rdx, rdi
add rdx, rax
mov r14, rdx
shr r14, 4
add r14, rdx
movabs rax, 0xf0f0f0f0f0f0f0f
and r14, rax
movabs rax, 0x101010101010101
imul r14, rax
shr r14, 0x38
cmp r14, 1
jbe 0x1801e13f7
mov r8, rcx
cmp r11, rcx
ja 0x1801e13fe
mov rax, rcx
xor edx, edx
div r11
mov r8, rdx
jmp 0x1801e13fe
lea r8, [r11 - 1]
and r8, rcx
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x1801e1274
mov rbx, qword [rax]
test rbx, rbx
je 0x1801e1274
lea rsi, [r11 - 1]
jmp 0x1801e1437
cmp dword [rbx + 0x10], r9d
je 0x1801e1276
mov rbx, qword [rbx]
test rbx, rbx
je 0x1801e1274
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x1801e1421
cmp r14d, 1
ja 0x1801e1453
and rax, rsi
cmp rax, r8
je 0x1801e142b
jmp 0x1801e1274
cmp rax, r11
jb 0x1801e1449
xor edx, edx
div r11
mov rax, rdx
jmp 0x1801e1449
lea rax, str.node_shouldnt_be_null
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__tree
lea r9, str.__x___nullptr
mov r8d, 0xcf
call fcn.1803aa860
int3