Function at 0x140008330
Capabilities:
Create new key via cryptacquirecontext
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov qword [rbp - 8], 0
mov qword [rbp - 0x10], 0
mov dword [rbp - 0x14], 0
mov dword [rbp - 0x34], 0
mov dword [rbp - 0x20], 0
mov dword [rbp - 0x18], 0
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._user
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x1400083f4
mov eax, dword [rbp - 0x18]
cdqe
add rax, 1
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
mov qword [rax], rdx
mov eax, dword [rbp - 0x18]
cdqe
add rax, 1
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call fcn.140007fa4
add dword [rbp - 0x18], 2
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._pass
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x14000844a
mov eax, dword [rbp - 0x18]
cdqe
add rax, 1
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 8], rax
add dword [rbp - 0x18], 2
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._hash
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x1400084a0
mov eax, dword [rbp - 0x18]
cdqe
add rax, 1
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
add dword [rbp - 0x18], 2
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._storage
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x1400084e1
mov dword [0x140018140], 1
add dword [rbp - 0x18], 1
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._sessions
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x140008526
mov dword [0x140018144], 1
mov dword [rbp - 0x14], 1
add dword [rbp - 0x18], 1
jmp 0x140008568
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, str._edge
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll__wcsicmp]
call rax
test eax, eax
jne 0x140008564
mov dword [0x1400181c4], 1
add dword [rbp - 0x18], 1
jmp 0x140008568
add dword [rbp - 0x18], 1
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp + 0x10]
jl 0x140008378
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
test rax, rax
je 0x1400087b2
cmp qword [rbp - 8], 0
jne 0x140008596
cmp qword [rbp - 0x10], 0
je 0x1400087a0
lea rax, str.this_mode_just_support_workgroup_PC_n
mov rcx, rax
call fcn.140004ad0
cmp qword [rbp - 8], 0
je 0x1400086ff
lea rax, [rbp - 0x28]
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 0x18
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
call rax
test eax, eax
je 0x1400087b1
mov rax, qword [rbp - 0x28]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x20], rdx
mov r9d, 0
mov r8d, 0
mov edx, 0x8004
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
call rax
test eax, eax
je 0x1400086e5
mov rax, qword [rbp - 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_lstrlenW]
call rax
cdqe
lea ecx, [rax + rax]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 8]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptHashData]
call rax
test eax, eax
je 0x1400086d5
mov rax, qword [rbp - 0x30]
lea rdx, [rbp - 0x34]
mov dword [rsp + 0x20], 0
mov r9, rdx
mov r8d, 0
mov edx, 2
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
call rax
test eax, eax
je 0x1400086d5
mov eax, dword [rbp - 0x34]
mov eax, eax
mov rdx, rax
mov ecx, 0x40
mov rax, qword [sym.imp.KERNEL32.dll_LocalAlloc]
call rax
mov rdx, qword [rbp + 0x28]
mov qword [rdx], rax
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
test rax, rax
je 0x1400086d5
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov rax, qword [rbp - 0x30]
lea rcx, [rbp - 0x34]
mov dword [rsp + 0x20], 0
mov r9, rcx
mov r8, rdx
mov edx, 2
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
call rax
mov dword [rbp - 0x14], eax
mov rax, qword [rbp - 0x30]
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
call rax
mov rax, qword [rbp - 0x28]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call rax
jmp 0x1400087b1
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_lstrlenW]
call rax
mov dword [rbp - 0x20], eax
cmp dword [rbp - 0x20], 0x28
jne 0x1400087b1
mov edx, 0x14
mov ecx, 0x40
mov rax, qword [sym.imp.KERNEL32.dll_LocalAlloc]
call rax
mov rdx, qword [rbp + 0x28]
mov qword [rdx], rax
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
test rax, rax
je 0x1400087b1
mov dword [rbp - 0x1c], 0
jmp 0x140008791
mov eax, dword [rbp - 0x1c]
add eax, eax
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp - 0x10]
add rax, rdx
lea rdx, [rbp - 0x38]
mov r8, rdx
lea rdx, [0x1400115b0]
mov rcx, rax
mov rax, qword [sym.imp.msvcrt.dll_swscanf_s]
call rax
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x1c]
cdqe
add rax, rdx
mov edx, ecx
mov byte [rax], dl
add dword [rbp - 0x1c], 1
cmp dword [rbp - 0x1c], 0x13
jle 0x14000874b
mov dword [rbp - 0x14], 1
jmp 0x1400087b1
lea rax, str.need_username_and__password_or_shahash__n
mov rcx, rax
call fcn.140004ad0
jmp 0x1400087b2
nop
mov eax, dword [rbp - 0x14]
add rsp, 0x70
pop rbp
ret