Function at 0x14001f340
Capabilities:
Accept command line arguments
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1400a1020]
xor rax, rsp
mov qword [rbp + 0x80], rax
xor r15d, r15d
lea rcx, [rbp - 8]
call fcn.14001cf20
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], r15b
mov dword [rbp + 0x20], 0x67452301
mov dword [rbp + 0x24], 0xefcdab89
mov dword [rbp + 0x28], 0x98badcfe
mov dword [rbp + 0x2c], 0x10325476
mov dword [rbp + 0x30], 0xc3d2e1f0
xor r8d, r8d
lea rdx, [0x1400557ce]
lea rcx, [rbp + 0x38]
call fcn.14000c750
mov qword [rbp + 0x58], r15
lea r8, [rbp - 8]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x20]
call fcn.140005560
nop
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
add r8, rdx
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0x60]
call fcn.14000cb10
nop
lea rax, [rsp + 0x30]
mov qword [rsp + 0x40], rax
lea rbx, [rbp + 0x60]
cmp qword [rbp + 0x78], 8
cmovae rbx, qword [rbp + 0x60]
call fcn.140001280
mov rcx, rax
test rax, rax
je 0x14001fa49
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140011880
test al, al
jne 0x14001f489
test rbx, rbx
jne 0x14001f468
mov r8d, r15d
jmp 0x14001f47b
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001f470
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140023020
nop
lea rcx, [rsp + 0x30]
call fcn.14001f220
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001f8eb
mov r13b, 1
mov esi, 1
cmp dword [rsp + 0x50], esi
jle 0x14001f752
lea r14, [rax + 8]
mov r12, qword [rbp - 8]
mov rbx, qword [r14]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x48], rax
call fcn.140001280
test rax, rax
je 0x14001fa66
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140011880
test al, al
jne 0x14001f53a
test rbx, rbx
jne 0x14001f51a
mov r8d, r15d
jmp 0x14001f52c
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x14001f521
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140023020
nop
lea rcx, [rsp + 0x30]
call fcn.14001f220
cmp eax, 0x91a72296
jne 0x14001f73d
mov eax, dword [rsp + 0x50]
dec eax
cmp esi, eax
jge 0x14001f73d
xor r13b, r13b
mov rdx, qword [r14 + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], r15
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14001f580
lea rcx, [rsp + 0x78]
call fcn.14000cfd0
nop
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 8
setae r8b
cmovae rdx, qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
lea r10, [rdx + rax*2]
lea rdx, [rsp + 0x78]
test r8b, r8b
cmovne rdx, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
cmp rdx, r10
jne 0x14001f5e6
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
jmp 0x14001f5fc
mov r9, r10
sub r9, rdx
sar r9, 1
mov r8, r10
lea rcx, [rbp - 0x68]
call fcn.140024c30
nop
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x20]
call fcn.140005560
nop
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
call fcn.140011720
mov rcx, rax
call fcn.14001f220
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 0x10
cmovae rdx, r12
lea rcx, [rbp - 0x68]
mov rdi, qword [rbp - 0x50]
cmp rdi, 0x10
setae r15b
mov rbx, qword [rbp - 0x68]
cmovae rcx, rbx
mov r8, qword [rbp - 0x58]
cmp r8, qword [rbp + 8]
jne 0x14001f66e
call fcn.14002a530
test eax, eax
je 0x14001f78c
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14001f6ab
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f6a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa54
call fcn.140027894
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], SafeArrayUnaccessData
mov byte [rsp + 0x58], 0
test r15b, r15b
je 0x14001f6f9
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14001f6f0
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa5a
mov rcx, rbx
call fcn.140027894
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14001f73a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f735
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa60
call fcn.140027894
xor r15d, r15d
inc esi
add r14, 8
cmp esi, dword [rsp + 0x50]
jl 0x14001f4d2
mov rbx, qword [rsp + 0x38]
lea r8, [rbp - 8]
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x20]
call fcn.140005560
nop
lea rcx, [rbp - 0x48]
cmp r13b, 1
jne 0x14001f86b
lea rax, [0x14009695c]
lea r9, [0x140055845]
lea rdx, str.startmissing
jmp 0x14001f880
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14001f7d5
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f7d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa54
call fcn.140027894
xor r15d, r15d
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], SafeArrayUnaccessData
mov byte [rsp + 0x58], r15b
cmp rdi, 0x10
jb 0x14001f823
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14001f81a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa5a
mov rcx, rbx
call fcn.140027894
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14001f864
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f85f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa60
call fcn.140027894
mov bl, 1
jmp 0x14001f8ef
lea rax, [0x140096960]
lea r9, [0x140055846]
lea rdx, str.startmismatch
cmp qword [rbp - 0x30], 0x10
mov qword [rsp + 0x20], rax
cmovae rcx, qword [rbp - 0x48]
call fcn.1400251b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor bl, bl
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x14001f8da
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f8d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa71
call fcn.140027894
movdqa xmm0, xmmword [0x140097420]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], 0
mov r12, qword [rbp - 8]
mov rdx, qword [rbp + 0x78]
cmp rdx, 8
jb 0x14001f92f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f92a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa77
call fcn.140027894
movdqa xmm0, xmmword [0x140097410]
movdqu xmmword [rbp + 0x70], xmm0
mov word [rbp + 0x60], r15w
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x14001f97c
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f977
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa7d
call fcn.140027894
movdqa xmm0, xmmword [0x140097420]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp + 0x50]
cmp rdx, 0x10
jb 0x14001f9c8
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f9c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa83
call fcn.140027894
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], 0xf
mov byte [rbp + 0x38], 0
mov rax, qword [rbp + 0x10]
cmp rax, 0x10
jb 0x14001fa10
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x14001fa08
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa43
mov rcx, r12
call fcn.140027894
movzx eax, bl
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.140027540
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14002e3f8
nop
mov ecx, 0x80004005
call fcn.140001170
nop
call fcn.14002e3f8
nop
call fcn.14002e3f8
nop
call fcn.14002e3f8
int3
mov ecx, 0x80004005
call fcn.140001170
int3
call fcn.14002e3f8
nop
call fcn.14002e3f8
nop
call fcn.14002e3f8
nop
call fcn.14002e3f8
int3