Function at 0x1801e5d10
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, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov rax, qword [0x1804a9038]
xor rax, rsp
mov qword [rsp + 0xf8], rax
cmp byte [0x1804d17f9], 0
je 0x1801e5e6a
mov rsi, rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [0x1803ff180]
movups xmmword [rsp + 0x70], xmm0
mov rax, qword [rcx + 0xf0]
mov qword [rsp + 0x40], rax
xorps xmm6, xmm6
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm6
movups xmmword [rsp + 0x61], xmm6
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx + 0x80]
sub rax, qword [rcx + 0x78]
shr rax, 3
mov dword [rsp + 0x80], eax
mov edi, 0xffffffff
movups xmmword [rsp + 0x88], xmm6
movups xmmword [rsp + 0x98], xmm6
and rdi, rax
je 0x1801e5e0a
call fcn.1801d4910
shl rdi, 5
mov r8d, 8
mov rcx, rax
mov rdx, rdi
call fcn.180185210
mov qword [rsp + 0x88], rax
mov rcx, rax
add rcx, rdi
mov qword [rsp + 0x98], rcx
xor edx, edx
movups xmmword [rax + rdx + 0x10], xmm6
movups xmmword [rax + rdx], xmm6
add rdx, 0x20
cmp rdi, rdx
jne 0x1801e5df0
mov qword [rsp + 0x90], rcx
movups xmmword [rsp + 0xc8], xmm6
movups xmmword [rsp + 0xb8], xmm6
movups xmmword [rsp + 0xa8], xmm6
mov qword [rsp + 0xd8], 0
mov rdi, qword [rsi + 0x50]
mov r13, qword [rsi + 0x58]
cmp rdi, r13
je 0x1801e5e5b
movabs rbp, 0x1fffffffffffffff
movabs r12, 0x7fffffff8
xor edx, edx
mov qword [rsp + 0x38], r13
jmp 0x1801e65e4
lea rdx, str.After_splitting_local_variables
mov rcx, rsi
call fcn.180001000
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.180364a40
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rdx + 0x28]
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
sub r8, rcx
sar r8, 5
cmp r8, rax
jbe 0x1801e6709
shl rax, 5
mov r8, qword [rcx + rax + 0x18]
cmp r8, qword [rsp + 0xa8]
jne 0x1801e63c2
cmp qword [rsp + 0xd0], 0
je 0x1801e5efa
mov r9, qword [rcx + rax]
test r9, r9
je 0x1801e5eed
cmp qword [rcx + rax + 8], r8
cmove rdx, r9
mov rcx, qword [rsp + 0x40]
mov r8, rbp
jmp 0x1801e6171
lea rcx, [rsp + 0x78]
call fcn.1801e6770
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov r8, rbp
jmp 0x1801e60f9
mov r8d, dword [rdx + 8]
cmp r8d, dword [rbp + 8]
jne 0x1801e62a7
mov ecx, dword [rbp + 0x28]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
sub r8, rdx
sar r8, 5
cmp r8, rcx
jbe 0x1801e6709
shl rcx, 5
mov r8, qword [rdx + rcx]
mov r9, rbp
test r8, r8
je 0x1801e5f69
mov rcx, qword [rdx + rcx + 8]
cmp rcx, qword [rsp + 0xa8]
cmovne r8, rbp
mov r9, r8
mov qword [rax], r9
cmp qword [rsp + 0xd0], 0
jne 0x1801e63c2
mov eax, dword [rbp + 0x28]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
sub rdx, rcx
sar rdx, 5
cmp rdx, rax
jbe 0x1801e66dd
shl rax, 5
mov rax, qword [rcx + rax + 0x10]
cmp rax, qword [rsp + 0x50]
je 0x1801e63c2
lea rcx, [rsp + 0x78]
mov rdx, rbp
jmp 0x1801e60e7
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x34], r11d
call fcn.1801e6770
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov r8, rbx
call fcn.1802294c0
mov r11d, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x60]
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
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x40]
mov rax, qword [rax + 0x48]
sub rax, rcx
sar rax, 3
cmp rax, rbp
jbe 0x1801e66dd
mov qword [rcx + rbp*8], rbx
mov rax, qword [rsp + 0x50]
inc rbp
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
sub rdx, rcx
mov r8, rdx
shr r8, 3
mov r8d, r8d
cmp rbp, r8
jae 0x1801e6100
sar rdx, 3
cmp rdx, rbp
jbe 0x1801e6709
mov rdx, qword [rcx + rbp*8]
test rdx, rdx
je 0x1801e602a
mov ecx, dword [rdx + 0xc]
add ecx, 0xffffffdf
cmp ecx, 0xfffffff1
jb 0x1801e602a
cmp dword [rdx + 0x40], 0xffffffff
jne 0x1801e602a
cmp byte [rdx + 0x3c], 0
jne 0x1801e602a
mov ecx, dword [rdx + 0x28]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
sub r9, r8
sar r9, 5
cmp r9, rcx
jbe 0x1801e6709
shl rcx, 5
mov r9, qword [r8 + rcx]
mov rbx, rdx
test r9, r9
je 0x1801e60c0
mov r10, qword [r8 + rcx + 8]
cmp r10, qword [rsp + 0xa8]
je 0x1801e60bd
mov r9, rdx
mov rbx, r9
cmp qword [rsp + 0xd0], 0
jne 0x1801e6009
cmp qword [r8 + rcx + 0x10], rax
jne 0x1801e5fbf
jmp 0x1801e6009
lea rcx, [rsp + 0x78]
mov rdx, r8
call fcn.1801e6770
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov rdx, rax
call fcn.1802294c0
jmp 0x1801e617a
test r11b, r11b
je 0x1801e63c2
mov r8, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov ecx, dword [r8 + 0x28]
mov rdx, qword [rsp + 0x90]
sub rdx, rax
sar rdx, 5
cmp rdx, rcx
jbe 0x1801e6709
shl rcx, 5
mov r9, qword [rax + rcx + 0x18]
cmp r9, qword [rsp + 0xa8]
jne 0x1801e63c2
cmp qword [rsp + 0xd0], 0
je 0x1801e60df
mov r10, qword [rax + rcx]
mov rdx, r8
test r10, r10
je 0x1801e616c
cmp qword [rax + rcx + 8], r9
cmovne r10, r8
mov rdx, r10
mov rcx, qword [rsp + 0x40]
call fcn.1802294c0
mov byte [rax + 0x23], 1
mov rcx, qword [rsp + 0x68]
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 0x1801e63c2
mov r10b, byte [rbp + 0x3c]
cmp r10b, 1
setne r9b
test r10b, r10b
setne r10b
jmp 0x1801e628e
mov al, byte [rdx + 0x3c]
cmp al, 1
setne r8b
test al, al
setne cl
jmp 0x1801e6263
mov r8b, 1
jmp 0x1801e6263
mov rax, qword [rsp + 0x50]
mov ebp, dword [rax + 0x1c]
lea rbx, [rsp + 0xe0]
mov rcx, rbx
lea rdx, [0x18042b65a]
call fcn.18039c890
lea rcx, [0x1804d1958]
mov rdx, rbx
mov r8d, ebp
call fcn.1801d6740
mov ebp, eax
test byte [rsp + 0xe0], 1
je 0x1801e621d
mov rcx, qword [rsp + 0xf0]
call fcn.180363dac
test bpl, bpl
je 0x1801e63c2
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 0x18], 0x18
jl 0x1801e63c2
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x1804ec008]
mov rdx, qword [rsp + 0x58]
test al, al
je 0x1801e62b0
mov cl, 1
test rdx, rdx
je 0x1801e61cb
cmp dword [rdx + 0x40], 0xffffffff
je 0x1801e61b8
xor r8d, r8d
mov r9, qword [rsp + 0x50]
mov rax, qword [r9 + 0x40]
cmp qword [r9 + 0x48], rax
je 0x1801e6709
mov rbp, qword [rax]
test rbp, rbp
je 0x1801e62b0
cmp dword [rbp + 0x40], 0xffffffff
je 0x1801e61a0
mov r10b, 1
xor r9d, r9d
mov r11d, r8d
or r11b, r9b
cmp r11b, 1
jne 0x1801e63c2
or r8b, r10b
je 0x1801e5f14
or cl, r9b
je 0x1801e5e96
test rdx, rdx
je 0x1801e62bb
cmp dword [rdx + 0x40], 0xffffffff
je 0x1801e62de
xor r11d, r11d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
sub rdx, rcx
test rdx, r12
je 0x1801e6100
xor ebp, ebp
jmp 0x1801e604b
cmp byte [rdx + 0x3c], 0
sete r11b
jmp 0x1801e62be
test rdx, rdx
sete r8b
cmp rdx, rax
sete dl
test rcx, rcx
jne 0x1801e6334
or r8b, dl
je 0x1801e6334
mov qword [rsp + 0xd0], rax
jmp 0x1801e63c2
mov qword [rsp + 0xd0], 0
jmp 0x1801e63c2
mov rax, qword [rsp + 0xd0]
cmp rcx, rax
je 0x1801e630c
or rax, qword [rsp + 0xd8]
je 0x1801e633e
mov byte [rsp + 0x70], 1
jmp 0x1801e63c2
mov qword [rsp + 0xd8], rcx
jmp 0x1801e63c2
mov qword [rcx], rdx
add rcx, 8
mov qword [rsp + 0xb8], rcx
mov r9, qword [rsp + 0xb0]
cmp r9, rcx
je 0x1801e6735
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
lea rdx, [0x1803edb60]
cmp qword [rax], rdx
je 0x1801e631d
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [0x1804ec008]
test rax, rax
je 0x1801e61d3
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rax
jne 0x1801e62e8
test rdx, rdx
jne 0x1801e62e8
mov qword [rsp + 0xd8], 0
cmp r13, r14
je 0x1801e64ff
cmp byte [rsp + 0x70], 0
mov rcx, r13
jne 0x1801e64ff
mov r13, qword [rcx + 8]
lea rax, [rcx - 8]
test rcx, rcx
cmove rax, rcx
cmp byte [rax + 0x20], 0
jne 0x1801e63c2
mov qword [rsp + 0x50], rax
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r13
mov byte [rsp + 0x70], 0
test rdx, rdx
je 0x1801e636d
cmp qword [rdx + 0xb8], 0
je 0x1801e636d
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xc0]
cmp rcx, rax
jb 0x1801e6348
mov r8, qword [rsp + 0xb0]
mov rbp, rcx
sub rbp, r8
sar rbp, 3
lea r9, [rbp + 1]
cmp r9, r15
ja 0x1801e6761
mov r10, r15
sub rax, r8
mov rbx, rax
sar rbx, 2
cmp rbx, r9
cmovbe rbx, r9
movabs r9, 0x7ffffffffffffff8
cmp rax, r9
cmovae rbx, r15
test rbx, rbx
je 0x1801e64bd
call fcn.1801d4910
lea rdx, [rbx*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
lea r9, [rax + rbp*8]
mov qword [r9], rdx
jmp 0x1801e64d1
xor eax, eax
jmp 0x1801e64b4
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov qword [r9 - 8], rdx
add r9, 0xfffffffffffffff8
cmp rcx, r8
jne 0x1801e64c1
lea rdx, [rax + rbx*8]
lea rcx, [rax + rbp*8]
add rcx, 8
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rdx
jmp 0x1801e635f
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
cmp rdx, rax
je 0x1801e65cf
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
sub r8, rcx
sar r8, 5
mov r9, qword [rsp + 0xa8]
mov r10, rdx
mov r13, qword [rsp + 0x38]
mov rbp, r15
jmp 0x1801e655e
mov qword [r11 + 0xb8], rbx
mov qword [r14 + 0xb8], r11
mov rbp, r15
add r10, 8
cmp r10, rax
je 0x1801e65d7
mov r11, qword [r10]
mov rbx, qword [r11 + 0xb8]
mov r14d, dword [rbx + 0x28]
cmp r8, r14
jbe 0x1801e66dd
shl r14, 5
mov rbx, qword [rcx + r14]
test rbx, rbx
je 0x1801e6555
cmp qword [rcx + r14 + 8], r9
jne 0x1801e6555
mov r14, rbx
mov rbx, qword [rbx + 0xb8]
test rbx, rbx
je 0x1801e6544
mov ebp, dword [rbx + 0x28]
cmp ebp, dword [r11 + 0x28]
jae 0x1801e6589
jmp 0x1801e6544
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rax + 0xa0]
mov al, byte [rsp + 0x70]
mov qword [rsp + 0xb8], rdx
cmp rcx, r14
je 0x1801e65d7
test al, al
jne 0x1801e65d7
mov r15, rbp
jmp 0x1801e63d9
mov r13, qword [rsp + 0x38]
mov rbp, r15
add rdi, 8
cmp rdi, r13
je 0x1801e5e5b
mov rax, qword [rdi]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xa8], rax
lea r14, [rax + 0x98]
mov rcx, qword [rax + 0xa0]
cmp rcx, r14
jne 0x1801e661a
mov qword [rsp + 0xb8], rdx
jmp 0x1801e65d7
mov rcx, qword [rcx + 8]
cmp rcx, r14
je 0x1801e65a3
lea rdx, [rcx - 8]
test rcx, rcx
cmove rdx, rcx
cmp byte [rdx + 0x20], 0
jne 0x1801e6611
mov r9, qword [rdx + 0x40]
mov r10, qword [rdx + 0x48]
mov r11, r10
sub r11, r9
test r11, r12
je 0x1801e6611
xor r8d, r8d
jmp 0x1801e666f
mov r9, qword [rsp + 0xa8]
mov qword [r11 + r10 + 0x18], r9
mov r9, qword [rdx + 0x40]
mov r10, qword [rdx + 0x48]
inc r8
mov r11, r10
sub r11, r9
mov rbx, r11
shr rbx, 3
mov ebx, ebx
cmp r8, rbx
jae 0x1801e6611
sar r11, 3
cmp r11, r8
jbe 0x1801e6709
mov r11, qword [r9 + r8*8]
test r11, r11
je 0x1801e6658
mov ebx, dword [r11 + 0xc]
add ebx, 0xffffffdf
cmp ebx, 0xfffffff1
jb 0x1801e6658
mov r9d, dword [r11 + 0x28]
mov r11, qword [rsp + 0x88]
mov r10, qword [rsp + 0x90]
sub r10, r11
sar r10, 5
cmp r10, r9
jbe 0x1801e66dd
mov r10, r9
shl r10, 5
mov qword [r11 + r10 + 0x10], rdx
mov r11, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
sub rbx, r11
sar rbx, 5
cmp rbx, r9
ja 0x1801e6643
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, 0x5b7
call fcn.1803aa860
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
lea rax, str.back___called_on_an_empty_vector
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._empty__
mov r8d, 0x241
call fcn.1803aa860
lea rcx, [rsp + 0xb0]
call fcn.180007700
int3