Function at 0x140004ac0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
mov ebp, r9d
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
call sym.rand::os::OsRng::new::hc0e67c91bb7c1b67
test rax, rax
je 0x140004af9
mov qword [rsi + 8], rax
mov qword [rsi], 0
jmp 0x140004edf
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x50]
mov r8d, 0x10
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17hf213c9646f
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [0x14012a270]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [0x14012a280]
movaps xmmword [rsp + 0xe0], xmm0
mov byte [rsp + 0x100], 0
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x90]
mov r8, rbx
mov r9, rdi
call sym.crypto::hmac::Hmac_D_::new::h4d655fa6210dc22a
mov rdi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x88]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x20
lea rcx, [rsp + 0x138]
mov rdx, rdi
mov r8, rbx
mov r9d, ebp
call sym.crypto::pbkdf2::pbkdf2::h0a1924021f265025
mov rax, qword [0x14016e368]
movzx eax, byte [rax]
mov ecx, 0xb
mov edx, 1
call sym.__rust_alloc
test rax, rax
je 0x140004ef6
movabs rcx, 0x3266646b62707224
mov qword [rax], rcx
mov dword [rax + 7], 0x24302432
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0xb
mov qword [rsp + 0x48], 0xb
bswap ebp
mov dword [rsp + 0x74], ebp
mov r13, qword [section..data]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x74]
lea r9, [rsp + 0x90]
mov r8d, 4
call sym.___u8__as_rustc_serialize::base64::ToBase64_::to_base64::h56f16d6d4ea9d81b
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
sub rax, r15
cmp rax, r12
jae 0x140004c84
lea rcx, [rsp + 0x38]
mov rdx, r15
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h337fd08d0b02d6ec
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
add rcx, r15
mov rdx, r14
mov r8, r12
call sym.memcpy
add r15, r12
mov qword [rsp + 0x48], r15
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140004cbc
mov r8d, 1
mov rcx, r14
call sym.__rust_dealloc
mov r15, qword [rsp + 0x48]
cmp r15, qword [rsp + 0x40]
jne 0x140004cd5
lea rcx, [rsp + 0x38]
mov rdx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h1e31987c399e7501
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov byte [rax + r15], 0x24
inc qword [rsp + 0x48]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea r9, [rsp + 0x90]
mov rdx, rdi
mov r8, rbx
call sym.___u8__as_rustc_serialize::base64::ToBase64_::to_base64::h56f16d6d4ea9d81b
mov rbx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
sub rax, r14
cmp rax, r15
jae 0x140004d46
lea rcx, [rsp + 0x38]
mov rdx, r14
mov r8, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h337fd08d0b02d6ec
mov r14, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
add rcx, r14
mov rdx, rbx
mov r8, r15
call sym.memcpy
add r14, r15
mov qword [rsp + 0x48], r14
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140004d7e
mov r8d, 1
mov rcx, rbx
call sym.__rust_dealloc
mov r14, qword [rsp + 0x48]
cmp r14, qword [rsp + 0x40]
jne 0x140004d97
lea rcx, [rsp + 0x38]
mov rdx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h1e31987c399e7501
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov byte [rax + r14], 0x24
inc qword [rsp + 0x48]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xa0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x90], xmm0
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x110]
lea r9, [rsp + 0x90]
mov r8d, 0x20
call sym.___u8__as_rustc_serialize::base64::ToBase64_::to_base64::h56f16d6d4ea9d81b
mov rbx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
sub rax, r14
cmp rax, r15
jae 0x140004e10
lea rcx, [rsp + 0x38]
mov rdx, r14
mov r8, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h337fd08d0b02d6ec
mov r14, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
add rcx, r14
mov rdx, rbx
mov r8, r15
call sym.memcpy
add r14, r15
mov qword [rsp + 0x48], r14
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x140004e48
mov r8d, 1
mov rcx, rbx
call sym.__rust_dealloc
mov r14, qword [rsp + 0x48]
cmp r14, qword [rsp + 0x40]
jne 0x140004e61
lea rcx, [rsp + 0x38]
mov rdx, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h1e31987c399e7501
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov byte [rax + r14], 0x24
mov rax, qword [rsp + 0x48]
inc rax
mov qword [rsp + 0x48], rax
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsi], xmm0
mov rdx, qword [rsp + 0x140]
test rdx, rdx
je 0x140004ea4
mov rcx, qword [rsp + 0x138]
mov r8d, 1
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x158]
test rdx, rdx
je 0x140004ec4
mov rcx, qword [rsp + 0x150]
mov r8d, 1
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x140004edf
mov r8d, 1
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 1
mov edx, 0xb
call dbg.handle_alloc_error
ud2