Function at 0x1400e1970
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, 0x188
mov ebx, r8d
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call sym.__der::reader::slice::SliceReader_as_der::reader::Reader_::remaining_len::h2a3af9f1f70f88c1
cmp eax, ebx
jae 0x1400e1a05
mov edx, dword [rdi + 0x18]
lea rcx, [rsp + 0x30]
mov r8d, ebx
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x34]
cmp eax, 2
jne 0x1400e1b35
mov ebx, dword [rdi + 0x18]
mov rcx, rdi
call sym.__der::reader::slice::SliceReader_as_der::reader::Reader_::remaining_len::h2a3af9f1f70f88c1
lea rcx, [rsp + 0x30]
mov edx, ebx
mov r8d, eax
call sym.__der::length::Length_as_core::ops::arith::Add_::add::h071a91b68cfd8248
mov eax, dword [rsp + 0x30]
mov edx, dword [rsp + 0x34]
cmp eax, 2
jne 0x1400e1b92
mov r8d, dword [rdi + 0x18]
shl r14, 0x20
or r14, 3
movd xmm0, edx
mov eax, 1
mov rcx, r14
mov r14d, r8d
jmp 0x1400e1bba
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0x88], ebx
mov dword [rsp + 0x8c], 0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call sym.__der::header::Header_as_der::decode::Decode_::decode::hcc743dfcc7e2d724
mov r9d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x34]
cmp r9d, 2
jne 0x1400e1b5c
mov rdx, rdi
shr rdx, 0x20
lea rcx, [rsp + 0x30]
mov r8d, 1
call sym.der::tag::Tag::assert_eq::h80c324c2be4cca8c
mov r9d, dword [rsp + 0x30]
cmp r9d, 2
jne 0x1400e1be6
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
mov r8, rdi
call sym.der::asn1::integer::__impl_der::decode::DecodeValue_for_u8_::decode_value::h733322d56009e8e8
mov r9d, dword [rsp + 0xa0]
movzx edi, byte [rsp + 0xa4]
cmp r9d, 2
jne 0x1400e1c34
cmp dil, 2
jae 0x1400e1d79
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call sym.der::reader::Reader::decode::h298eaf51bd7e3983
movzx ecx, byte [rsp + 0x70]
mov eax, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rax
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov r13, qword [rsp + 0x60]
cmp cl, 0x18
jne 0x1400e1d9b
mov ecx, ebx
shr ecx, 8
mov dword [rsp + 0x90], ecx
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
mov r8, rbx
shr r8, 0x20
mov r9, rax
shr r9, 0x20
mov rdi, rax
mov eax, dword [rsp + 0x90]
jmp 0x1400e1d04
mov rcx, qword [rsp + 0x38]
movq xmm0, qword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xa0], xmm1
movups xmm1, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0xb0], xmm1
jmp 0x1400e1bba
movdqu xmm0, xmmword [rsp + 0x3c]
movups xmm1, xmmword [rsp + 0x4c]
movups xmm2, xmmword [rsp + 0x58]
movups xmmword [rsp + 0xc8], xmm2
movups xmmword [rsp + 0xbc], xmm1
movdqu xmmword [rsp + 0xac], xmm0
mov qword [rsp + 0xa4], rdi
jmp 0x1400e1c34
mov rcx, qword [rsp + 0x38]
movq xmm0, qword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0xa0], xmm1
movups xmm1, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0xb0], xmm1
mov r14d, edx
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
mov dword [rsi + 4], r14d
mov qword [rsi + 8], rcx
movq qword [rsi + 0x10], xmm0
mov dword [rsi], eax
jmp 0x1400e1d5e
movzx eax, byte [rsp + 0x36]
mov byte [rsp + 0xa6], al
movzx edi, word [rsp + 0x34]
mov word [rsp + 0xa4], di
movups xmm0, xmmword [rsp + 0x37]
movups xmmword [rsp + 0xa7], xmm0
movups xmm0, xmmword [rsp + 0x47]
movups xmmword [rsp + 0xb7], xmm0
movdqu xmm0, xmmword [rsp + 0x57]
movdqu xmmword [rsp + 0xc7], xmm0
movzx eax, byte [rsp + 0x67]
mov byte [rsp + 0xd7], al
movzx eax, byte [rsp + 0xa8]
mov qword [rsp + 0x90], rax
movzx edx, byte [rsp + 0xa9]
movzx ecx, byte [rsp + 0xaa]
movzx eax, byte [rsp + 0xab]
mov dword [rsp + 0x98], eax
mov r8d, dword [rsp + 0xac]
mov rbp, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
movzx r12d, byte [rsp + 0xc8]
movzx r14d, byte [rsp + 0xc9]
mov r10d, dword [rsp + 0xca]
movzx r15d, word [rsp + 0xce]
shl r15, 0x20
or r15, r10
mov r13, qword [rsp + 0xd0]
movzx r10d, byte [rsp + 0xa7]
movzx r11d, word [rsp + 0xa5]
mov r9d, r9d
shl r11, 0x28
shl r10, 0x38
or r10, r11
mov r11, rbp
movzx ebp, dil
shl rbp, 0x20
or rbp, r9
or rbp, r10
mov r9, rax
shr r9, 0x20
mov r10, rbx
mov rbx, qword [rsp + 0x90]
mov rdi, rax
mov eax, edx
mov edx, dword [rsp + 0x98]
shl r8, 0x20
movzx edx, dl
shl edx, 0x18
or rdx, r8
movzx ecx, cl
shl ecx, 0x10
or rcx, rdx
movzx eax, al
shl eax, 8
or rax, rcx
movzx ecx, bl
or rcx, rax
shl r9, 0x20
mov eax, edi
or rax, r9
mov qword [rsi], rbp
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r11
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], r10
mov byte [rsi + 0x28], r12b
mov byte [rsi + 0x29], r14b
mov dword [rsi + 0x2a], r15d
shr r15, 0x20
mov word [rsi + 0x2e], r15w
mov qword [rsi + 0x30], r13
mov byte [rsi + 0x60], 0x18
mov rax, rsi
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov al, 0x15
mov qword [rsp + 0x90], rax
mov al, 1
mov dword [rsp + 0x98], eax
xor r10d, r10d
mov cl, 1
mov dl, 1
xor r9d, r9d
jmp 0x1400e1cd8
mov byte [rsp + 0x2f], cl
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x90], r11
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x71]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xe3], eax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
call sym.__der::header::Header_as_der::decode::Decode_::decode::hcc743dfcc7e2d724
mov eax, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x34]
cmp eax, 2
jne 0x1400e1ebc
mov r13, rdx
shr rdx, 0x20
lea rcx, [rsp + 0x30]
mov r8d, 3
call sym.der::tag::Tag::assert_eq::h80c324c2be4cca8c
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400e1ef6
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
mov r8, r13
call sym.__der::byte_slice::ByteSlice_as_der::decode::DecodeValue_::decode_value::h3fa3b99aecddde98
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400e1f32
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x80]
mov r8b, 1
mov r9b, 1
call sym.der::reader::Reader::context_specific::h568cab9b658f388c
mov eax, dword [rsp + 0x30]
cmp rax, 2
jne 0x1400e1f97
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
test rax, rax
je 0x1400e1ffa
cmp byte [rsp + 0x58], 0
je 0x1400e2023
mov bl, 0x15
mov al, 2
xor ebp, ebp
xor r8d, r8d
xor edx, edx
xor ecx, ecx
jmp 0x1400e201e
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov ecx, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rcx
mov r13, qword [rsp + 0x60]
mov ebp, edx
jmp 0x1400e1f6c
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov ecx, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rcx
mov r13, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x34]
jmp 0x1400e1f6c
mov ebp, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov ecx, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rcx
mov r13, qword [rsp + 0x60]
mov eax, eax
shl rbp, 0x20
or rbp, rax
mov eax, ebx
shr eax, 8
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
mov r8, rbx
shr r8, 0x20
mov r9, rdi
shr r9, 0x20
jmp 0x1400e1d04
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov ecx, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rcx
mov r13, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x34]
mov r9, rdi
shr r9, 0x20
shl rbp, 0x20
or rbp, rax
mov eax, ebx
shr eax, 8
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
mov r8, rbx
shr r8, 0x20
jmp 0x1400e1d04
test dil, dil
je 0x1400e2028
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x1c], 1
mov ebp, dword [rax + 0x18]
shl rbp, 0x20
or rbp, 1
mov al, 0x15
mov dl, 1
mov cl, 1
mov bl, 0x15
jmp 0x1400e1d04
test dil, dil
je 0x1400e1fff
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
call sym.der::length::Length::saturating_sub::h1bb8ddeed61f8a1c
test eax, eax
je 0x1400e208c
lea r13, [rsp + 0x30]
lea rdi, [rsp + 0x80]
mov rcx, r13
mov rdx, rdi
call sym.der::reader::Reader::decode::h30157fc4892d1f63
mov eax, dword [rsp + 0x30]
cmp rax, 2
jne 0x1400e21c2
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
call sym.der::length::Length::saturating_sub::h1bb8ddeed61f8a1c
test eax, eax
jne 0x1400e205c
mov eax, dword [rsp + 0xe3]
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x181], eax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rbp
mov rax, rbx
mov byte [rsp + 0x148], bl
mov byte [rsp + 0x149], bh
shr rbx, 0x30
mov word [rsp + 0x14e], bx
shr rax, 0x10
mov dword [rsp + 0x14a], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x168], r12b
mov byte [rsp + 0x169], r14b
mov dword [rsp + 0x16a], r15d
shr r15, 0x20
mov word [rsp + 0x16e], r15w
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x178], rax
movzx eax, byte [rsp + 0x2f]
mov byte [rsp + 0x180], al
movdqu xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x120]
mov rcx, rsi
call sym.der::reader::Reader::finish::ha3987e1ceda11b7d
jmp 0x1400e1d62
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov edi, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x4c]
movzx r12d, byte [rsp + 0x58]
movzx r14d, byte [rsp + 0x59]
mov ecx, dword [rsp + 0x5a]
movzx r15d, word [rsp + 0x5e]
shl r15, 0x20
or r15, rcx
mov r13, qword [rsp + 0x60]
mov r10, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x34]
jmp 0x1400e1fd8