Function at 0x1400620a0
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov qword [rsp + 0x78], r9
mov ebp, r8d
mov qword [rsp + 0x50], rdx
mov r12d, ecx
mov rax, qword [0x14020b038]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov ecx, pe_nt_image_headers64
call fcn.1401119e0
mov rsi, rax
mov rcx, rax
xor edx, edx
call fcn.140088380
mov eax, ebp
mov rcx, rax
shl rcx, 4
mov qword [rsp + 0x38], rcx
add rcx, 8
mov qword [rsp + 0x28], rcx
test ebp, ebp
jne 0x140062310
lea rax, [rsi + 0x58]
mov qword [rsp + 0x48], rax
xor r13d, r13d
xor r15d, r15d
xor eax, eax
mov qword [rsp + 0x30], rax
mov edi, r12d
mov qword [rsp + 0x40], rsi
mov rcx, rsi
call fcn.1400881f0
mov r12, rax
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x70], rdi
lea rdx, [rsi + rdi]
add rdx, rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0xc8]
mov qword [rbx], rax
lea rcx, [rsp + 0xc0]
mov qword [rcx], rax
mov qword [rsp + 0x20], r13
mov r8, rdx
mov r9, rbx
call fcn.14005e6d0
mov rbx, qword [rbx]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], 0
test r13, r13
jne 0x140062556
lea r14, [rbx + r12]
mov dword [r14], ebp
mov rax, rsi
shr rax, 0x20
jne 0x140062637
mov dword [r14 + 4], esi
test ebp, ebp
jne 0x1400623de
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
lea r12, [r14 + rsi]
xor ebp, ebp
mov r15, qword [rsp + 0xa0]
test r15, r15
jne 0x1400626b1
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], 0
test rcx, rcx
jne 0x1400626e4
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jne 0x140062306
test ebp, ebp
jne 0x1400626fa
mov ecx, 0x88
call fcn.1401119e0
mov rbx, rax
lea rdx, [0x1401e567b]
mov rcx, rax
call fcn.1400959d0
lea rax, fcn.140062ae0
mov qword [rbx], rax
mov r15, qword [rsp + 0x40]
mov qword [rbx + 0x10], r15
xorps xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
xor eax, eax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rdi
mov word [rbx + 0x38], 0x100
mov byte [rbx + 0x3a], 1
mov qword [rbx + 0x40], r14
mov rcx, qword [rsp + 0x28]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], r12
mov rcx, qword [rsp + 0x70]
mov qword [rbx + 0x58], rcx
movups xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
movups xmm0, xmmword [0x1401ed760]
movups xmmword [rbx + 0x78], xmm0
mov eax, dword [0x14021c320]
mov ecx, dword [0x14021ad00]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400625de
lock inc dword [0x14021c314]
lea rdx, [rsp + 0x80]
mov qword [rdx], rbx
mov rcx, r15
call fcn.1400887e0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov qword [rax], r15
test rcx, rcx
jne 0x140062728
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140113000
mov eax, ebp
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140111a1c
jmp 0x14006220e
mov rdi, rsi
shl rax, 2
lea rbx, [rax + rax*2]
mov rcx, rbx
call fcn.1401119e0
mov rcx, rax
mov qword [rsp + 0x30], rax
lea r15, [rax + rbx]
xor eax, eax
mov rcx, qword [rsp + 0x30]
add rcx, rax
je 0x140062737
mov dword [rcx + 8], 0
mov qword [rcx], 0
add rax, 0xc
cmp rbx, rax
jne 0x140062331
mov rbx, qword [rsp + 0x30]
add rbx, 8
xor esi, esi
xor r14d, r14d
xor r13d, r13d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + rsi]
lea rdx, [rbx - 8]
lea r8, [rbx - 4]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb8]
mov r9, rbx
call qword [case.0x140173f30.0]
mov eax, dword [rbx - 8]
mov ecx, dword [rbx - 4]
add qword [rsp + 0x28], rax
add r14, rcx
mov eax, dword [rbx]
add r13, rax
add rsi, 0x10
add rbx, 0xc
cmp qword [rsp + 0x38], rsi
jne 0x140062367
mov rsi, rdi
lea rax, [rdi + 0x58]
mov qword [rsp + 0x48], rax
mov rax, qword [rdi + 0x60]
sub rax, qword [rdi + 0x58]
sar rax, 4
cmp r14, rax
jbe 0x140062121
mov rcx, rsi
mov rdx, r14
call fcn.1400884d0
jmp 0x140062121
mov rax, qword [rsp + 0x38]
lea r13, [rax + r14]
add r13, 8
mov r8, qword [rsp + 0x30]
sub r15, r8
movabs rcx, 0x2aaaaaaaaaaaaaab
mov rax, r15
imul rcx
mov r15, rdx
mov rax, rdx
shr rax, 0x3f
sar r15, 1
add r15, rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x58], rax
lea rax, [r12 + rbx]
add rax, 0x14
mov qword [rsp + 0x68], rax
lea rbp, [r8 + 8]
xor edi, edi
xor r12d, r12d
xor esi, esi
sub r15, 1
jb 0x140062763
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + rdi]
mov rax, qword [rbx]
mov rax, qword [rax]
mov rcx, rbx
call qword [case.0x140173f30.0]
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rdi - 0xc], eax
mov eax, dword [rbp - 8]
mov dword [rcx + rdi - 8], eax
mov eax, dword [rbp - 4]
mov dword [rcx + rdi - 4], eax
mov eax, dword [rbp]
mov dword [rcx + rdi], eax
cmp byte [0x14021c310], 0
jne 0x140062650
mov rax, r12
shl rax, 4
mov rcx, qword [rsp + 0x60]
add rax, rcx
cmp rcx, qword [rsp + 0x58]
mov r9d, 0
cmovne r9, rax
mov r8, rsi
shl r8, 4
mov rax, qword [rsp + 0x48]
add r8, qword [rax]
mov rax, qword [rbx]
mov rax, qword [rax + 0xc0]
mov rcx, rbx
mov rdx, r13
call qword [case.0x140173f30.0]
test al, al
je 0x140062650
mov eax, dword [rbp - 8]
mov ecx, dword [rbp - 4]
add r13, rax
add rsi, rcx
mov eax, dword [rbp]
add r12, rax
add rdi, 0x10
add rbp, 0xc
cmp qword [rsp + 0x38], rdi
jne 0x140062445
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa0]
lea rdx, [rsp + 0x88]
mov qword [rdx], rax
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rdx + 8], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
call qword [case.0x140173f30.0]
mov rsi, qword [rsp + 0x28]
jmp 0x1400621b8
mov rax, r13
shr rax, 0x3c
jne 0x14006278f
shl r13, 4
mov rcx, r13
call fcn.1401119e0
mov r14, rax
lea rsi, [rax + r13]
xor edi, edi
mov rcx, r14
add rcx, rdi
je 0x140062737
call fcn.140086630
add rdi, 0x10
cmp r13, rdi
jne 0x140062578
mov rdi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
cmp r13, rdi
jne 0x140062794
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rsi
test rdi, rdi
mov rsi, qword [rsp + 0x28]
je 0x140062198
mov rcx, rdi
call fcn.140111a1c
jmp 0x140062198
lea rcx, [0x14021c320]
call fcn.140111b40
cmp dword [0x14021c320], 0xffffffff
jne 0x1400622b2
lea rax, [0x1401e1e80]
mov qword [0x14021c318], rax
lea rsi, [0x14021c318]
call fcn.140082e80
lea r8, str.MojoMessages
mov rcx, rax
mov rdx, rsi
xor r9d, r9d
call fcn.1400cef50
lea rcx, [0x14021c320]
call fcn.140111bd8
jmp 0x1400622b2
mov ebp, 0xb
xor edi, edi
xor r14d, r14d
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x1400621d2
mov r15, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
cmp r15, rsi
je 0x140062698
xor edi, edi
mov ebp, 3
mov rcx, r15
call fcn.140086834
add r15, 0x10
mov r14d, 0
mov r12d, 0
mov eax, 0
mov qword [rsp + 0x28], rax
cmp r15, rsi
jne 0x14006266c
jmp 0x1400621d2
mov ebp, 3
xor edi, edi
xor r14d, r14d
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x1400621da
mov rbx, qword [rsp + 0xa8]
cmp rbx, r15
je 0x1400626d7
add rbx, 0xfffffffffffffff0
mov rcx, rbx
call fcn.140086800
cmp rbx, r15
jne 0x1400626be
mov r15, qword [rsp + 0xa0]
mov rcx, r15
call fcn.140111a1c
jmp 0x1400621e3
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x140173f30.0]
jmp 0x140062200
cmp qword [rsp + 0x40], 0
jne 0x1400627eb
test rdi, rdi
je 0x1400622e0
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
mov edx, 1
call qword [case.0x140173f30.0]
jmp 0x1400622e0
mov edx, 1
call fcn.140088a50
jmp 0x1400622e0
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.140152a0d
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, 0x5aa
call fcn.140152a0d
call fcn.14012ba40
add r14, 0xfffffffffffffff0
add r13, 0xfffffffffffffff0
mov rcx, r14
mov rdx, r13
call fcn.140086642
cmp r13, rdi
jne 0x140062794
mov rdi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xb0], rsi
cmp r13, rdi
je 0x1400625c3
add r13, 0xfffffffffffffff0
mov rcx, r13
call fcn.140086800
jmp 0x1400627d4
mov rcx, qword [rsp + 0x40]
mov edx, 1
call fcn.140088a50
jmp 0x140062706