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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x170
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], 0
lea rcx, [rsp + 0x30]
call sym.__der::asn1::integer::bigint::UIntRef_as_der::encode::EncodeValue_::value_len::h046b56138642377c
cmp dword [rsp + 0x30], 2
jne 0x1400d51dc
mov edx, dword [rsp + 0x34]
lea rcx, [rsp + 0x80]
call sym.der::length::Length::for_tlv::hcec322f2fa2a28de
mov eax, dword [rsp + 0x80]
mov edi, dword [rsp + 0x84]
cmp eax, 2
je 0x1400d5227
jmp 0x1400d538e
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x80]
mov edi, dword [rsp + 0x84]
cmp eax, 2
jne 0x1400d538e
lea rcx, [rsp + 0xb8]
xor edx, edx
mov r8d, edi
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1400d533a
lea r15, [r14 + 0x18]
mov ebx, dword [rsp + 0xbc]
lea rcx, [rsp + 0x30]
mov rdx, r15
call sym.__der::asn1::integer::bigint::UIntRef_as_der::encode::EncodeValue_::value_len::h046b56138642377c
cmp dword [rsp + 0x30], 2
jne 0x1400d5343
mov edx, dword [rsp + 0x34]
lea rcx, [rsp + 0x80]
call sym.der::length::Length::for_tlv::hcec322f2fa2a28de
mov eax, dword [rsp + 0x80]
mov edi, dword [rsp + 0x84]
cmp eax, 2
jne 0x1400d538e
lea rcx, [rsp + 0xb8]
mov edx, ebx
mov r8d, edi
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1400d533a
mov edx, dword [rsp + 0xbc]
lea rcx, [rsp + 0x130]
call sym.der::length::Length::for_tlv::hcec322f2fa2a28de
mov eax, dword [rsp + 0x130]
mov edi, dword [rsp + 0x134]
cmp eax, 2
jne 0x1400d53ee
test edi, edi
je 0x1400d5491
lea rcx, [rsp + 0x68]
xor edx, edx
mov r8, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h0cb830444271e28e
mov rax, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
sub rax, r12
cmp rax, rdi
jae 0x1400d531f
lea rcx, [rsp + 0x68]
mov rdx, r12
mov r8, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h0cb830444271e28e
mov r12, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
lea rcx, [rbx + r12]
xor edx, edx
mov r8, rdi
call fcn.1402de3b8
add r12, rdi
jmp 0x1400d5499
mov edi, dword [rsp + 0xbc]
jmp 0x1400d53be
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x80]
mov edi, dword [rsp + 0x84]
cmp eax, 2
je 0x1400d5294
movups xmm0, xmmword [rsp + 0x88]
movups xmm1, xmmword [rsp + 0x98]
movups xmm2, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0xe0], xmm2
movups xmmword [rsp + 0xd0], xmm1
movups xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0x158], xmm2
movups xmmword [rsp + 0x148], xmm1
movups xmmword [rsp + 0x138], xmm0
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x24], rdx
movabs rdx, 0xffffffff00000000
and rdx, rcx
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x100], xmm0
mov ebx, 1
mov ecx, ecx
or rcx, rdx
mov rdx, qword [rsp + 0x24]
mov dword [rsi], eax
mov dword [rsi + 4], edi
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rcx
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmm1, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 0x18], xmm0
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x1400d547c
mov r8d, 1
mov rcx, rbx
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x170
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ebx, 1
xor r12d, r12d
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x120], r12
mov byte [rsp + 0x12c], 0
mov dword [rsp + 0x128], 0
lea rcx, [rsp + 0x30]
mov rdx, r14
call sym.__der::asn1::integer::bigint::UIntRef_as_der::encode::EncodeValue_::value_len::h046b56138642377c
cmp dword [rsp + 0x30], 2
jne 0x1400d54e8
mov edx, dword [rsp + 0x34]
lea rcx, [rsp + 0x80]
call sym.der::length::Length::for_tlv::hcec322f2fa2a28de
jmp 0x1400d551c
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
cmp eax, 2
jne 0x1400d56b9
lea rcx, [rsp + 0xb8]
xor edx, edx
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1400d56eb
mov ebp, dword [rsp + 0xbc]
lea rcx, [rsp + 0x80]
mov rdx, r15
call sym.__T_as_der::encode::Encode_::encoded_len::h581f09b7c1cddeef
mov eax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
cmp eax, 2
jne 0x1400d56b9
lea rcx, [rsp + 0xb8]
mov edx, ebp
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1400d56eb
mov eax, dword [rsp + 0xbc]
movabs rcx, 0x900000000
or rcx, rax
mov qword [rsp + 0x168], rcx
lea r9, sym.core::ptr::drop_in_place_der::writer::slice::SliceWriter_::hf2da8214056d5a41
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0x168]
lea r8, [rsp + 0x118]
call sym.__der::header::Header_as_der::encode::Encode_::encode::hab16d6365434429f
mov eax, dword [rsp + 0x130]
cmp eax, 2
jne 0x1400d576e
lea r9, sym.core::ptr::drop_in_place_der::writer::slice::SliceWriter_::hf2da8214056d5a41
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x118]
mov rdx, r14
call sym.__T_as_der::encode::Encode_::encode::h4eda93afd7ddbeb8
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400d579f
lea r9, sym.core::ptr::drop_in_place_der::writer::slice::SliceWriter_::hf2da8214056d5a41
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x118]
mov rdx, r15
call sym.__T_as_der::encode::Encode_::encode::h4eda93afd7ddbeb8
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400d579f
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x118]
movaps xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call sym.der::writer::slice::SliceWriter::finish::hfd134f074236eede
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400d57c9
mov rcx, qword [rsp + 0x40]
cmp rcx, rdi
jne 0x1400d57fb
cmp edi, 0x10000000
jae 0x1400d5826
mov rax, qword [rsp + 0x78]
mov qword [rsi + 0x18], rax
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsi + 8], xmm0
mov dword [rsi], 2
jmp 0x1400d547c
movups xmm0, xmmword [rsp + 0x88]
movups xmm1, xmmword [rsp + 0x98]
movups xmm2, xmmword [rsp + 0xa8]
movups xmmword [rsp + 0xe0], xmm2
movups xmmword [rsp + 0xd0], xmm1
movups xmmword [rsp + 0xc0], xmm0
jmp 0x1400d56f3
mov r8d, dword [rsp + 0xbc]
movzx ecx, byte [rsp + 0xc2]
shl ecx, 0x10
movzx r9d, word [rsp + 0xc0]
or r9d, ecx
mov edx, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0xc8]
movups xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x100], xmm0
movzx r10d, byte [rsp + 0xc3]
shl r10, 0x38
shl r9, 0x20
mov edi, r8d
or rdi, r9
or rdi, r10
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], edx
movabs rdx, 0xffffffff00000000
and rdx, rcx
jmp 0x1400d5435
mov rdi, qword [rsp + 0x134]
mov edx, dword [rsp + 0x13c]
mov rcx, qword [rsp + 0x140]
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x158]
jmp 0x1400d57bf
mov rdi, qword [rsp + 0x34]
mov edx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1400d5753
mov edi, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x24], rdx
jmp 0x1400d575c
cmp edi, 0xfffffff
ja 0x1400d5834
mov rax, rcx
shr rax, 0x20
jne 0x1400d583d
cmp ecx, 0x10000000
jae 0x1400d583d
mov byte [rsp + 0x24], 3
mov dword [rsp + 0x28], edi
xor edx, edx
xor eax, eax
jmp 0x1400d5435
mov byte [rsp + 0x24], 0xa
xor eax, eax
xor ecx, ecx
jmp 0x1400d543a
mov byte [rsp + 0x24], 0xa
xor edx, edx
jmp 0x1400d5846
mov byte [rsp + 0x24], 0xa
xor edx, edx
mov edi, ecx
xor ecx, ecx
xor eax, eax
jmp 0x1400d5435