Function at 0x14001b9f0
Capabilities:
Encode data using xor
Hash data with md5
Read file on windows
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rdi, rcx
mov rsi, rdx
mov ecx, 0x1040
call fcn.140073b88
mov r13, rax
mov dword [rdi], 0x67452301
xor ebx, ebx
mov dword [rdi + 4], 0xefcdab89
mov dword [rdi + 8], 0x98badcfe
mov dword [rdi + 0xc], 0x10325476
nop word [rax + rax]
mov r9, rsi
mov edx, 1
mov r8d, 0x1000
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add ebx, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
mov rcx, rax
cmp eax, 0x1000
jne 0x14001ba75
mov dword [rsp + 0x98], eax
jmp 0x14001bac8
mov eax, ecx
mov byte [rax + r13], 0x80
lea eax, [rcx + 1]
mov ecx, eax
and ecx, 0x3f
cmp cl, 0x38
je 0x14001baa1
nop dword [rax]
mov byte [rax + r13], 0
inc eax
mov ecx, eax
and ecx, 0x3f
cmp cl, 0x38
jne 0x14001ba90
lea edx, [rbx*8]
mov dword [rax + r13], edx
add eax, 4
mov edx, ebx
shr edx, 0x1d
mov dword [rax + r13], edx
add eax, 4
mov dword [rsp + 0x98], eax
je 0x14001c576
xor eax, eax
mov dword [rsp + 0x90], eax
nop dword [rax]
nop word [rax + rax]
mov r12d, dword [rdi + 4]
mov edx, r12d
mov r15d, dword [rdi + 8]
not edx
mov ebp, dword [rdi + 0xc]
and edx, ebp
mov esi, dword [rdi]
mov r14d, eax
mov eax, r12d
and eax, r15d
add r14, r13
or edx, eax
mov eax, r12d
add edx, 0xd76aa478
add edx, dword [r14]
add edx, esi
rol edx, 7
add edx, r12d
and eax, edx
mov dword [rdi], edx
mov r8d, dword [r14 + 4]
mov ecx, edx
not ecx
and ecx, r15d
or ecx, eax
add ecx, 0xe8c7b756
add ecx, ebp
add r8d, ecx
rol r8d, 0xc
add r8d, edx
mov dword [rdi + 0xc], r8d
mov ecx, r8d
mov r9d, dword [rdi]
not ecx
mov edx, dword [r14 + 8]
and ecx, r12d
mov eax, r8d
and eax, r9d
or ecx, eax
add ecx, 0x242070db
add ecx, r15d
add edx, ecx
ror edx, 0xf
add edx, r8d
mov dword [rdi + 8], edx
mov ecx, edx
mov r10d, dword [rdi + 0xc]
not ecx
mov r8d, dword [r14 + 0xc]
and ecx, r9d
mov eax, edx
and eax, r10d
or ecx, eax
add ecx, 0xc1bdceee
add ecx, r12d
add r8d, ecx
ror r8d, 0xa
add r8d, edx
mov dword [rdi + 4], r8d
mov ecx, r8d
mov r11d, dword [rdi + 8]
not ecx
mov edx, dword [r14 + 0x10]
and ecx, r10d
mov eax, r8d
and eax, r11d
or ecx, eax
add ecx, 0xf57c0faf
add ecx, r9d
add edx, ecx
rol edx, 7
add edx, r8d
mov ecx, edx
mov dword [rdi], edx
mov r8d, dword [rdi + 4]
not ecx
and ecx, r11d
mov eax, edx
and eax, r8d
or ecx, eax
add ecx, 0x4787c62a
add ecx, r10d
add ecx, dword [r14 + 0x14]
rol ecx, 0xc
add edx, ecx
mov dword [rdi + 0xc], edx
mov ecx, edx
mov r9d, dword [rdi]
not ecx
and ecx, r8d
mov eax, edx
and eax, r9d
or ecx, eax
add ecx, 0xa8304613
add ecx, r11d
add ecx, dword [r14 + 0x18]
ror ecx, 0xf
add edx, ecx
mov dword [rdi + 8], edx
mov ecx, edx
mov ebx, dword [rdi + 0xc]
not ecx
and ecx, r9d
mov eax, edx
and eax, ebx
or ecx, eax
add ecx, 0xfd469501
add ecx, dword [r14 + 0x1c]
add r8d, ecx
ror r8d, 0xa
add r8d, edx
mov dword [rdi + 4], r8d
mov ecx, r8d
mov r10d, dword [rdi + 8]
mov eax, r8d
mov edx, dword [r14 + 0x20]
not ecx
and ecx, ebx
and eax, r10d
or ecx, eax
add ecx, 0x698098d8
add ecx, r9d
add edx, ecx
rol edx, 7
add edx, r8d
mov dword [rdi], edx
mov r8d, edx
mov r11d, dword [rdi + 4]
not r8d
and r8d, r10d
mov eax, edx
and eax, r11d
or r8d, eax
add r8d, 0x8b44f7af
add r8d, dword [r14 + 0x24]
add r8d, ebx
rol r8d, 0xc
add r8d, edx
mov dword [rdi + 0xc], r8d
mov ecx, r8d
mov r9d, dword [rdi]
mov eax, r8d
mov edx, dword [r14 + 0x28]
not ecx
and ecx, r11d
and eax, r9d
or ecx, eax
add ecx, 0xffff5bb1
add ecx, r10d
add edx, ecx
ror edx, 0xf
add edx, r8d
mov dword [rdi + 8], edx
mov r8d, edx
mov r10d, dword [rdi + 0xc]
not r8d
and r8d, r9d
mov eax, edx
and eax, r10d
or r8d, eax
add r8d, 0x895cd7be
add r8d, dword [r14 + 0x2c]
add r8d, r11d
ror r8d, 0xa
add r8d, edx
mov dword [rdi + 4], r8d
mov ecx, r8d
mov r11d, dword [rdi + 8]
not ecx
mov edx, dword [r14 + 0x30]
and ecx, r10d
mov eax, r8d
and eax, r11d
or ecx, eax
add ecx, 0x6b901122
add ecx, r9d
add edx, ecx
rol edx, 7
add edx, r8d
mov dword [rdi], edx
mov r8d, edx
mov ebx, dword [rdi + 4]
not r8d
and r8d, r11d
mov eax, edx
and eax, ebx
or r8d, eax
add r8d, 0xfd987193
add r8d, dword [r14 + 0x34]
add r8d, r10d
rol r8d, 0xc
add r8d, edx
mov dword [rdi + 0xc], r8d
mov ecx, r8d
mov r10d, dword [rdi]
not ecx
mov edx, dword [r14 + 0x38]
and ecx, ebx
mov eax, r8d
and eax, r10d
or ecx, eax
add ecx, 0xa679438e
add ecx, r11d
add edx, ecx
ror edx, 0xf
add edx, r8d
mov dword [rdi + 8], edx
mov r8d, edx
mov r9d, dword [rdi + 0xc]
not r8d
and r8d, r10d
mov eax, edx
and eax, r9d
mov ecx, r9d
or r8d, eax
not ecx
add r8d, 0x49b40821
add r8d, dword [r14 + 0x3c]
add r8d, ebx
ror r8d, 0xa
add r8d, edx
mov dword [rdi + 4], r8d
mov eax, r8d
mov ebx, dword [rdi + 8]
and eax, r9d
mov edx, dword [r14 + 4]
and ecx, ebx
or ecx, eax
add ecx, 0xf61e2562
add ecx, r10d
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 5
add edx, r8d
mov dword [rdi], edx
mov eax, edx
mov r11d, dword [rdi + 4]
and eax, ebx
and ecx, r11d
or ecx, eax
mov eax, dword [r14 + 0x18]
add ecx, r9d
add eax, 0xc040b340
lea r8d, [rbx + 0x265e5a51]
add ecx, eax
rol ecx, 9
add edx, ecx
mov ecx, r11d
not ecx
mov dword [rdi + 0xc], edx
mov r9d, dword [rdi]
mov eax, edx
and ecx, r9d
and eax, r11d
or ecx, eax
add ecx, dword [r14 + 0x2c]
add r8d, ecx
mov ecx, r9d
not ecx
rol r8d, 0xe
add r8d, edx
lea edx, [r11 - 0x16493856]
mov dword [rdi + 8], r8d
mov eax, r8d
mov r10d, dword [rdi + 0xc]
and eax, r9d
and ecx, r10d
or ecx, eax
mov eax, r10d
add ecx, dword [r14]
add edx, ecx
mov ecx, r10d
not ecx
ror edx, 0xc
add edx, r8d
add r10d, 0x2441453
mov dword [rdi + 4], edx
and eax, edx
mov r11d, dword [rdi + 8]
and ecx, r11d
mov r8d, dword [r14 + 0x14]
or ecx, eax
add ecx, 0xd62f105d
mov eax, r11d
add ecx, r9d
add r8d, ecx
mov ecx, r11d
not ecx
rol r8d, 5
add r8d, edx
mov dword [rdi], r8d
and eax, r8d
mov ebx, dword [rdi + 4]
and ecx, ebx
mov edx, dword [r14 + 0x28]
or ecx, eax
add ecx, r10d
mov r10, qword [rsp + 0x80]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 9
add edx, r8d
mov dword [rdi + 0xc], edx
mov eax, edx
mov edi, dword [rdi]
and eax, ebx
mov r8d, dword [r14 + 0x3c]
and ecx, edi
or ecx, eax
add ecx, 0xd8a1e681
add ecx, r11d
add r8d, ecx
mov ecx, edi
rol r8d, 0xe
not ecx
add r8d, edx
mov dword [r10 + 8], r8d
mov eax, r8d
mov r9d, dword [r10 + 0xc]
and eax, edi
and ecx, r9d
or ecx, eax
mov edx, dword [r14 + 0x10]
add ecx, 0xe7d3fbc8
add ecx, ebx
mov eax, r9d
add edx, ecx
ror edx, 0xc
add edx, r8d
mov r8d, r9d
mov dword [r10 + 4], edx
and eax, edx
mov r10d, dword [r10 + 8]
not r8d
and r8d, r10d
mov ecx, r10d
or r8d, eax
not ecx
add r8d, 0x21e1cde6
mov eax, r10d
add r8d, dword [r14 + 0x24]
add r9d, 0xc33707d6
add r8d, edi
add r10d, 0xf4d50d87
mov rdi, qword [rsp + 0x80]
rol r8d, 5
add r8d, edx
and eax, r8d
mov dword [rdi], r8d
mov r11d, dword [rdi + 4]
and ecx, r11d
mov edx, dword [r14 + 0x38]
or ecx, eax
add ecx, r9d
add edx, ecx
mov ecx, r11d
not ecx
rol edx, 9
add edx, r8d
mov dword [rdi + 0xc], edx
mov eax, edx
mov ebx, dword [rdi]
and eax, r11d
mov r8d, dword [r14 + 0xc]
and ecx, ebx
or ecx, eax
add r11d, 0x455a14ed
add ecx, r10d
add r8d, ecx
mov ecx, ebx
not ecx
rol r8d, 0xe
add r8d, edx
mov dword [rdi + 8], r8d
mov eax, r8d
mov r9d, dword [rdi + 0xc]
and eax, ebx
mov edx, dword [r14 + 0x20]
and ecx, r9d
or ecx, eax
add ecx, r11d
add edx, ecx
mov ecx, r9d
not ecx
ror edx, 0xc
add edx, r8d
lea r8d, [rbx - 0x561c16fb]
mov dword [rdi + 4], edx
mov eax, edx
mov r10d, dword [rdi + 8]
and eax, r9d
and ecx, r10d
or ecx, eax
add ecx, dword [r14 + 0x34]
add r8d, ecx
mov ecx, r10d
rol r8d, 5
not ecx
add r8d, edx
mov dword [rdi], r8d
mov eax, r8d
mov r11d, dword [rdi + 4]
and ecx, r11d
mov edx, dword [r14 + 8]
and eax, r10d
or ecx, eax
add r9d, 0xfcefa3f8
add ecx, r9d
add edx, ecx
mov ecx, r11d
not ecx
rol edx, 9
add edx, r8d
lea r8d, [r10 + 0x676f02d9]
mov dword [rdi + 0xc], edx
mov eax, edx
mov r9d, dword [rdi]
and eax, r11d
and ecx, r9d
add r11d, 0x8d2a4c8a
or ecx, eax
add ecx, dword [r14 + 0x1c]
add r8d, ecx
mov ecx, r9d
not ecx
rol r8d, 0xe
add r8d, edx
mov dword [rdi + 8], r8d
mov eax, r8d
mov r10d, dword [rdi + 0xc]
and eax, r9d
mov edx, dword [r14 + 0x30]
and ecx, r10d
or ecx, eax
mov eax, r10d
add ecx, r11d
add r10d, 0x8771f681
add edx, ecx
ror edx, 0xc
add edx, r8d
lea r8d, [r9 - 0x5c6be]
mov dword [rdi + 4], edx
xor eax, edx
mov r11d, dword [rdi + 8]
xor eax, r11d
add eax, dword [r14 + 0x14]
add r8d, eax
rol r8d, 4
add r8d, edx
mov dword [rdi], r8d
mov ecx, r8d
mov r9d, dword [rdi + 4]
xor ecx, r9d
mov edx, dword [r14 + 0x20]
xor ecx, r11d
add ecx, r10d
add edx, ecx
rol edx, 0xb
add edx, r8d
lea r8d, [r11 + 0x6d9d6122]
mov dword [rdi + 0xc], edx
mov r10d, dword [rdi]
mov eax, r10d
xor eax, edx
mov ecx, r10d
xor eax, r9d
add r9d, 0xfde5380c
add eax, dword [r14 + 0x2c]
add r8d, eax
rol r8d, 0x10
add r8d, edx
mov dword [rdi + 8], r8d
xor ecx, r8d
mov r11d, dword [rdi + 0xc]
xor ecx, r11d
mov edx, dword [r14 + 0x38]
add ecx, r9d
add edx, ecx
mov ecx, r11d
ror edx, 9
add edx, r8d
mov dword [rdi + 4], edx
xor ecx, edx
mov r9d, dword [rdi + 8]
mov r8d, dword [r14 + 4]
xor ecx, r9d
add r10d, 0xa4beea44
add r11d, 0x4bdecfa9
add ecx, r10d
add r8d, ecx
mov ecx, r9d
rol r8d, 4
add r9d, 0xf6bb4b60
add r8d, edx
xor ecx, r8d
mov dword [rdi], r8d
mov r10d, dword [rdi + 4]
xor ecx, r10d
mov edx, dword [r14 + 0x10]
add ecx, r11d
add edx, ecx
mov ecx, r10d
rol edx, 0xb
add r10d, 0xbebfbc70
add edx, r8d
mov dword [rdi + 0xc], edx
mov r11d, dword [rdi]
xor ecx, r11d
mov r8d, dword [r14 + 0x1c]
xor ecx, edx
add ecx, r9d
add r8d, ecx
mov ecx, r11d
rol r8d, 0x10
add r11d, 0x289b7ec6
add r8d, edx
xor ecx, r8d
mov dword [rdi + 8], r8d
mov r9d, dword [rdi + 0xc]
xor ecx, r9d
mov edx, dword [r14 + 0x28]
add ecx, r10d
add edx, ecx
mov ecx, r9d
ror edx, 9
add r9d, 0xeaa127fa
add edx, r8d
xor ecx, edx
mov dword [rdi + 4], edx
mov r10d, dword [rdi + 8]
xor ecx, r10d
mov r8d, dword [r14 + 0x34]
add ecx, r11d
add r8d, ecx
mov ecx, r10d
rol r8d, 4
add r10d, 0xd4ef3085
add r8d, edx
xor ecx, r8d
mov dword [rdi], r8d
mov r11d, dword [rdi + 4]
xor ecx, r11d
mov edx, dword [r14]
add ecx, r9d
add edx, ecx
mov ecx, r11d
rol edx, 0xb
add r11d, 0x4881d05
add edx, r8d
mov dword [rdi + 0xc], edx
mov r9d, dword [rdi]
xor ecx, r9d
mov r8d, dword [r14 + 0xc]
xor ecx, edx
add ecx, r10d
add r8d, ecx
mov ecx, r9d
rol r8d, 0x10
add r8d, edx
mov dword [rdi + 8], r8d
xor ecx, r8d
mov r10d, dword [rdi + 0xc]
xor ecx, r10d
mov edx, dword [r14 + 0x18]
add ecx, r11d
add edx, ecx
add r9d, 0xd9d4d039
ror edx, 9
mov ecx, r10d
add edx, r8d
add r10d, 0xe6db99e5
xor ecx, edx
mov dword [rdi + 4], edx
mov r11d, dword [rdi + 8]
xor ecx, r11d
mov r8d, dword [r14 + 0x24]
add ecx, r9d
add r8d, ecx
mov ecx, r11d
rol r8d, 4
add r11d, 0x1fa27cf8
add r8d, edx
xor ecx, r8d
mov dword [rdi], r8d
mov r9d, dword [rdi + 4]
xor ecx, r9d
mov edx, dword [r14 + 0x30]
add ecx, r10d
add edx, ecx
mov ecx, r9d
rol edx, 0xb
add r9d, 0xc4ac5665
add edx, r8d
mov dword [rdi + 0xc], edx
mov r10d, dword [rdi]
xor ecx, r10d
mov r8d, dword [r14 + 0x3c]
xor ecx, edx
add ecx, r11d
add r8d, ecx
mov ecx, r10d
rol r8d, 0x10
add r10d, 0xf4292244
add r8d, edx
xor ecx, r8d
mov dword [rdi + 8], r8d
mov r11d, dword [rdi + 0xc]
xor ecx, r11d
mov edx, dword [r14 + 8]
add ecx, r9d
add edx, ecx
mov ecx, r11d
not ecx
ror edx, 9
add edx, r8d
lea r8d, [r11 + 0x432aff97]
or ecx, edx
mov dword [rdi + 4], edx
mov r9d, dword [rdi + 8]
xor ecx, r9d
add ecx, r10d
mov eax, r9d
add ecx, dword [r14]
not eax
rol ecx, 6
add r9d, 0xab9423a7
add edx, ecx
mov dword [rdi], edx
or eax, edx
mov r10d, dword [rdi + 4]
xor eax, r10d
add eax, dword [r14 + 0x1c]
mov ecx, r10d
add r8d, eax
not ecx
rol r8d, 0xa
add r8d, edx
or ecx, r8d
mov dword [rdi + 0xc], r8d
mov r11d, dword [rdi]
xor ecx, r11d
mov edx, dword [r14 + 0x38]
add ecx, r9d
add edx, ecx
rol edx, 0xf
add edx, r8d
mov dword [rdi + 8], edx
add r10d, 0xfc93a039
mov r9d, dword [rdi + 0xc]
mov ecx, r11d
mov r8d, dword [r14 + 0x14]
not ecx
or ecx, edx
add r11d, 0x655b59c3
xor ecx, r9d
add ecx, r10d
add r8d, ecx
mov ecx, r9d
not ecx
ror r8d, 0xb
add r8d, edx
add r9d, 0x8f0ccc92
or ecx, r8d
mov dword [rdi + 4], r8d
mov r10d, dword [rdi + 8]
xor ecx, r10d
mov edx, dword [r14 + 0x30]
add ecx, r11d
add edx, ecx
mov ecx, r10d
not ecx
rol edx, 6
add edx, r8d
add r10d, 0xffeff47d
or ecx, edx
mov dword [rdi], edx
mov r11d, dword [rdi + 4]
xor ecx, r11d
mov r8d, dword [r14 + 0xc]
add ecx, r9d
add r8d, ecx
mov ecx, r11d
not ecx
rol r8d, 0xa
add r8d, edx
add r11d, 0x85845dd1
or ecx, r8d
mov dword [rdi + 0xc], r8d
mov r9d, dword [rdi]
xor ecx, r9d
mov edx, dword [r14 + 0x28]
add ecx, r10d
add edx, ecx
mov ecx, r9d
not ecx
rol edx, 0xf
add edx, r8d
add r9d, 0x6fa87e4f
or ecx, edx
mov dword [rdi + 8], edx
mov r10d, dword [rdi + 0xc]
xor ecx, r10d
mov r8d, dword [r14 + 4]
add ecx, r11d
add r8d, ecx
mov ecx, r10d
not ecx
ror r8d, 0xb
add r8d, edx
add r10d, 0xfe2ce6e0
or ecx, r8d
mov dword [rdi + 4], r8d
mov r11d, dword [rdi + 8]
xor ecx, r11d
mov edx, dword [r14 + 0x20]
add ecx, r9d
add edx, ecx
mov ecx, r11d
not ecx
rol edx, 6
add edx, r8d
mov dword [rdi], edx
or ecx, edx
mov r9d, dword [rdi + 4]
xor ecx, r9d
mov r8d, dword [r14 + 0x3c]
add ecx, r10d
add r8d, ecx
add r11d, 0xa3014314
rol r8d, 0xa
mov ecx, r9d
not ecx
add r8d, edx
or ecx, r8d
mov dword [rdi + 0xc], r8d
mov r10d, dword [rdi]
add r9d, 0x4e0811a1
mov edx, dword [r14 + 0x18]
xor ecx, r10d
add ecx, r11d
add edx, ecx
mov ecx, r10d
not ecx
rol edx, 0xf
add edx, r8d
add r10d, 0xf7537e82
or ecx, edx
mov dword [rdi + 8], edx
mov r11d, dword [rdi + 0xc]
xor ecx, r11d
mov r8d, dword [r14 + 0x34]
add ecx, r9d
add r8d, ecx
mov ecx, r11d
not ecx
ror r8d, 0xb
add r8d, edx
or ecx, r8d
mov dword [rdi + 4], r8d
mov ebx, dword [rdi + 8]
xor ecx, ebx
mov edx, dword [r14 + 0x10]
add ecx, r10d
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 6
add edx, r8d
mov dword [rdi], edx
or ecx, edx
mov r10d, dword [rdi + 4]
xor ecx, r10d
mov r8d, dword [r14 + 0x2c]
add ecx, 0xbd3af235
add ecx, r11d
add r8d, ecx
mov ecx, r10d
not ecx
rol r8d, 0xa
add r8d, edx
mov dword [rdi + 0xc], r8d
or ecx, r8d
mov r9d, dword [rdi]
xor ecx, r9d
mov edx, dword [r14 + 8]
add ecx, 0x2ad7d2bb
add ecx, ebx
add edx, ecx
lea eax, [r9 + rsi]
rol edx, 0xf
add edx, r8d
not r9d
mov dword [rdi + 8], edx
or r9d, edx
mov r8d, dword [rdi + 0xc]
xor r9d, r8d
mov ecx, dword [r14 + 0x24]
mov dword [rdi], eax
lea eax, [r10 + r9]
add eax, 0xeb86d391
add eax, ecx
ror eax, 0xb
add eax, edx
add eax, r12d
mov dword [rdi + 4], eax
lea eax, [r8 + rbp]
add dword [rdi + 8], r15d
mov dword [rdi + 0xc], eax
mov eax, dword [rsp + 0x90]
add eax, 0x40
mov dword [rsp + 0x90], eax
cmp eax, dword [rsp + 0x98]
jb 0x14001bae0
cmp dword [rsp + 0x28], 0x1000
mov ebx, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x88]
je 0x14001ba40
mov rcx, r13
call fcn.140073b54
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret