Function at 0x18005cfd0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x118
mov dword [rsp + 0x48], 0x67452301
mov dword [rsp + 0x4c], 0xefcdab89
mov dword [rsp + 0x50], 0x98badcfe
mov dword [rsp + 0x54], 0x10325476
mov eax, 4
imul rax, rax, 3
lea rcx, [0x180095500]
mov eax, dword [rcx + rax]
add eax, 0x2057618d
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180095500]
mov dword [rdx + rcx], eax
mov eax, 5
mov word [rsp + 0x24], ax
movsx rax, word [rsp + 0x24]
lea rcx, [0x180095500]
cmp dword [rcx + rax*4], 1
jne 0x18005d06b
movsx rax, word [rsp + 0x24]
lea rcx, [0x180095500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x24]
lea rdx, [0x180095500]
mov dword [rdx + rcx*4], eax
mov eax, 4
imul rax, rax, 1
lea rcx, [0x180095500]
mov eax, dword [rcx + rax]
xor eax, 0xffffe749
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x180095500]
mov dword [rdx + rcx], eax
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x128]
call fcn.180063140
test rax, rax
je 0x18005d149
mov rax, qword [rsp + 0x38]
and rax, 0x3f
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
mov eax, SafeArrayUnaccessData
mov word [rsp + 0x28], ax
movsx rax, word [rsp + 0x28]
lea rcx, [0x180095500]
cmp dword [rcx + rax*4], 1
jne 0x18005d10f
movsx rax, word [rsp + 0x28]
lea rcx, [0x180095500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x28]
lea rdx, [0x180095500]
mov dword [rdx + rcx*4], eax
xor edx, edx
mov rcx, qword [rsp + 0x128]
call fcn.180059970
mov rcx, qword [rsp + 0x68]
mov byte [rsp + rcx + 0x90], al
cmp qword [rsp + 0x68], 0x3f
jne 0x18005d144
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.180060b90
jmp 0x18005d09f
mov rax, qword [rsp + 0x38]
and rax, 0x3f
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0x38
jae 0x18005d170
mov eax, 0x38
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
jmp 0x18005d17f
mov eax, 0x78
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x38]
shl rax, 3
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0x90], 0x80
mov rax, qword [rsp + 0x30]
lea rax, [rsp + rax + 0x90]
add rax, qword [rsp + 0x40]
mov r8d, 8
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180060a20
mov rax, qword [rsp + 0x40]
dec rax
mov rcx, qword [rsp + 0x30]
lea rcx, [rsp + rcx + 0x91]
mov r8, rax
xor edx, edx
call fcn.18004a900
mov eax, 0x11
mov word [rsp + 0x20], ax
movsx rax, word [rsp + 0x20]
lea rcx, [0x180095500]
cmp dword [rcx + rax*4], 1
jne 0x18005d22e
movsx rax, word [rsp + 0x20]
lea rcx, [0x180095500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x20]
lea rdx, [0x180095500]
mov dword [rdx + rcx*4], eax
mov dword [rsp + 0x58], SafeArrayCopy
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, dword [rsp + 0x58]
movsxd rcx, ecx
lea rdx, [0x180095500]
mov dword [rdx + rcx*4], eax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x48]
call fcn.180060b90
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
and rax, 0x40
test rax, rax
je 0x18005d28d
lea rax, [rsp + 0xd0]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180060b90
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.180060a20
mov dword [rsp + 0x2c], 0
jmp 0x18005d2b6
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x10
jge 0x18005d3a2
mov rcx, qword [rsp + 0x120]
call fcn.180063480
mov rcx, rax
call fcn.180063130
mov rax, qword [rax]
and rax, 3
test rax, rax
je 0x18005d34b
movsxd rax, dword [rsp + 0x2c]
movzx eax, byte [rsp + rax + 0x78]
sar eax, 4
cdqe
lea rcx, str.0123456789abcdef
movzx eax, byte [rcx + rax]
mov edx, eax
mov rcx, qword [rsp + 0x120]
call fcn.18005a020
movzx eax, al
test eax, eax
je 0x18005d342
movsxd rax, dword [rsp + 0x2c]
movzx eax, byte [rsp + rax + 0x78]
and eax, 0xf
cdqe
lea rcx, str.0123456789abcdef
movzx eax, byte [rcx + rax]
mov edx, eax
mov rcx, qword [rsp + 0x120]
call fcn.18005a020
movzx eax, al
test eax, eax
jne 0x18005d349
mov eax, 0xfffffffc
jmp 0x18005d3c1
jmp 0x18005d39d
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180095500]
mov eax, dword [rcx + rax]
xor eax, 0xffffe6ec
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180095500]
mov dword [rdx + rcx], eax
movsxd rax, dword [rsp + 0x2c]
movzx eax, byte [rsp + rax + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x120]
call fcn.1800596b0
movzx eax, al
test eax, eax
jne 0x18005d39d
mov eax, 0xfffffffc
jmp 0x18005d3c1
jmp 0x18005d2ac
xor edx, edx
mov rcx, qword [rsp + 0x120]
call fcn.1800631c0
movzx eax, al
test eax, eax
je 0x18005d3bf
mov eax, 0xfffffffc
jmp 0x18005d3c1
xor eax, eax
add rsp, 0x118
ret