Function at 0x140027480
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 [0x140090040]
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.140031ce8
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 0x1400275e4
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x140027d83
mov rdi, qword [rsp + 0x28]
cmp rbx, rdi
je 0x1400275a1
mov rdx, qword [rbx + 0x18]
cmp rdx, 7
jbe 0x140027583
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14002757e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140027dbc
mov rcx, r8
call fcn.140031ce0
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
add rbx, 0x20
cmp rbx, rdi
jne 0x140027544
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400275d2
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027dbc
mov rcx, rbx
call fcn.140031ce0
mov qword [rsp + 0x30], r14
jmp 0x140027d7a
mov ebx, 1
cmp dword [rbp - 0x80], ebx
jle 0x140027769
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 0x140027610
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 0x140027640
cmp rax, r8
cmovb r8, rax
lea rcx, [rbp + 0x30]
call fcn.140005db0
nop
cmp qword [rbp + 0x40], 0
je 0x140027704
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x60]
call fcn.140026640
nop
lea rcx, [rbp + 0x60]
call fcn.140026b60
test al, al
jne 0x1400276b3
mov rax, qword [rsp + 0x28]
cmp rax, qword [rsp + 0x30]
je 0x1400276a1
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.140005030
add qword [rsp + 0x28], 0x20
jmp 0x1400276b3
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140028b30
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 7
jbe 0x1400276f3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400276ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027dc2
call fcn.140031ce0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r14w
mov rdx, qword [rbp + 0x48]
cmp rdx, 7
jbe 0x140027744
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
cmp rdx, 0x1000
mov rax, rcx
jb 0x14002773f
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027dc8
call fcn.140031ce0
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 0x140027600
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.140005030
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 0x140027bea
mov rcx, rsi
call fcn.140026ff0
mov r8, qword [rsp + 0x70]
test al, al
je 0x1400279cb
test r8, r8
je 0x14002799d
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.140019470
cmp byte [rbp + 0x2c], 0
jne 0x140027901
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 0x1400278ab
mov byte [rbp + r8 - 0x70], 0x80
cmp ebx, 1
jle 0x14002789c
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.140057330
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.1400195a0
cmp dword [rbp + 0x28], 0x40
jbe 0x140027901
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400195a0
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.1400285d0
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x40]
cmp rcx, rax
je 0x14002799d
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x14002798b
mov rdi, rcx
cmp rax, 7
jbe 0x14002796d
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400576f0
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x14002799d
mov rdx, r14
call fcn.14000d660
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
cmp rax, rsi
je 0x140027bd8
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x1400279b8
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000c9a0
jmp 0x140027bd8
test r8, r8
je 0x140027b4d
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.140019470
cmp byte [rbp + 0x2c], 0
jne 0x140027af2
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 0x140027a9c
mov byte [rbp + r8 - 0x70], 0x80
cmp ebx, 1
jle 0x140027a8d
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.140057330
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.1400195a0
cmp dword [rbp + 0x28], 0x40
jbe 0x140027af2
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400195a0
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.1400285d0
mov rcx, qword [rax]
add rcx, 0x30
cmp rcx, rsi
je 0x140027b7a
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140027b42
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
call fcn.14000c9a0
jmp 0x140027b7a
mov rax, qword [r12 + 8]
cmp rax, qword [r12 + 0x10]
je 0x140027b6c
mov rdx, rsi
mov rcx, rax
call fcn.140005030
add qword [r12 + 8], 0x20
jmp 0x140027b7a
mov r8, rsi
mov rdx, rax
mov rcx, r12
call fcn.140028b30
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x78]
cmp r14, rax
ja 0x140027bc1
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.1400576f0
xor eax, eax
mov word [rdi + rbx], ax
jmp 0x140027bd8
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.14000d660
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
add rsi, 0x20
cmp rsi, r13
lea rdi, [r12 + 0x18]
jne 0x1400277c5
cmp qword [rsp + 0x70], 0
je 0x140027c83
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.1400264a0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x30]
lea rcx, [r12 + 0x18]
call fcn.1400285d0
mov rcx, qword [rax]
add rcx, 0x30
lea rax, [rsp + 0x40]
cmp rcx, rax
je 0x140027c83
lea r9, [rsp + 0x40]
cmp r15, 7
cmova r9, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
cmp r14, rax
ja 0x140027c76
mov rdi, rcx
cmp rax, 7
jbe 0x140027c58
mov rdi, qword [rcx]
mov qword [rcx + 0x10], r14
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.1400576f0
xor esi, esi
mov word [rdi + rbx], si
jmp 0x140027c85
mov rdx, r14
call fcn.14000d660
mov r15, qword [rsp + 0x58]
xor esi, esi
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x140027cc7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027cc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027dce
call fcn.140031ce0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], si
cmp r15, 7
jbe 0x140027d17
lea rdx, [r15*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027d12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027dd4
call fcn.140031ce0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], si
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x140027d83
mov rdx, qword [rsp + 0x28]
call fcn.140028730
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027d70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027db6
call fcn.140031ce0
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.140031cc0
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.14003c714
int3
call fcn.14003c714
nop
call fcn.14003c714
nop
call fcn.14003c714
nop
call fcn.14003c714
nop
call fcn.14003c714
int3