Function at 0x140004470
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 - 0xc0]
sub rsp, 0x1c0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r13, rcx
mov qword [rsp + 0x40], rcx
xor r14d, r14d
mov qword [rcx], r14
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], r14
lea r15, [rcx + 0x18]
mov qword [rsp + 0x20], r15
mov qword [r15], r14
mov qword [r15 + 8], r14
mov ecx, 0x50
call fcn.14000f3d0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r15], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r14
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [rsp + 0x20], r14d
lea rdx, [rsp + 0x20]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rsi, rax
test rax, rax
jne 0x1400045e0
mov rbx, qword [rsp + 0x28]
test rbx, rbx
je 0x140004e8b
mov rdi, qword [rsp + 0x30]
cmp rbx, rdi
je 0x14000459d
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 7
jbe 0x14000457f
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14000457a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004ec4
mov rcx, r8
call fcn.14000f414
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
add rbx, 0x20
cmp rbx, rdi
jne 0x140004540
mov rbx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400045ce
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004ec4
mov rcx, rbx
call fcn.14000f414
mov qword [rsp + 0x38], r14
jmp 0x140004e82
mov ebx, 1
cmp dword [rsp + 0x20], ebx
jle 0x14000475e
lea rdi, [rax + 8]
mov rdx, qword [rdi]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140004600
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 0x140004630
cmp rax, r8
cmovb r8, rax
lea rcx, [rbp + 0x30]
call fcn.140005f70
nop
cmp qword [rbp + 0x40], 0
je 0x1400046fd
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.140003610
nop
lea rcx, [rbp + 0x70]
call fcn.140003b50
test al, al
jne 0x1400046a3
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0x38]
je 0x140004691
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.140005720
add qword [rsp + 0x30], 0x20
jmp 0x1400046a3
lea r8, [rbp + 0x70]
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.140007130
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 7
jbe 0x1400046e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400046e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004eca
call fcn.14000f414
mov qword [rbp + 0x80], r14
mov qword [rbp + 0x88], 7
mov word [rbp + 0x70], r14w
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x14000473d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140004738
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004ed0
call fcn.14000f414
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r14w
inc ebx
add rdi, 8
cmp ebx, dword [rsp + 0x20]
jl 0x1400045f3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r14w
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.140005720
nop
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x28]
mov r12, qword [rbp - 0x80]
mov r14, qword [rsp + 0x78]
cmp rsi, rax
je 0x140004cf6
nop dword [rax]
mov rcx, rsi
call fcn.140003fe0
mov rdi, qword [rsp + 0x58]
test al, al
je 0x140004a41
test rdi, rdi
je 0x1400049fb
lea r15, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova r15, qword [rsp + 0x48]
add rdi, rdi
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 edx, edx
mov r9d, edx
mov qword [rbp + 0x20], rdx
mov eax, edx
mov dword [rbp + 0x28], eax
mov byte [rbp + 0x2c], dl
mov ebx, edx
cmp rdi, 0x40
jb 0x140004873
nop word [rax + rax]
movsxd rdx, ebx
add rdx, r15
lea rcx, [rbp - 0x70]
call fcn.140002980
add ebx, 0x40
lea ecx, [rbx + 0x40]
cmp rcx, rdi
jbe 0x140004850
mov eax, dword [rbp + 0x28]
mov r9, qword [rbp + 0x20]
xor edx, edx
movsxd rcx, ebx
cmp rcx, rdi
je 0x1400048a4
mov r8, rdi
sub r8, rcx
lea rdx, [rcx + r15]
lea rcx, [rbp - 0x70]
add rcx, rax
call fcn.1400274c0
sub edi, ebx
mov r8d, dword [rbp + 0x28]
add r8d, edi
mov dword [rbp + 0x28], r8d
mov r9, qword [rbp + 0x20]
jmp 0x1400048aa
mov r8d, edx
mov dword [rbp + 0x28], edx
cmp byte [rbp + 0x2c], 0
jne 0x14000495c
mov ecx, r8d
add r9, rcx
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 0x140004904
mov byte [rbp + rcx - 0x70], 0x80
cmp ebx, 1
jle 0x1400048f5
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.140027100
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 eax, r8d
mov dword [rbp + rax - 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.140002980
cmp dword [rbp + 0x28], 0x40
jbe 0x14000495c
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.140002980
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 + 0xa0], xmm0
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x70]
lea r15, [r13 + 0x18]
mov rcx, r15
call fcn.140005e10
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x68]
cmp rcx, rax
je 0x1400049fb
lea r9, [rsp + 0x68]
cmp r12, 7
cmova r9, qword [rsp + 0x68]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x1400049ea
mov rdi, rcx
cmp rax, 7
jbe 0x1400049cc
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400274c0
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x1400049fb
mov rdx, r14
call fcn.1400061c0
mov r12, qword [rbp - 0x80]
mov r14, qword [rsp + 0x78]
lea rax, [rsp + 0x48]
cmp rax, rsi
je 0x140004ce7
mov rdx, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140004a1a
mov r9, qword [rsi]
mov rax, qword [rsp + 0x60]
cmp rdx, rax
ja 0x140004a32
mov qword [rsp + 0x58], rdx
lea rbx, [rdx + rdx]
jmp 0x140004cac
lea rcx, [rsp + 0x48]
call fcn.1400061c0
jmp 0x140004ce7
test rdi, rdi
je 0x140004c60
lea r15, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova r15, qword [rsp + 0x48]
add rdi, rdi
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 edx, edx
mov r9d, edx
mov qword [rbp + 0x20], rdx
mov ecx, edx
mov dword [rbp + 0x28], edx
mov byte [rbp + 0x2c], dl
mov ebx, edx
cmp rdi, 0x40
jb 0x140004ae3
nop word [rax + rax]
movsxd rdx, ebx
add rdx, r15
lea rcx, [rbp - 0x70]
call fcn.140002980
add ebx, 0x40
lea ecx, [rbx + 0x40]
cmp rcx, rdi
jbe 0x140004ac0
mov ecx, dword [rbp + 0x28]
mov r9, qword [rbp + 0x20]
xor edx, edx
movsxd rax, ebx
cmp rax, rdi
je 0x140004b16
mov r8, rdi
sub r8, rax
lea rdx, [r15 + rax]
mov eax, ecx
lea rcx, [rbp - 0x70]
add rcx, rax
call fcn.1400274c0
sub edi, ebx
mov r8d, dword [rbp + 0x28]
add r8d, edi
mov dword [rbp + 0x28], r8d
mov r9, qword [rbp + 0x20]
jmp 0x140004b1c
mov r8d, edx
mov dword [rbp + 0x28], edx
cmp byte [rbp + 0x2c], 0
jne 0x140004bce
mov ecx, r8d
add r9, rcx
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 0x140004b76
mov byte [rbp + rcx - 0x70], 0x80
cmp ebx, 1
jle 0x140004b67
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.140027100
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 eax, r8d
mov dword [rbp + rax - 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.140002980
cmp dword [rbp + 0x28], 0x40
jbe 0x140004bce
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.140002980
mov eax, dword [rbp + 0x10]
mov dword [rbp + 0x60], eax
mov eax, dword [rbp + 0x14]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x68], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x6c], eax
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x90], xmm0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x30]
lea r15, [r13 + 0x18]
mov rcx, r15
call fcn.140005e10
mov rcx, qword [rax]
add rcx, 0x30
cmp rcx, rsi
je 0x140004c8a
mov rdx, qword [rsi + 0x10]
mov r9, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140004c26
mov r9, qword [rsi]
mov rax, qword [rcx + 0x18]
cmp rdx, rax
ja 0x140004c59
mov rdi, rcx
cmp rax, 7
jbe 0x140004c3b
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400274c0
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x140004c8a
call fcn.1400061c0
jmp 0x140004c8a
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x140004c7c
mov rdx, rsi
mov rcx, rax
call fcn.140005720
add qword [r13 + 8], 0x20
jmp 0x140004c8a
mov r8, rsi
mov rdx, rax
mov rcx, r13
call fcn.140007130
lea r9, [rsp + 0x68]
cmp r12, 7
cmova r9, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
cmp r14, rax
ja 0x140004cd1
lea rbx, [r14 + r14]
mov qword [rsp + 0x58], r14
lea rdi, [rsp + 0x48]
cmp rax, 7
cmova rdi, qword [rsp + 0x48]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400274c0
xor eax, eax
mov word [rbx + rdi], ax
jmp 0x140004ce7
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.1400061c0
mov r14, qword [rsp + 0x78]
mov r12, qword [rbp - 0x80]
add rsi, 0x20
cmp rsi, qword [rsp + 0x20]
jne 0x1400047c0
cmp qword [rsp + 0x58], 0
je 0x140004d8c
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.140003430
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140005e10
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x68]
cmp rcx, rax
je 0x140004d8c
lea r9, [rsp + 0x68]
cmp r12, 7
cmova r9, qword [rsp + 0x68]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x140004d80
mov rdi, rcx
cmp rax, 7
jbe 0x140004d62
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400274c0
xor esi, esi
mov word [rbx + rdi], si
jmp 0x140004d8e
mov rdx, r14
call fcn.1400061c0
mov r12, qword [rbp - 0x80]
xor esi, esi
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x140004dd0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004dcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004ed6
call fcn.14000f414
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], si
cmp r12, 7
jbe 0x140004e20
lea rdx, [r12*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004edc
call fcn.14000f414
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], si
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x140004e8b
mov rdx, qword [rsp + 0x30]
call fcn.140001aa0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004ebe
call fcn.14000f414
mov qword [rsp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov rax, r13
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14000f3b0
lea r11, [rsp + 0x1c0]
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.140015a84
int3
call fcn.140015a84
nop
call fcn.140015a84
nop
call fcn.140015a84
nop
call fcn.140015a84
nop
call fcn.140015a84
int3