Function at 0x14003c2a0
Capabilities:
Accept command line arguments
Hash data with md5

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1400c9040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r12, rcx
mov qword [rsp + 0x38], rcx
xor r14d, r14d
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
lea rdi, [rcx + 0x18]
mov qword [rbp - 0x80], rdi
mov qword [rdi], r14
mov qword [rdi + 8], r14
mov ecx, 0x50
call fcn.14004dd1c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rdi], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [rbp - 0x80], r14d
lea rdx, [rbp - 0x80]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rsi, rax
test rax, rax
jne 0x14003c404
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x14003cba3
mov rdi, qword [rsp + 0x28]
cmp rbx, rdi
je 0x14003c3c1
mov rdx, qword [rbx + 0x18]
cmp rdx, 7
jbe 0x14003c3a3
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14003c39e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14003cbdc
mov rcx, r8
call fcn.14004dce0
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
add rbx, 0x20
cmp rbx, rdi
jne 0x14003c364
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14003c3f2
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbdc
mov rcx, rbx
call fcn.14004dce0
mov qword [rsp + 0x30], r14
jmp 0x14003cb9a
mov ebx, 1
cmp dword [rbp - 0x80], ebx
jle 0x14003c589
lea rdi, [rax + 8]
nop word [rax + rax]
mov rdx, qword [rdi]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003c430
lea r8, [rax + rax]
cmp rax, 0x200
cmovae r8, r14
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003c460
cmp rax, r8
cmovb r8, rax
lea rcx, [rbp + 0x30]
call fcn.14000b3f0
nop
cmp qword [rbp + 0x40], 0
je 0x14003c524
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.14003b2c0
nop
lea rcx, [rbp + 0x60]
call fcn.14003b7e0
test al, al
jne 0x14003c4d3
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0x30]
je 0x14003c4c1
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.1400099a0
add qword [rsp + 0x28], 0x20
jmp 0x14003c4d3
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14003a210
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 7
jbe 0x14003c513
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003c50e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbe2
call fcn.14004dce0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r14w
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x14003c564
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14003c55f
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbe8
call fcn.14004dce0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r14w
inc ebx
add rdi, 8
cmp ebx, dword [rbp - 0x80]
jl 0x14003c420
lea rdi, [r12 + 0x18]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.1400099a0
nop
mov r13, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
cmp rsi, r13
je 0x14003ca0a
mov rcx, rsi
call fcn.14003bc70
mov r8, qword [rsp + 0x70]
test al, al
je 0x14003c7eb
test r8, r8
je 0x14003c7bd
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rdx, qword [rsp + 0x60]
add r8, r8
xorps xmm0, xmm0
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
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov dword [rbp + 0x10], 0x67452301
mov dword [rbp + 0x14], 0xefcdab89
mov dword [rbp + 0x18], 0x98badcfe
mov dword [rbp + 0x1c], 0x10325476
xor eax, eax
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], eax
mov byte [rbp + 0x2c], al
lea rcx, [rbp - 0x70]
call fcn.140001aa0
cmp byte [rbp + 0x2c], 0
jne 0x14003c721
mov r8d, dword [rbp + 0x28]
mov r9, qword [rbp + 0x20]
add r9, r8
mov qword [rbp + 0x20], r9
mov eax, 0x38
sub eax, r8d
lea ebx, [rax + 0x40]
test eax, eax
cmovg ebx, eax
test ebx, ebx
jle 0x14003c6cb
mov byte [rbp + r8 - 0x70], 0x80
cmp ebx, 1
jle 0x14003c6bc
lea eax, [rbx - 1]
movsxd r8, eax
mov ecx, dword [rbp + 0x28]
inc ecx
lea rax, [rbp - 0x70]
add rcx, rax
xor edx, edx
call fcn.140078480
mov r8d, dword [rbp + 0x28]
add r8d, ebx
mov dword [rbp + 0x28], r8d
mov r9, qword [rbp + 0x20]
mov rdx, r9
shr rdx, 0x20
lea ecx, [r9*8]
mov dword [rbp + r8 - 0x70], ecx
mov eax, dword [rbp + 0x28]
add eax, 4
mov dword [rbp + 0x28], eax
mov ecx, eax
shr r9d, 0x1d
lea eax, [rdx*8]
or r9d, eax
mov dword [rbp + rcx - 0x70], r9d
add dword [rbp + 0x28], 4
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.140001bd0
cmp dword [rbp + 0x28], 0x40
jbe 0x14003c721
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.140001bd0
mov eax, dword [rbp + 0x10]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0x14]
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp - 0x74], eax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp + 0x90], xmm0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003cef0
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x40]
cmp rcx, rax
je 0x14003c7bd
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x14003c7ab
mov rdi, rcx
cmp rax, 7
jbe 0x14003c78d
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.140078840
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x14003c7bd
mov rdx, r14
call fcn.14000b0d0
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
cmp rax, rsi
je 0x14003c9f8
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x14003c7d8
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140009830
jmp 0x14003c9f8
test r8, r8
je 0x14003c96d
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rdx, qword [rsp + 0x60]
add r8, r8
xorps xmm0, xmm0
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
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov dword [rbp + 0x10], 0x67452301
mov dword [rbp + 0x14], 0xefcdab89
mov dword [rbp + 0x18], 0x98badcfe
mov dword [rbp + 0x1c], 0x10325476
xor eax, eax
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], eax
mov byte [rbp + 0x2c], al
lea rcx, [rbp - 0x70]
call fcn.140001aa0
cmp byte [rbp + 0x2c], 0
jne 0x14003c912
mov r8d, dword [rbp + 0x28]
mov r9, qword [rbp + 0x20]
add r9, r8
mov qword [rbp + 0x20], r9
mov eax, 0x38
sub eax, r8d
lea ebx, [rax + 0x40]
test eax, eax
cmovg ebx, eax
test ebx, ebx
jle 0x14003c8bc
mov byte [rbp + r8 - 0x70], 0x80
cmp ebx, 1
jle 0x14003c8ad
lea eax, [rbx - 1]
movsxd r8, eax
mov ecx, dword [rbp + 0x28]
inc ecx
lea rax, [rbp - 0x70]
add rcx, rax
xor edx, edx
call fcn.140078480
mov r8d, dword [rbp + 0x28]
add r8d, ebx
mov dword [rbp + 0x28], r8d
mov r9, qword [rbp + 0x20]
mov rdx, r9
shr rdx, 0x20
lea ecx, [r9*8]
mov dword [rbp + r8 - 0x70], ecx
mov eax, dword [rbp + 0x28]
add eax, 4
mov dword [rbp + 0x28], eax
mov ecx, eax
shr r9d, 0x1d
lea eax, [rdx*8]
or r9d, eax
mov dword [rbp + rcx - 0x70], r9d
add dword [rbp + 0x28], 4
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.140001bd0
cmp dword [rbp + 0x28], 0x40
jbe 0x14003c912
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.140001bd0
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0x14]
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x5c], eax
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x80], xmm0
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.14003cef0
mov rcx, qword [rax]
add rcx, 0x30
cmp rcx, rsi
je 0x14003c99a
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x14003c962
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
call fcn.140009830
jmp 0x14003c99a
mov rax, qword [r12 + 8]
cmp rax, qword [r12 + 0x10]
je 0x14003c98c
mov rdx, rsi
mov rcx, rax
call fcn.1400099a0
add qword [r12 + 8], 0x20
jmp 0x14003c99a
mov r8, rsi
mov rdx, rax
mov rcx, r12
call fcn.14003a210
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x78]
cmp r14, rax
ja 0x14003c9e1
lea rdi, [rsp + 0x60]
cmp rax, 7
lea rbx, [r14 + r14]
cmova rdi, qword [rsp + 0x60]
mov qword [rsp + 0x70], r14
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.140078840
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x14003c9f8
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.14000b0d0
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
add rsi, 0x20
cmp rsi, r13
lea rdi, [r12 + 0x18]
jne 0x14003c5e5
cmp qword [rsp + 0x70], 0
je 0x14003caa3
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.14003c100
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x30]
lea rcx, [r12 + 0x18]
call fcn.14003cef0
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x40]
cmp rcx, rax
je 0x14003caa3
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x14003ca96
mov rdi, rcx
cmp rax, 7
jbe 0x14003ca78
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.140078840
xor esi, esi
mov word [rdi + rbx], si
jmp 0x14003caa5
mov rdx, r14
call fcn.14000b0d0
mov r15, qword [rsp + 0x58]
xor esi, esi
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14003cae7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cae2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbee
call fcn.14004dce0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], si
cmp r15, 7
jbe 0x14003cb37
lea rdx, [r15*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cb32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbf4
call fcn.14004dce0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], si
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14003cba3
mov rdx, qword [rsp + 0x28]
call fcn.140039650
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cb90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003cbd6
call fcn.14004dce0
mov qword [rsp + 0x30], rsi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov rax, r12
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14004dcc0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400599e0
int3
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
nop
call fcn.1400599e0
int3