Function at 0x140002180
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x14d8
call dbg.___chkstk_ms
sub rsp, rax
movdqa xmmword [rsp + 0x14c0], xmm11
movaps xmmword [rsp + 0x14b0], xmm10
movaps xmmword [rsp + 0x14a0], xmm9
movaps xmmword [rsp + 0x1490], xmm8
movaps xmmword [rsp + 0x1480], xmm7
movaps xmmword [rsp + 0x1470], xmm6
mov qword [rsp + 0xe8], r8
test rdx, rdx
je 0x1400036db
mov r14, r9
test r9, r9
je 0x1400036f5
cmp dword [rsp + 0x1540], 0
je 0x14000370f
mov rbx, qword [rsp + 0x1550]
test rbx, rbx
je 0x140003729
cmp rbx, 0x400
ja 0x140003743
mov rsi, rdx
mov rdi, rcx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x4a0], xmm0
movdqa xmmword [rsp + 0x490], xmm0
movdqa xmmword [rsp + 0x480], xmm0
movdqa xmmword [rsp + 0x470], xmm0
movdqa xmmword [rsp + 0x460], xmm0
movdqa xmmword [rsp + 0x450], xmm0
movdqa xmmword [rsp + 0x440], xmm0
movdqa xmmword [rsp + 0x430], xmm0
movdqa xmmword [rsp + 0x420], xmm0
mov qword [rsp + 0x4b0], 0
movups xmm6, xmmword [0x14013d258]
movups xmmword [rsp + 0x4b8], xmm6
movups xmm7, xmmword [0x14013d268]
movups xmmword [rsp + 0x4c8], xmm7
movups xmm8, xmmword [0x14013d278]
movups xmmword [rsp + 0x4d8], xmm8
movups xmm9, xmmword [0x14013d288]
movups xmmword [rsp + 0x4e8], xmm9
lea rcx, [rsp + 0x1f8]
lea rdx, [rsp + 0x420]
mov r8d, 0xd8
call sym.memcpy
mov byte [rsp + 0x2d0], 0
mov rax, qword [rsp + 0x1f8]
mov rdx, rsi
shr rdx, 0x3d
lea rcx, [rsi*8]
add rcx, qword [rsp + 0x200]
jae 0x14000230f
inc rdx
add rax, rdx
jae 0x14000231d
jmp 0x14000365f
test rdx, rdx
je 0x14000231d
add rax, rdx
jb 0x14000375d
add rbx, 0x1f
shr rbx, 5
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], rcx
lea rax, [rsp + 0x290]
mov qword [rsp + 0x420], rax
lea rcx, [rsp + 0x208]
lea r9, [rsp + 0x420]
mov rdx, rdi
mov r8, rsi
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
lea rcx, [rsp + 0x1f8]
call sym._ZN6crypto4sha29Engine5126finish17hc6badddaffdf06e5E.llvm.7797873040375068835
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
bswap rax
mov qword [rsp + 0x3e0], rax
bswap rcx
mov qword [rsp + 0x3e8], rcx
mov rax, qword [rsp + 0x2a0]
bswap rax
mov qword [rsp + 0x3f0], rax
mov rax, qword [rsp + 0x2a8]
bswap rax
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x2b0]
bswap rax
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0x2b8]
bswap rax
mov qword [rsp + 0x408], rax
mov rax, qword [rsp + 0x2c0]
bswap rax
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x2c8]
bswap rax
mov qword [rsp + 0x418], rax
cmp dword [rsp + 0x1540], 1
mov qword [rsp + 0xb8], rbx
jbe 0x140003458
lea rax, [rbx + rbx]
lea rcx, [rbx + rbx*2]
lea rdx, [rbx*4]
lea r8, [rbx + rbx*4]
lea r9, [rax + rax*2]
mov qword [rsp + 0x3a0], r9
lea r9, [rbx*8]
mov r10, r9
sub r10, rbx
mov qword [rsp + 0x390], r10
lea r10, [rbx + rbx*8]
mov r11, rbx
shl r11, 4
mov rsi, r11
sub rsi, rax
mov qword [rsp + 0x378], rsi
lea rsi, [rcx*8]
sub rsi, rbx
mov qword [rsp + 0x370], rsi
mov rsi, rbx
shl rsi, 5
mov rdi, rsi
sub rdi, rax
mov qword [rsp + 0x360], rdi
sub rsi, rbx
mov qword [rsp + 0x368], rsi
mov rsi, r14
shr rsi, 0x3d
mov qword [rsp + 0x3d0], rsi
xorps xmm10, xmm10
lea rsi, [rax + rax*4]
mov qword [rsp + 0x358], rsi
lea rsi, [rbx + r8*2]
mov qword [rsp + 0x350], rsi
lea rsi, [rdx + rdx*2]
mov qword [rsp + 0x348], rsi
mov qword [rsp + 0x3b8], rcx
lea rcx, [rbx + rcx*4]
mov qword [rsp + 0x340], rcx
lea rcx, [r8 + r8*2]
mov qword [rsp + 0x338], rcx
mov qword [rsp + 0x380], r11
lea rcx, [rbx + r11]
mov qword [rsp + 0x330], rcx
mov qword [rsp + 0x3c0], rax
lea rax, [rax + rax*8]
mov qword [rsp + 0x328], rax
lea rax, [rbx + r10*2]
mov qword [rsp + 0x320], rax
mov qword [rsp + 0x3b0], rdx
lea rax, [rdx + rdx*4]
mov qword [rsp + 0x318], rax
lea rax, [rbx + r8*4]
mov qword [rsp + 0x310], rax
lea rax, [rbx + rax]
mov qword [rsp + 0x308], rax
mov qword [rsp + 0x398], r9
lea rax, [r9 + r9*2]
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x3a8], r8
lea rcx, [r8 + r8*4]
mov rax, rcx
mov qword [rsp + 0x2f8], rcx
lea rax, [rcx + rbx]
mov qword [rsp + 0x2f0], rax
mov qword [rsp + 0x388], r10
lea rcx, [r10 + r10*2]
mov rax, rcx
mov qword [rsp + 0x2e8], rcx
lea rax, [rcx + rbx]
mov qword [rsp + 0x2e0], rax
lea rax, [rbx + rax]
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0x3d8], r14
lea rax, [r14*8]
mov qword [rsp + 0x3c8], rax
mov eax, 1
lea r14, [rsp + 0x420]
lea r15, [rsp + 0x3e0]
lea r12, [rsp + 0x70]
lea rdi, [rsp + 0x290]
lea rbx, [rsp + 0x208]
jmp 0x1400026d4
movzx eax, byte [rsp + 0x2e]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x2f]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x2a]
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x46], al
movzx eax, byte [rsp + 0x32]
mov byte [rsp + 0x47], al
movzx eax, byte [rsp + 0x33]
mov byte [rsp + 0x48], al
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x49], al
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x4a], al
movzx eax, byte [rsp + 0x36]
mov byte [rsp + 0x4b], al
movzx eax, byte [rsp + 0x37]
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4d], r13b
mov byte [rsp + 0x4e], r11b
mov byte [rsp + 0x4f], r10b
movzx eax, byte [rsp + 0x2d]
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x2b]
mov byte [rsp + 0x51], al
movzx eax, byte [rsp + 0x2c]
mov byte [rsp + 0x52], al
mov byte [rsp + 0x53], r9b
mov byte [rsp + 0x54], cl
movq qword [rsp + 0x55], xmm11
movzx eax, byte [rsp + 0x28]
mov byte [rsp + 0x5d], al
movzx eax, byte [rsp + 0x29]
mov byte [rsp + 0x5e], al
mov rcx, qword [rsp + 0xf0]
lea rax, [rcx + 1]
cmp rcx, rdx
je 0x140003679
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm10
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x40], xmm10
mov qword [rsp + 0xf0], rax
bswap eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x288], 0
movups xmmword [rdi + 0x30], xmm9
movups xmmword [rdi + 0x20], xmm8
movups xmmword [rdi + 0x10], xmm7
movups xmmword [rdi], xmm6
mov byte [rsp + 0x2d0], 0
mov rax, qword [rsp + 0x3d0]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x420], rdi
mov rcx, rbx
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x3d8]
mov r9, r14
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
cmp byte [rsp + 0x2d0], 0
jne 0x1400036c1
mov rcx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
add rax, 0x20
mov rsi, qword [rsp + 0xb8]
jae 0x1400027ac
inc rcx
je 0x14000365f
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x420], rdi
mov r8d, 4
mov rcx, rbx
lea rdx, [rsp + 0x6c]
mov r9, r14
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
lea rcx, [rsp + 0x1f8]
call sym._ZN6crypto4sha29Engine5126finish17hc6badddaffdf06e5E.llvm.7797873040375068835
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
bswap rax
mov qword [rsp + 0x70], rax
bswap rcx
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x2a0]
bswap rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2a8]
bswap rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2b0]
bswap rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x2b8]
bswap rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2c0]
bswap rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x2c8]
bswap rax
mov qword [rsp + 0xa8], rax
mov rcx, r15
mov rdx, r12
lea r8, [rsp + 0x40]
call sym.crypto::bcrypt_pbkdf::bcrypt_hash::he3a6e28063a1e85a
movdqa xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movups xmmword [rsp + 0xd8], xmm1
movdqu xmmword [rsp + 0xc8], xmm0
mov rcx, qword [rsp + 0xf0]
lea rax, [rcx - 1]
mov qword [rsp + 0x1f0], rax
lea rax, [rcx + rsi - 1]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x3c0]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x3b8]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x3b0]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x3a8]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x3a0]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1c0], rax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x3a], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x39], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x2e], al
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x2f], al
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x2a], al
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x46]
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x47]
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x48]
mov byte [rsp + 0x33], al
movzx eax, byte [rsp + 0x49]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x4a]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x4b]
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x37], al
movzx r13d, byte [rsp + 0x4d]
movzx r11d, byte [rsp + 0x4e]
movzx r10d, byte [rsp + 0x4f]
movq xmm11, qword [rsp + 0x55]
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x2d], al
mov rax, qword [rsp + 0x390]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x398]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x388]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x358]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x350]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x348]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x340]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x378]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x338]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x380]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x330]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x328]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x320]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x318]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x310]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x308]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x370]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x300]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x2f8]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x2f0]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x2e8]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x2d8]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x360]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x368]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0x100], rax
mov r8d, 1
mov rax, qword [rsp + 0x2e0]
lea rax, [rcx + rax - 1]
mov qword [rsp + 0xf8], rax
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x2b], al
movzx eax, byte [rsp + 0x52]
mov byte [rsp + 0x2c], al
movzx r9d, byte [rsp + 0x53]
movzx ecx, byte [rsp + 0x54]
movzx eax, byte [rsp + 0x5d]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x5e]
mov byte [rsp + 0x29], al
movzx eax, byte [rsp + 0x5f]
mov byte [rsp + 0x38], al
jmp 0x140002c39
mov r8d, dword [rsp + 0xc4]
inc r8d
cmp r8d, dword [rsp + 0x1540]
je 0x140002610
mov dword [rsp + 0xc4], r8d
mov byte [rsp + 0x3b], r9b
mov byte [rsp + 0x3c], cl
mov byte [rsp + 0x3d], r13b
mov byte [rsp + 0x3e], r11b
mov byte [rsp + 0x3f], r10b
mov qword [rsp + 0x288], 0
movups xmmword [rdi + 0x30], xmm9
movups xmmword [rdi + 0x20], xmm8
movups xmmword [rdi + 0x10], xmm7
movups xmmword [rdi], xmm6
mov byte [rsp + 0x2d0], 0
mov qword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], 0x100
mov qword [rsp + 0x420], rdi
mov r8d, 0x20
mov rcx, rbx
lea rdx, [rsp + 0xc8]
mov r9, r14
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
lea rcx, [rsp + 0x1f8]
call sym._ZN6crypto4sha29Engine5126finish17hc6badddaffdf06e5E.llvm.7797873040375068835
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
bswap rax
mov qword [rsp + 0x70], rax
bswap rcx
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x2a0]
bswap rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2a8]
bswap rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2b0]
bswap rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x2b8]
bswap rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2c0]
bswap rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x2c8]
bswap rax
mov qword [rsp + 0xa8], rax
mov rcx, r14
call sym.crypto::blowfish::Blowfish::init_state::hccd1658530832762
mov qword [rsp + 0x20], 0x40
mov r8d, 0x40
mov rcx, r14
mov rdx, r12
mov r9, r15
call sym.crypto::blowfish::Blowfish::salted_expand_key::hb534c96fe63e70b5
mov esi, 0x40
mov r8d, 0x40
mov rcx, r14
mov rdx, r12
call sym.crypto::blowfish::Blowfish::expand_key::hae66695b4f939e10
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call sym.crypto::blowfish::Blowfish::expand_key::hae66695b4f939e10
dec esi
jne 0x140002d80
mov r13d, 0x4f787963
mov r12d, 0x68726f6d
mov esi, 0x40
nop word [rax + rax]
mov rcx, r14
mov edx, r13d
mov r8d, r12d
call sym.crypto::blowfish::Blowfish::encrypt::h6e3819ae8934c2e2
mov r13d, eax
mov r12d, edx
dec esi
jne 0x140002dc0
mov r15d, 0x61746963
mov ebx, 0x426c6f77
mov esi, 0x40
nop dword [rax + rax]
mov rcx, r14
mov edx, r15d
mov r8d, ebx
call sym.crypto::blowfish::Blowfish::encrypt::h6e3819ae8934c2e2
mov r15d, eax
mov ebx, edx
dec esi
jne 0x140002df0
mov esi, 0x66697368
mov edi, 0x53776174
mov ebp, 0x40
nop word cs:[rax + rax]
mov rcx, r14
mov edx, esi
mov r8d, edi
call sym.crypto::blowfish::Blowfish::encrypt::h6e3819ae8934c2e2
mov esi, eax
mov edi, edx
dec ebp
jne 0x140002e20
mov eax, 0x44796e61
mov r8d, 0x6d697465
mov ebp, 0x40
nop word cs:[rax + rax]
mov rcx, r14
mov edx, eax
call sym.crypto::blowfish::Blowfish::encrypt::h6e3819ae8934c2e2
mov r8d, edx
dec ebp
jne 0x140002e50
mov dword [rsp + 0xe4], r8d
movzx r9d, byte [rsp + 0x3a]
xor r9b, r13b
mov ecx, r13d
movzx edx, byte [rsp + 0x28]
xor dl, byte [rsp + 0xe5]
mov byte [rsp + 0x28], dl
movzx edx, byte [rsp + 0x29]
xor dl, byte [rsp + 0xe6]
mov byte [rsp + 0x29], dl
shr ecx, 8
movzx edx, byte [rsp + 0x38]
xor dl, byte [rsp + 0xe7]
mov byte [rsp + 0x38], dl
mov dword [rsp + 0xc8], r13d
mov dword [rsp + 0xcc], r12d
mov dword [rsp + 0xd0], r15d
mov dword [rsp + 0xd4], ebx
mov dword [rsp + 0xd8], esi
mov dword [rsp + 0xdc], edi
mov dword [rsp + 0xe0], eax
movq xmm0, qword [rsp + 0xdd]
mov r8, qword [rsp + 0x1550]
cmp qword [rsp + 0x1f0], r8
mov rbp, qword [rsp + 0x1548]
jae 0x140002f0c
mov rax, qword [rsp + 0x1f0]
mov byte [rbp + rax], r9b
mov byte [rsp + 0x3a], r9b
mov eax, r13d
shr eax, 0x10
xor byte [rsp + 0x39], cl
cmp qword [rsp + 0x1e8], r8
movzx r10d, byte [rsp + 0x3f]
movzx r11d, byte [rsp + 0x3e]
movzx edx, byte [rsp + 0x30]
jae 0x140002f49
mov rcx, qword [rsp + 0x1e8]
movzx r9d, byte [rsp + 0x39]
mov byte [rbp + rcx], r9b
shr r13d, 0x18
movzx ecx, byte [rsp + 0x2e]
xor cl, al
cmp qword [rsp + 0x1e0], r8
jae 0x140002f6a
mov rax, qword [rsp + 0x1e0]
mov byte [rbp + rax], cl
mov byte [rsp + 0x2e], cl
movzx ecx, byte [rsp + 0x2f]
xor cl, r13b
cmp qword [rsp + 0x1d8], r8
jae 0x140002f8c
mov rax, qword [rsp + 0x1d8]
mov byte [rbp + rax], cl
mov byte [rsp + 0x2f], cl
mov eax, r12d
shr eax, 8
xor byte [rsp + 0x2a], r12b
cmp qword [rsp + 0x1d0], r8
movzx r13d, byte [rsp + 0x3d]
jae 0x140002fbe
mov rcx, qword [rsp + 0x1d0]
movzx r9d, byte [rsp + 0x2a]
mov byte [rbp + rcx], r9b
mov ecx, r12d
shr ecx, 0x10
xor dl, al
cmp qword [rsp + 0x1c8], r8
jae 0x140002fdc
mov rax, qword [rsp + 0x1c8]
mov byte [rbp + rax], dl
shr r12d, 0x18
movzx eax, byte [rsp + 0x31]
xor al, cl
mov ecx, eax
cmp qword [rsp + 0x1c0], r8
jae 0x140002fff
mov rax, qword [rsp + 0x1c0]
mov byte [rbp + rax], cl
mov byte [rsp + 0x31], cl
movzx eax, byte [rsp + 0x32]
xor al, r12b
cmp qword [rsp + 0x1b8], r8
movzx ecx, byte [rsp + 0x33]
jae 0x140003027
mov r9, qword [rsp + 0x1b8]
mov byte [rbp + r9], al
mov byte [rsp + 0x30], dl
mov byte [rsp + 0x32], al
mov eax, r15d
shr eax, 8
xor cl, r15b
cmp qword [rsp + 0x1b0], r8
lea r12, [rsp + 0x70]
jae 0x140003053
mov rdx, qword [rsp + 0x1b0]
mov byte [rbp + rdx], cl
mov byte [rsp + 0x33], cl
mov ecx, r15d
shr ecx, 0x10
movzx edx, byte [rsp + 0x34]
xor dl, al
mov eax, edx
cmp qword [rsp + 0x1a8], r8
jae 0x14000307c
mov rdx, qword [rsp + 0x1a8]
mov byte [rbp + rdx], al
mov byte [rsp + 0x34], al
shr r15d, 0x18
movzx eax, byte [rsp + 0x35]
xor al, cl
mov ecx, eax
cmp qword [rsp + 0x1a0], r8
movzx eax, byte [rsp + 0x36]
jae 0x1400030a8
mov rdx, qword [rsp + 0x1a0]
mov byte [rbp + rdx], cl
mov byte [rsp + 0x35], cl
xor al, r15b
cmp qword [rsp + 0x198], r8
movzx ecx, byte [rsp + 0x37]
jae 0x1400030ca
mov rdx, qword [rsp + 0x198]
mov byte [rbp + rdx], al
mov byte [rsp + 0x36], al
mov eax, ebx
shr eax, 8
xor cl, bl
cmp qword [rsp + 0x190], r8
lea r15, [rsp + 0x3e0]
jae 0x1400030f3
mov rdx, qword [rsp + 0x190]
mov byte [rbp + rdx], cl
mov byte [rsp + 0x37], cl
mov ecx, ebx
shr ecx, 0x10
xor r13b, al
cmp qword [rsp + 0x188], r8
jb 0x1400032b0
shr ebx, 0x18
xor r11b, cl
cmp qword [rsp + 0x180], r8
jb 0x1400032d1
xor r10b, bl
cmp qword [rsp + 0x178], r8
movzx ecx, byte [rsp + 0x2d]
jae 0x140003140
mov rax, qword [rsp + 0x178]
mov byte [rbp + rax], r10b
mov eax, esi
shr eax, 8
xor cl, sil
cmp qword [rsp + 0x170], r8
mov rdx, qword [rsp + 0xb8]
lea rbx, [rsp + 0x208]
jae 0x14000316f
mov r9, qword [rsp + 0x170]
mov byte [rbp + r9], cl
mov byte [rsp + 0x2d], cl
mov ecx, esi
shr ecx, 0x10
movzx r9d, byte [rsp + 0x2b]
xor r9b, al
mov eax, r9d
cmp qword [rsp + 0x168], r8
jae 0x14000319b
mov r9, qword [rsp + 0x168]
mov byte [rbp + r9], al
mov byte [rsp + 0x2b], al
shr esi, 0x18
movzx eax, byte [rsp + 0x2c]
xor al, cl
cmp qword [rsp + 0x160], r8
jae 0x1400031bf
mov rcx, qword [rsp + 0x160]
mov byte [rbp + rcx], al
movzx r9d, byte [rsp + 0x3b]
xor r9b, sil
cmp qword [rsp + 0x158], r8
movzx ecx, byte [rsp + 0x3c]
jae 0x1400031e4
mov rsi, qword [rsp + 0x158]
mov byte [rbp + rsi], r9b
xor cl, dil
cmp qword [rsp + 0x150], r8
jae 0x1400031fd
mov rsi, qword [rsp + 0x150]
mov byte [rbp + rsi], cl
mov byte [rsp + 0x2c], al
pxor xmm11, xmm0
cmp qword [rsp + 0x148], r8
lea rdi, [rsp + 0x290]
jb 0x140003300
cmp qword [rsp + 0x140], r8
jb 0x14000331f
cmp qword [rsp + 0x138], r8
jb 0x14000333e
cmp qword [rsp + 0x130], r8
jb 0x140003360
cmp qword [rsp + 0x128], r8
jb 0x140003382
cmp qword [rsp + 0x120], r8
jb 0x1400033a2
cmp qword [rsp + 0x118], r8
jb 0x1400033c2
cmp qword [rsp + 0xf8], r8
jb 0x1400033e2
cmp qword [rsp + 0x110], r8
jb 0x140003402
cmp qword [rsp + 0x108], r8
jb 0x140003421
cmp qword [rsp + 0x100], r8
jae 0x140002c20
jmp 0x140003440
mov rax, qword [rsp + 0x188]
mov byte [rbp + rax], r13b
shr ebx, 0x18
xor r11b, cl
cmp qword [rsp + 0x180], r8
jae 0x140003121
mov rax, qword [rsp + 0x180]
mov byte [rbp + rax], r11b
xor r10b, bl
cmp qword [rsp + 0x178], r8
movzx ecx, byte [rsp + 0x2d]
jb 0x140003133
jmp 0x140003140
movd eax, xmm11
mov rsi, qword [rsp + 0x148]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x140], r8
jae 0x14000322a
movd eax, xmm11
mov rsi, qword [rsp + 0x140]
mov byte [rbp + rsi], ah
cmp qword [rsp + 0x138], r8
jae 0x140003238
movd eax, xmm11
shr eax, 0x10
mov rsi, qword [rsp + 0x138]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x130], r8
jae 0x140003246
movd eax, xmm11
shr eax, 0x18
mov rsi, qword [rsp + 0x130]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x128], r8
jae 0x140003254
pextrw eax, xmm11, 2
mov rsi, qword [rsp + 0x128]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x120], r8
jae 0x140003262
pextrw eax, xmm11, 2
mov rsi, qword [rsp + 0x120]
mov byte [rbp + rsi], ah
cmp qword [rsp + 0x118], r8
jae 0x140003270
pextrw eax, xmm11, 3
mov rsi, qword [rsp + 0x118]
mov byte [rbp + rsi], al
cmp qword [rsp + 0xf8], r8
jae 0x14000327e
pextrw eax, xmm11, 3
mov rsi, qword [rsp + 0xf8]
mov byte [rbp + rsi], ah
cmp qword [rsp + 0x110], r8
jae 0x14000328c
movzx eax, byte [rsp + 0x28]
mov rsi, qword [rsp + 0x110]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x108], r8
jae 0x14000329a
movzx eax, byte [rsp + 0x29]
mov rsi, qword [rsp + 0x108]
mov byte [rbp + rsi], al
cmp qword [rsp + 0x100], r8
jae 0x140002c20
mov rax, qword [rsp + 0x100]
movzx r8d, byte [rsp + 0x38]
mov byte [rbp + rax], r8b
jmp 0x140002c20
mov r13, r14
shr r13, 0x3d
mov rbx, r14
lea rbp, [r14*8]
xor edi, edi
xorps xmm10, xmm10
lea rsi, [rsp + 0x420]
lea r12, [rsp + 0x40]
lea r14, [rsp + 0x290]
lea r15, [rsp + 0x208]
jmp 0x1400035a3
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0x200], rax
lea r14, [rsp + 0x290]
mov qword [rsp + 0x420], r14
mov r8d, 4
lea r15, [rsp + 0x208]
mov rcx, r15
lea rdx, [rsp + 0x6c]
mov r9, rsi
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
lea rcx, [rsp + 0x1f8]
call sym._ZN6crypto4sha29Engine5126finish17hc6badddaffdf06e5E.llvm.7797873040375068835
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
bswap rax
mov qword [rsp + 0x70], rax
bswap rcx
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0x2a0]
bswap rax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2a8]
bswap rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x2b0]
bswap rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x2b8]
bswap rax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x2c0]
bswap rax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x2c8]
bswap rax
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0x3e0]
lea rdx, [rsp + 0x70]
mov r8, r12
call sym.crypto::bcrypt_pbkdf::bcrypt_hash::he3a6e28063a1e85a
inc rdi
cmp qword [rsp + 0xb8], rdi
je 0x140003679
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm10
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x40], xmm10
lea eax, [rdi + 1]
bswap eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x288], 0
movups xmmword [r14 + 0x30], xmm9
movups xmmword [r14 + 0x20], xmm8
movups xmmword [r14 + 0x10], xmm7
movups xmmword [r14], xmm6
mov byte [rsp + 0x2d0], 0
mov qword [rsp + 0x1f8], r13
mov qword [rsp + 0x200], rbp
mov qword [rsp + 0x420], r14
mov rcx, r15
mov rdx, qword [rsp + 0xe8]
mov r8, rbx
mov r9, rsi
call sym.__crypto::cryptoutil::FixedBuffer128_as_crypto::cryptoutil::FixedBuffer_::input::h15144f9039ed50a3
cmp byte [rsp + 0x2d0], 0
jne 0x1400036c1
mov rcx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
add rax, 0x20
jae 0x1400034a0
inc rcx
jne 0x1400034a0
lea rcx, str.Numeric_overflow_occured.
lea r8, [0x14012b0d8]
mov edx, 0x19
call sym.std::panicking::begin_panic::h8a6b93740170dc30
ud2
movaps xmm6, xmmword [rsp + 0x1470]
movaps xmm7, xmmword [rsp + 0x1480]
movaps xmm8, xmmword [rsp + 0x1490]
movaps xmm9, xmmword [rsp + 0x14a0]
movaps xmm10, xmmword [rsp + 0x14b0]
movaps xmm11, xmmword [rsp + 0x14c0]
add rsp, 0x14d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:__self.finished
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_sha2.rs
mov edx, 0x20
call dbg.panic
ud2
lea rcx, str.assertion_failed:_password.len_____0
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_bcrypt_pbkdf.rsassertion_failed:_output.len_____1024
mov edx, 0x24
call dbg.panic
ud2
lea rcx, str.assertion_failed:_salt.len_____0
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_bcrypt_pbkdf.rsassertion_failed:_output.len_____1024
mov edx, 0x20
call dbg.panic
ud2
lea rcx, [0x14012a6a0]
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_bcrypt_pbkdf.rsassertion_failed:_output.len_____1024
mov edx, 0x1c
call dbg.panic
ud2
lea rcx, str.assertion_failed:_output.len_____0
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_bcrypt_pbkdf.rsassertion_failed:_output.len_____1024
mov edx, 0x22
call dbg.panic
ud2
lea rcx, [0x14012a61e]
lea r8, str._home_theo_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_bcrypt_pbkdf.rsassertion_failed:_output.len_____1024
mov edx, 0x26
call dbg.panic
ud2
lea rcx, str.Numeric_overflow_occured.
lea r8, [0x14012b0f0]
mov edx, 0x19
call sym.std::panicking::begin_panic::h8a6b93740170dc30
ud2