Function at 0x14001f220
Capabilities:
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1f0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1402744d0]
xor rax, rsp
mov qword [rbp + 0xe8], rax
mov rsi, rdx
mov r14, rcx
mov qword [rsp + 0x38], rcx
mov qword [rbp + 0x60], rdx
mov rcx, rdx
cmp qword [rdx + 0x18], 8
jb 0x14001f277
mov rcx, qword [rdx]
mov rax, qword [rdx + 0x10]
lea rdi, [rcx + rax*2]
mov rbx, rsi
jb 0x14001f287
mov rbx, qword [rdx]
xor r12d, r12d
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], r12b
mov rdx, rdi
sub rdx, rbx
sar rdx, 1
lea rcx, [rbp + 0x68]
call fcn.14000a6f0
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0x68]
call fcn.140010d70
nop
lea rbx, [rbp + 0x68]
cmp qword [rbp + 0x80], 0x10
cmovae rbx, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x78]
mov qword [rsp + 0x38], r12
movdqa xmm0, xmmword [0x140203830]
movdqu xmmword [rbp + 0x98], xmm0
mov word [rbp + 0x88], r12w
xor r8d, r8d
lea rdx, [0x1401fd1ac]
lea rcx, [rbp + 0x88]
call fcn.14000c0a0
nop
mov dword [rsp + 0x20], 0xf0000000
lea r9d, [r12 + 0x18]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x14001f3d9
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x98]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f382
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f37d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fac9
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001faa5
jmp 0x14001fa59
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800c
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x14001f4bf
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x98]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f468
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f463
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001facf
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001faab
jmp 0x14001fa59
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x14001f59f
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x98]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f548
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f543
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fad5
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fab1
jmp 0x14001fa59
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], 4
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x40]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x14001f692
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x98]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f63b
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fadb
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fab7
jmp 0x14001fa59
mov edx, dword [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140026370
nop
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r8, r15
mov edx, 2
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x14001f7ca
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
movups xmm0, xmmword [rbp + 0x88]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0x98]
movups xmmword [r14 + 0x10], xmm1
test r15, r15
je 0x14001f735
mov rdx, qword [rsp + 0x58]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x14001f72c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fae1
mov rcx, r15
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f773
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f76e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fae7
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fabd
jmp 0x14001fa59
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x70]
call fcn.140027a90
nop
mov rbx, r15
mov rdi, qword [rsp + 0x50]
cmp r15, rdi
je 0x14001f83b
nop dword [rax + rax]
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx - 0x38], 0x30
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x68], 2
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x70]
add rcx, rax
call fcn.140016ad0
movzx edx, byte [rbx]
lea rcx, [rsp + 0x70]
call fcn.140028610
inc rbx
cmp rbx, rdi
jne 0x14001f7f0
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
lea rdx, [rbp + 0xa8]
lea rcx, [rsp + 0x78]
call fcn.14002a650
nop
lea rdx, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0x10
cmovae rdx, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xb8]
add rdi, rdx
lea rbx, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0x10
cmovae rbx, qword [rbp + 0xa8]
movdqa xmm0, xmmword [0x140203830]
movdqu xmmword [rbp + 0xd8], xmm0
mov word [rbp + 0xc8], r12w
mov rdx, rdi
sub rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.140031a00
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.140036310
movups xmm0, xmmword [rbp + 0xc8]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp + 0xd8]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x14001f931
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f92c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001faed
call fcn.1401589a4
movdqa xmm0, xmmword [0x140203840]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
lea rcx, [rsp + 0x70]
call fcn.14001a870
nop
test r15, r15
je 0x14001f98e
mov rdx, qword [rsp + 0x58]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x14001f985
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001faf3
mov rcx, r15
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0xa0]
cmp rdx, 8
jb 0x14001f9d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f9cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001faf9
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001fa13
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fa0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa9f
call fcn.1401589a4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], socket
mov byte [rbp + 0x68], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x14001fa61
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001fa5c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fac3
mov rcx, r8
call fcn.1401589a4
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov rax, r14
mov word [rsi], r12w
mov rcx, qword [rbp + 0xe8]
xor rcx, rsp
call fcn.140158980
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14017c9e8
nop
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
nop
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
int3
call fcn.14017c9e8
nop
call fcn.14017c9e8
nop
call fcn.14017c9e8
nop
call fcn.14017c9e8
nop
call fcn.14017c9e8
nop
call fcn.14017c9e8
int3