Function at 0x180007ca0
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1800923a0]
xor rax, rsp
mov qword [rbp + 0xc8], rax
xor r13d, r13d
mov qword [rsp + 0x70], rdx
lea r15d, [rcx + 0x8e3]
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x48], ecx
mov r14, rdx
mov rbx, r9
mov r10, r8
lea edi, [r13 + 1]
mov edx, ecx
mov esi, ecx
cmp ecx, r15d
jae 0x18000814e
lea r12, [0x180000000]
lea edx, [rdi + 0x1f]
lea r8d, [r13 + 0x6d]
cmp esi, 0x118
ja 0x180007dd9
je 0x180007dc5
lea eax, [rsi - 0x60]
cmp eax, 0xaf
ja case.0x180007d44.102
movzx eax, byte [r12 + rax + 0x8504]
mov ecx, dword [r12 + rax*4 + 0x84e8]
add rcx, r12
jmp rcx
mov dword [rbx + 0x40], 0x67452301
mov dword [rbx + 0x44], 0xefcdab89
jmp case.0x180007d44.102
mov r8d, 0xa
lea rdx, [rbp + 0xa0]
lea ecx, [r8 - 5]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
jmp 0x18000812c
lea rcx, [rbp + 0xa0]
mov word [rbp + 0xa1], dx
dec rcx
cmp byte [rcx + 1], r13b
lea rcx, [rcx + 1]
jne 0x180007d86
mov eax, dword [0x18008915c]
mov dword [rcx], eax
mov word [rbp + 0xa5], r8w
mov dword [rbp + 0xa6], 0x2f7365
jmp case.0x180007d44.102
test rbx, rbx
jne case.0x180007d44.102
mov dword [rsp + 0x58], 0xffffffff
jmp 0x1800082f4
mov dword [rbx + 0x48], 0x98badcfe
mov qword [rbx + 0x4c], 0x10325476
jmp case.0x180007d44.102
cmp esi, 0x1c7
ja 0x1800080d1
je 0x1800080cb
mov eax, esi
sub eax, 0x123
je 0x180007e4d
sub eax, 0x67
je 0x180007e41
cmp eax, 0x34
jne case.0x180007d44.102
lea r8d, [rax - 0x32]
lea rdx, [0x180089160]
lea rcx, [rbp + 0xa9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
movzx eax, word [0x180089164]
mov word [rbp + 0xaa], ax
movzx eax, byte [0x180089166]
mov byte [rbp + 0xac], al
mov byte [rbp + 0x90], r13b
jmp 0x18000812c
mov eax, dword [rbx + 4]
mov dword [rsp + 0x58], eax
jmp case.0x180007d44.102
movzx eax, byte [rbx]
lea rdx, [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x50], r13d
movzx r8d, byte [rax + r12 + 0x7b400]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea ecx, [r9 + 7]
mov qword [rsp + 0x28], r13
add r8, rbx
mov qword [rsp + 0x20], r13
call fcn.18006a510
mov r10, qword [rsp + 0x60]
mov rbx, rax
cmp rax, r10
jae 0x1800080c5
nop dword [rax + rax]
movzx edx, byte [rbx]
mov r9, rbx
cmp edx, 0x58
jne 0x180007ece
nop dword [rax + rax]
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 1]
shl rcx, 8
or rcx, rax
add rbx, rcx
movzx eax, byte [rbx]
cmp al, 0x54
je 0x180007eb0
jmp 0x180008078
lea eax, [rdx - 0x67]
test eax, 0xfffffff6
jne 0x180007f0e
cmp edx, 0x70
je 0x180007f0e
movzx eax, byte [rdx + r12 + 0x7b400]
add rbx, rax
nop dword [rax]
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 1]
shl rcx, 8
or rcx, rax
add rbx, rcx
movzx eax, byte [rbx]
cmp al, 0x54
je 0x180007ef0
jmp 0x180008078
lea eax, [rdx - 0x5d]
cmp eax, 3
jbe 0x180008004
lea eax, [rdx - 6]
cmp eax, 0x51
ja case.0x180007f8b.70
cdqe
movzx eax, byte [r12 + rax + 0x85d4]
mov ecx, dword [r12 + rax*4 + 0x85b4]
add rcx, r12
jmp rcx
movzx r8d, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl r8, 8
or r8, rax
add rbx, r8
jmp 0x180007f71
mov eax, 0x21
cmp eax, 0x6b4
ja case.0x180007f3c.6
cmp eax, 0x21
je 0x180007f6b
add eax, 0x6b4
jmp 0x180007f58
mov r8d, 0x21
movzx eax, byte [r9 + r8]
add eax, 0xffffffba
cmp eax, 7
ja case.0x180007f3c.6
cdqe
mov ecx, dword [r12 + rax*4 + 0x8628]
add rcx, r12
jmp rcx
movzx ecx, byte [r9 + r8 + 1]
movzx eax, byte [r9 + r8 + 2]
shl ecx, 8
or ecx, eax
jbe case.0x180007f8b.70
mov dword [rsp + 0x58], r13d
jmp 0x1800082f4
movzx eax, byte [rbx + 1]
sub al, 0xf
cmp al, 1
ja case.0x180007f8b.70
add rbx, 2
mov esi, 0x123
jmp 0x18000807a
movzx eax, byte [rbx + 3]
sub al, 0xf
cmp al, 1
ja case.0x180007f8b.70
add rbx, 2
mov esi, 0x123
jmp 0x18000807a
cmp dword [r14], r13d
je case.0x180007f8b.70
movzx eax, byte [rbx + 2]
and al, 0xc0
cmp al, 0x80
jne case.0x180007f8b.70
nop dword [rax]
movzx eax, byte [rbx + 3]
inc rbx
and al, 0xc0
cmp al, 0x80
je 0x180007ff0
mov esi, 0x123
jmp 0x18000807a
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
je case.0x180007f3c.12
mov edi, r13d
mov r12d, 1
test edi, edi
jne 0x18000804b
mov eax, dword [r14]
lea rdx, [rsp + 0x50]
mov r9, rbx
mov dword [rsp + 0x50], eax
mov r8, r10
mov ecx, 0x123
call fcn.180007ca0
mov r10, qword [rsp + 0x60]
test eax, eax
cmovne edi, r12d
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 1]
shl rcx, 8
or rcx, rax
add rbx, rcx
movzx eax, byte [rbx]
cmp al, 0x54
je 0x180008020
lea r12, [0x180000000]
test edi, edi
je case.0x180007f3c.6
mov edi, 1
mov edx, eax
movzx r8d, byte [rdx + r12 + 0x7b400]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x28], r13
add r8, rbx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x20], r13
lea ecx, [r9 + 7]
call fcn.18006a510
mov r10, qword [rsp + 0x60]
mov rbx, rax
cmp rax, r10
jb 0x180007ea0
mov dword [rsp + 0x58], edi
jmp 0x180008131
mov dword [rbx + 0x54], r13d
jmp case.0x180007d44.102
mov eax, esi
sub eax, 0x239
je 0x1800082f4
cmp eax, 0x34
jne case.0x180007d44.102
lea r8d, [rax - 0x31]
lea rdx, str.cv::ocl::HOGDescriptor::HOGDescriptor
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8, rdi
lea rdx, [0x1800890df]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 3
lea rdx, [0x18008910f]
lea rcx, [rbp + 0x94]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r10, qword [rsp + 0x60]
mov r8d, 0x6d
lea edx, [r8 - 0x4d]
add esi, 0xaf
cmp esi, r15d
jb 0x180007d10
mov edx, dword [rsp + 0x48]
lea r13d, [rdx + 0x7e0]
cmp edx, r13d
jae 0x1800082f4
mov r14, qword [rsp + 0x70]
lea rcx, [0x18002e4e0]
movzx esi, byte [rsp + 0x40]
movzx edi, byte [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x6c]
nop
cmp edx, 0x258
ja 0x1800083c3
je 0x180008396
cmp edx, 0x111
ja 0x18000832d
je 0x180008323
cmp edx, 0x60
je 0x1800082a6
cmp edx, 0x69
je 0x18000829c
cmp edx, 0x108
jne 0x1800082dc
mov byte [rbp + 0x9c], 0
mov dil, 1
jmp 0x1800082dc
movsd xmm0, qword [rbx]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x48]
lea rax, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm0
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x78]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x20], 0xae
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], 2
call fcn.180035ab0
cmp dword [rsp + 0x68], r13d
je 0x180008250
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
movsd xmm0, qword [0x18008bf80]
movsd qword [rsp + 0x58], xmm0
mov dword [rax], 0x21
jmp 0x1800082f4
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, qword [0x18008bff0]
movsd qword [rsp + 0x58], xmm0
jmp 0x1800082f4
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rbx
mov r9d, 0x12a
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x50], r13d
mov rdx, r10
xor ecx, ecx
call fcn.18006e660
mov dword [rsp + 0x58], eax
jmp 0x1800082f4
mov dword [rsp + 0x58], edi
jmp 0x1800082f4
mov qword [rbx + 0x58], 0
jmp 0x1800082dc
mov r8d, 1
mov dword [rbp + 0x97], 0x6e506576
lea rdx, [0x180089187]
mov byte [rbp + 0x9b], 0
lea rcx, [rbp + 0x9b]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov edx, dword [rsp + 0x48]
lea rcx, [0x18002e4e0]
mov r10, qword [rsp + 0x60]
add edx, 0xa8
mov dword [rsp + 0x48], edx
cmp edx, r13d
jb 0x180008180
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.180077c10
mov rbx, qword [rsp + 0x210]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rbx + 0x60], 0
jmp 0x1800082dc
cmp edx, 0x123
je 0x1800082f4
cmp edx, 0x1b0
jne 0x1800082dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x80], rax
mov sil, 1
movups xmmword [rbp], xmm0
mov dword [rbp + 0x88], eax
movzx eax, byte [0x180089178]
movups xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0xc0], al
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmm0, xmmword [str.m_bScroll_ble_]
movups xmmword [rbp + 0xb0], xmm0
jmp 0x1800082dc
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x40]
mov r8, rbx
mov edx, 0xda
movzx eax, word [rax]
mov word [rsp + 0x40], ax
call fcn.1800300b0
mov eax, 0x9c
mov word [rbp + 0x14], ax
jmp 0x1800082d1
cmp edx, 0x300
je 0x1800084ba
cmp edx, 0x3a8
je 0x180008480
cmp edx, 0x450
je 0x18000846c
cmp edx, 0x4f8
je 0x180008423
cmp edx, 0x5a0
jne 0x1800082dc
lea rcx, [rbx + 0xa]
cmp rcx, r10
je 0x1800082d5
cmp qword [r10 + 0x18], 0x10
mov rdx, r10
jb 0x180008415
mov rdx, qword [r10]
mov r8, qword [r10 + 0x10]
call fcn.180039600
jmp 0x1800082d1
xor ecx, ecx
movzx eax, sil
test r14, r14
cmovne ecx, eax
movzx esi, cl
test dil, dil
je 0x180008440
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteDC]
test sil, sil
je 0x1800082d1
mov r8d, r12d
lea rdx, [rbp - 0x80]
mov rcx, r14
call qword [sym.imp.WINMM.dll_mmioAdvance]
mov edx, 0x10
mov rcx, r14
call qword [sym.imp.WINMM.dll_mmioClose]
jmp 0x1800082d1
xor ecx, ecx
movzx eax, dil
test r15, r15
cmovne ecx, eax
movzx edi, cl
jmp 0x1800082d5
lea r9, [rbp - 0x10]
xor r8d, r8d
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.GDI32.dll_CreateICA]
mov r8d, r12d
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xb0]
mov r15, rax
call qword [sym.imp.WINMM.dll_mmioOpenA]
mov r14, rax
jmp 0x1800082d1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x20], eax
xor r12d, r12d
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbx], rcx
jmp 0x1800082dc