Function at 0x18005e940
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x158
mov dword [rsp + 0x60], 0x67452301
mov dword [rsp + 0x64], 0xefcdab89
mov dword [rsp + 0x68], 0x98badcfe
mov dword [rsp + 0x6c], 0x10325476
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffe6af
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffe6a3
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x168]
call fcn.1800645c0
test rax, rax
je 0x18005ea83
mov eax, 5
mov word [rsp + 0x20], ax
movsx rax, word [rsp + 0x20]
lea rcx, [0x180098500]
cmp dword [rcx + rax*4], 1
jne 0x18005ea25
movsx rax, word [rsp + 0x20]
lea rcx, [0x180098500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x20]
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x38]
and rax, 0x3f
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
xor edx, edx
mov rcx, qword [rsp + 0x168]
call fcn.18005af30
mov rcx, qword [rsp + 0x88]
mov byte [rsp + rcx + 0xd0], al
cmp qword [rsp + 0x88], 0x3f
jne 0x18005ea7e
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x60]
call fcn.1800620a0
jmp 0x18005e9d0
mov rax, qword [rsp + 0x38]
and rax, 0x3f
mov qword [rsp + 0x30], rax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffe684
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x58], 0
mov eax, dword [rsp + 0x58]
cmp eax, 0x1232ba4d
jne 0x18005eaea
lea r8, str.Local177628031219511399849926878166478963041644021601252588992x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xb8], rax
jmp 0x18005eb12
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
cmp qword [rsp + 0x30], 0x38
jae 0x18005eb2e
mov eax, 0x38
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
jmp 0x18005eb40
mov eax, 0x78
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
shl rax, 3
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7c], 0
mov rax, qword [rsp + 0x30]
mov byte [rsp + rax + 0xd0], 0x80
mov eax, 4
imul rax, rax, 3
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
add eax, 0x25c13610
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x30]
lea rax, [rsp + rax + 0xd0]
add rax, qword [rsp + 0x50]
mov r8d, 8
lea rdx, [rsp + 0x78]
mov rcx, rax
call fcn.180061f50
mov eax, 7
mov word [rsp + 0x24], ax
movsx rax, word [rsp + 0x24]
lea rcx, [0x180098500]
cmp dword [rcx + rax*4], 1
jne 0x18005ebfe
movsx rax, word [rsp + 0x24]
lea rcx, [0x180098500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x24]
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x50]
dec rax
mov rcx, qword [rsp + 0x30]
lea rcx, [rsp + rcx + 0xd1]
mov r8, rax
xor edx, edx
call fcn.18004b8c0
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x60]
call fcn.1800620a0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
and rax, 0x40
test rax, rax
je 0x18005ec5d
lea rax, [rsp + 0x110]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800620a0
mov dword [rsp + 0x48], 0
mov eax, dword [rsp + 0x48]
cmp eax, 0x4df8c6c1
jne 0x18005ec8b
lea r8, str.Local5268060841513705443063213440768232080556921920498197760x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xb0], rax
jmp 0x18005ecb3
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov r8d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x98]
call fcn.180061f50
mov dword [rsp + 0x28], 0
jmp 0x18005ecdf
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0x10
jge 0x18005ee78
mov rcx, qword [rsp + 0x160]
call fcn.180064a70
mov rcx, rax
call fcn.180005820
mov rax, qword [rax]
and rax, 3
test rax, rax
je 0x18005edf3
movsxd rax, dword [rsp + 0x28]
movzx eax, byte [rsp + rax + 0x98]
sar eax, 4
cdqe
lea rcx, str.0123456789abcdef
movzx eax, byte [rcx + rax]
mov edx, eax
mov rcx, qword [rsp + 0x160]
call fcn.18005b600
movzx eax, al
test eax, eax
je 0x18005ed75
movsxd rax, dword [rsp + 0x28]
movzx eax, byte [rsp + rax + 0x98]
and eax, 0xf
cdqe
lea rcx, str.0123456789abcdef
movzx eax, byte [rcx + rax]
mov edx, eax
mov rcx, qword [rsp + 0x160]
call fcn.18005b600
movzx eax, al
test eax, eax
jne 0x18005ed7f
mov eax, 0xfffffffc
jmp 0x18005eeef
lea rax, [0x18008c9a4]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x90]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x61
jne 0x18005edee
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x18005edee
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 0xc
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
jmp 0x18005ee73
mov dword [rsp + 0x5c], 0
mov eax, dword [rsp + 0x5c]
cmp eax, 0x1cf3861
jne 0x18005ee21
lea r8, str.Local10395554001193586408407283200120233383268330416982918432x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xa8], rax
jmp 0x18005ee49
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
movsxd rax, dword [rsp + 0x28]
movzx eax, byte [rsp + rax + 0x98]
mov edx, eax
mov rcx, qword [rsp + 0x160]
call fcn.18005ab10
movzx eax, al
test eax, eax
jne 0x18005ee73
mov eax, 0xfffffffc
jmp 0x18005eeef
jmp 0x18005ecd5
xor edx, edx
mov rcx, qword [rsp + 0x160]
call fcn.180064640
movzx eax, al
test eax, eax
je 0x18005ee95
mov eax, 0xfffffffc
jmp 0x18005eeef
xor eax, eax
jmp 0x18005eeef
add rsp, 0x158
ret