Function at 0x14012d370
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, 0x98
mov rsi, rcx
mov rax, qword [0x14036e038]
xor rax, rsp
mov qword [rsp + 0x90], rax
lea rbx, [rcx + 8]
movaps xmm0, xmmword [0x1402eb060]
lea rcx, [rsp + 0x70]
movaps xmmword [rcx], xmm0
mov rdx, rbx
call fcn.1401f0650
mov rax, qword [rsi + 0x10]
sub rax, qword [rsi + 8]
shr rax, 0x20
je 0x14012d3e9
xor ebx, ebx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1401b0080
mov eax, ebx
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [rbx]
lea rcx, [rsp + 0x60]
movaps xmmword [rcx], xmm0
call fcn.1402bde60
test al, al
je 0x14012d3c1
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
sub rax, rdi
cmp rax, 0x40
jb 0x14012d41b
lea rax, [rdi + 0x40]
mov qword [rsp + 0x70], rax
jmp 0x14012d41d
xor edi, edi
mov rcx, qword [rsi + 0x20]
movabs r12, 0xfffffffc00000000
mov rax, rcx
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d43f
call fcn.140169ab0
mov rax, rdi
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d456
mov rcx, rdi
call fcn.140169950
mov qword [rsi + 0x20], rdi
movzx eax, word [rdi + 0x3c]
mov word [rsi + 0x28], ax
mov r8, qword [rdi + 0x28]
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rbx
call fcn.1402a7f80
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x70], xmm0
movzx eax, word [rsi + 0x28]
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
sub rcx, rdi
shr rcx, 6
cmp rcx, rax
jb 0x14012d4a5
shl eax, 6
add rax, rdi
mov qword [rsp + 0x70], rax
jmp 0x14012d4a7
xor edi, edi
mov rcx, qword [rsi + 0x30]
mov rax, rcx
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d4bf
call fcn.140169ab0
mov rax, rdi
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d4d6
mov rcx, rdi
call fcn.140169950
mov qword [rsi + 0x30], rdi
test rdi, rdi
je 0x14012d3c1
mov rdi, qword [rsp + 0x70]
sub rdi, qword [rbx]
mov rax, rdi
shr rax, 0x20
jne 0x14012dbcd
mov rax, qword [rsi + 0x20]
movzx ecx, word [rax + 0x38]
mov word [rsi + 0x38], cx
mov r8, qword [rax + 0x20]
lea r14, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
call fcn.1402a7f80
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x70], xmm0
movzx ecx, word [rsi + 0x38]
mov r14, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
sub rax, r14
shr rax, 3
movabs rdx, 0x2492492492492493
mul rdx
cmp rdx, rcx
jb 0x14012d556
imul rax, rcx, 0x38
add rax, r14
mov qword [rsp + 0x70], rax
jmp 0x14012d559
xor r14d, r14d
mov rcx, qword [rsi + 0x40]
mov rax, rcx
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d571
call fcn.140169ab0
mov rax, r14
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d588
mov rcx, r14
call fcn.140169950
mov qword [rsi + 0x40], r14
test r14, r14
je 0x14012d3c1
mov r13, qword [rsp + 0x70]
sub r13, qword [rbx]
mov rax, r13
shr rax, 0x20
jne 0x14012dbd5
mov rax, qword [rsi + 0x20]
movzx r14d, word [rax + 0x3e]
cmp r14w, word [rsi + 0x28]
jae 0x14012d3c1
mov rcx, qword [rsi + 0x30]
mov r15d, r14d
shl r15d, 6
add r15, rcx
mov rax, rcx
and rax, r12
cmp rax, qword [0x140370a48]
je 0x14012d5ef
mov rax, r15
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d5fd
jmp 0x14012dc2a
mov r8d, 0x40
mov rdx, r15
call fcn.140169e60
mov r15, qword [r15 + 0x20]
test r15, r15
je 0x14012d695
mov rcx, qword [rsi + 0x30]
shl r14d, 6
add r14, rcx
mov rax, rcx
and rax, r12
cmp rax, qword [0x140370a48]
je 0x14012d638
mov rax, r14
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d646
jmp 0x14012dc2d
mov r8d, 0x40
mov rdx, r14
call fcn.140169e60
mov r8, qword [r14 + 0x18]
lea r14, [rsp + 0x40]
mov rcx, r14
mov rdx, rbx
call fcn.1402a7f80
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
cmp rcx, r15
jb 0x14012d3c1
add r15, rax
mov qword [rsp + 0x70], r15
test rax, rax
je 0x14012d3c1
cmp byte [r15 - 1], 0
jne 0x14012d3c1
cmp edi, r13d
cmova r13d, edi
mov r14, qword [rsi + 0x40]
mov rdi, r14
jmp 0x14012d759
mov r8d, 0x38
mov rcx, r14
mov rdx, rbx
call fcn.140169e60
mov r14, rbx
and r14, r12
cmp r14, qword [0x140370a48]
jne 0x14012d6d0
mov rcx, rbx
call fcn.140169950
cmp r14, qword [0x140370a48]
jne 0x14012d6e1
mov rcx, rbx
call fcn.140169ab0
cmp r14, qword [0x140370a48]
jne 0x14012d6f2
mov rcx, rbx
call fcn.140169ab0
cmp rdi, rbx
je 0x14012d7a0
mov rcx, qword [rdi + 8]
mov rax, rcx
shr rax, 0x20
jne 0x14012d3c1
mov rdx, qword [rdi + 0x20]
xor ebx, ebx
mov rax, rcx
add rax, rdx
jb 0x14012d3c3
mov r8, rax
shr r8, 0x20
jne 0x14012d3c3
mov r8, qword [rsi + 0x10]
sub r8, qword [rsi + 8]
xor ebx, ebx
sub r8, rcx
jb 0x14012d3c3
cmp r8, rdx
jb 0x14012d3c3
cmp r13d, eax
cmova eax, r13d
add rdi, 0x38
mov r14, qword [rsi + 0x40]
mov r13d, eax
movzx ebx, word [rsi + 0x38]
mov r15, r14
and r15, r12
cmp r15, qword [0x140370a48]
jne 0x14012d774
mov rcx, r14
call fcn.140169950
imul rbx, rbx, 0x38
add rbx, r14
cmp r15, qword [0x140370a48]
je 0x14012d6a8
mov rax, rbx
and rax, r12
cmp rax, qword [0x140370a48]
jne 0x14012d6b9
jmp 0x14012dc24
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
movzx edi, word [rsi + 0x28]
test rdi, rdi
je 0x14012d7de
mov ebx, edi
shl ebx, 4
mov rcx, rbx
call fcn.1401ae97c
add rbx, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
mov rbp, rdi
jmp 0x14012d7e0
xor ebp, ebp
mov rbx, qword [rsi + 0x48]
mov rax, qword [rsi + 0x58]
sub rax, rbx
sar rax, 2
cmp rax, rbp
jae 0x14012d847
mov r14, qword [rsi + 0x50]
sub r14, rbx
lea rcx, [rbp*4]
call fcn.1401ae97c
mov r15, rax
add rax, r14
mov qword [rsp + 0x28], rax
lea rbp, [r15 + rbp*4]
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.1401b1b20
mov qword [rsi + 0x48], r15
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x50], rax
mov qword [rsi + 0x58], rbp
test rbx, rbx
je 0x14012d847
mov rcx, rbx
call fcn.1401ae9b8
movzx edi, word [rsi + 0x28]
test di, di
je 0x14012d85e
lea rax, [rsi + 0x48]
mov qword [rsp + 0x38], rax
xor ebx, ebx
xor edi, edi
jmp 0x14012da40
lea rcx, [rsi + 0x60]
lea rdx, [rsp + 0x40]
call fcn.1402d1c20
test eax, eax
jne 0x14012d87f
mov eax, r13d
add rax, qword [rsi + 8]
mov qword [rsi + 0x10], rax
mov bl, 1
jmp 0x14012d881
xor ebx, ebx
lea rcx, [rsp + 0x88]
lea rax, [rsp + 0x40]
mov qword [rcx], rax
call fcn.1401e8f00
jmp 0x14012d3c3
xor eax, eax
jmp 0x14012d90d
mov rcx, qword [rsp + 0x40]
sub r14, rcx
sar r14, 4
lea rdx, [r14 + 1]
movabs r8, 0xfffffffffffffff
cmp rdx, r8
ja 0x14012dc1a
sub rax, rcx
mov rdi, rax
sar rdi, 3
cmp rdi, rdx
cmovbe rdi, rdx
movabs rcx, 0x7ffffffffffffff0
cmp rax, rcx
cmovae rdi, r8
test rdi, rdi
mov dword [rsp + 0x24], r10d
mov qword [rsp + 0x30], r9
je 0x14012d89b
cmp rdi, r8
ja 0x14012dc0b
mov rcx, rdi
shl rcx, 4
call fcn.1401ae97c
mov r9, qword [rsp + 0x30]
shl r14, 4
add r14, rax
je 0x14012dbde
shl rdi, 4
add rax, rdi
mov dword [r14], ebp
mov dword [r14 + 4], r9d
mov dword [r14 + 8], r15d
mov dword [r14 + 0xc], r9d
lea rdi, [r14 + 0x10]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
sub r8, rdx
sub r14, r8
mov rcx, r14
mov r15, rax
call fcn.1401b1b20
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r15
test rcx, rcx
je 0x14012d96d
call fcn.1401ae9b8
mov r10d, dword [rsp + 0x24]
mov r9, qword [rsp + 0x30]
jmp 0x14012da10
test r15, r15
je 0x14012dbde
mov dword [r15], r10d
add r15, 4
mov rdi, r15
mov qword [rsi + 0x50], rdi
test r10b, 1
je 0x14012d87f
mov r9, qword [r14 + rbx + 0x20]
mov rax, r9
shr rax, 0x20
jne 0x14012dbf1
mov rbp, qword [r14 + rbx + 0x18]
mov rax, rbp
shr rax, 0x20
jne 0x14012dbfa
mov r15, qword [r14 + rbx + 0x10]
mov rax, r15
shr rax, 0x20
jne 0x14012dc02
test r10b, 2
mov rdi, qword [rsp + 0x28]
je 0x14012da1a
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
cmp r14, rax
jae 0x14012d89f
test r14, r14
je 0x14012dbde
mov dword [r14], ebp
mov dword [r14 + 4], r9d
mov dword [r14 + 8], r15d
mov dword [r14 + 0xc], r9d
add r14, 0x10
mov rdi, r14
mov qword [rsp + 0x48], rdi
mov rdi, qword [rsp + 0x28]
add ebp, r9d
cmp r13d, ebp
cmova ebp, r13d
test r10b, 4
cmovne r13d, ebp
inc rdi
movzx eax, word [rsi + 0x28]
add rbx, 0x40
cmp rdi, rax
jae 0x14012d85e
mov r14, qword [rsi + 0x30]
lea rdx, [rbx + r14]
mov rax, r14
and rax, r12
cmp rax, qword [0x140370a48]
je 0x14012da68
and rdx, r12
cmp rdx, qword [0x140370a48]
jne 0x14012da76
jmp 0x14012dc27
mov r8d, 0x40
mov rcx, r14
call fcn.140169e60
mov rax, qword [r14 + rbx + 0x10]
xor r10d, r10d
mov rcx, rax
sub rcx, 0x7fff0000
mov qword [rsp + 0x28], rdi
ja 0x14012daf9
mov rdx, qword [r14 + rbx + 0x20]
neg rcx
cmp rcx, rdx
jb 0x14012daf9
mov r8, qword [rsi + 0x10]
sub r8, qword [rsi + 8]
mov ecx, dword [r14 + rbx + 4]
cmp ecx, 8
mov r9d, 0x7fff0000
cmove r8, r9
sub r8, qword [r14 + rbx + 0x18]
jb 0x14012daf9
cmp r8, rdx
jb 0x14012daf9
test rdx, rdx
sete dl
test rax, rax
sete al
or al, dl
mov r10d, 0xf
mov eax, 1
cmovne r10d, eax
jne 0x14012daf9
cmp ecx, 8
jne 0x14012daf9
xor eax, eax
test byte [r14 + rbx + 9], 4
sete al
lea r10d, [rax*2 + 1]
mov r15, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
cmp r15, rax
jb 0x14012d97c
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx]
sub r15, rdx
sar r15, 2
lea rcx, [r15 + 1]
movabs r8, 0x3fffffffffffffff
cmp rcx, r8
ja 0x14012dc10
sub rax, rdx
movabs rdx, 0x7ffffffffffffff0
add rdx, 0xc
mov rdi, rax
sar rdi, 1
cmp rdi, rcx
cmovbe rdi, rcx
cmp rax, rdx
cmovae rdi, r8
test rdi, rdi
je 0x14012dbc9
cmp rdi, r8
ja 0x14012dc0b
mov ebp, r10d
lea rcx, [rdi*4]
call fcn.1401ae97c
mov r10d, ebp
shl r15, 2
add r15, rax
je 0x14012dbde
lea rbp, [rax + rdi*4]
mov dword [rsp + 0x24], r10d
mov dword [r15], r10d
lea rdi, [r15 + 4]
mov rdx, qword [rsi + 0x48]
mov r8, qword [rsi + 0x50]
sub r8, rdx
sub r15, r8
mov rcx, r15
call fcn.1401b1b20
mov rcx, qword [rsi + 0x48]
mov qword [rsi + 0x48], r15
mov qword [rsi + 0x50], rdi
mov qword [rsi + 0x58], rbp
test rcx, rcx
je 0x14012dbbf
call fcn.1401ae9b8
mov r10d, dword [rsp + 0x24]
jmp 0x14012d98f
xor eax, eax
jmp 0x14012db76
int3
int3
lea rcx, [0x1402f4f7c]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1401ec0b0
int3
int3
int3
call fcn.1401e8c80
mov rcx, qword [rsp + 0x38]
call fcn.1401e8ca0
lea rcx, [rsp + 0x40]
call fcn.1401e8ca0
int3
int3
int3
int3