Function at 0x14001e940
Capabilities:
Hash data via wincrypt
Hash data with md5
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 0x14001e997
mov rcx, qword [rdx]
mov rax, qword [rdx + 0x10]
lea rdi, [rcx + rax*2]
mov rbx, rsi
jb 0x14001e9a7
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 0x14001eaf9
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 0x14001eaa2
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ea9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f1e9
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1c5
jmp 0x14001f179
mov qword [rsp + 0x30], r12
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x14001ebdf
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 0x14001eb88
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001eb83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f1ef
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1cb
jmp 0x14001f179
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 0x14001ecbf
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 0x14001ec68
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ec63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f1f5
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1d1
jmp 0x14001f179
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 0x14001edb2
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 0x14001ed5b
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ed56
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f1fb
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1d7
jmp 0x14001f179
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 0x14001eeea
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 0x14001ee55
mov rdx, qword [rsp + 0x58]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x14001ee4c
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f201
mov rcx, r15
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001ee93
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ee8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f207
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1dd
jmp 0x14001f179
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 0x14001ef5b
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 0x14001ef10
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 0x14001f051
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f04c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f20d
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 0x14001f0ae
mov rdx, qword [rsp + 0x58]
sub rdx, r15
mov rax, r15
cmp rdx, 0x1000
jb 0x14001f0a5
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f213
mov rcx, r15
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0xa0]
cmp rdx, 8
jb 0x14001f0f5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f0ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f219
call fcn.1401589a4
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x14001f133
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f1bf
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 0x14001f181
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x14001f17c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001f1e3
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