Function at 0x180019090
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x180023440]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rbx, r8
mov qword [rsp + 0x50], rdx
mov rsi, rdx
mov qword [rbp + 0x68], rbx
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsi + 0x1e8]
mov dword [rbp + 0x90], eax
mov eax, dword [rsi + 0x1ec]
mov dword [rbp + 0x94], eax
mov eax, dword [rsi + 0x1f0]
mov dword [rbp + 0x98], eax
mov eax, dword [rbx + 8]
mov dword [rbp + 0x9c], eax
mov dword [rsp + 0x60], 0x428a2f98
mov dword [rsp + 0x64], 0x71374491
mov dword [rsp + 0x68], 0xb5c0fbcf
mov dword [rsp + 0x6c], 0xe9b5dba5
mov dword [rsp + 0x70], 0x3956c25b
mov dword [rsp + 0x74], 0x59f111f1
mov dword [rsp + 0x78], 0x923f82a4
mov dword [rsp + 0x7c], 0xab1c5ed5
mov dword [rbp - 0x80], 0xd807aa98
mov dword [rbp - 0x7c], 0x12835b01
mov dword [rbp - 0x78], 0x243185be
mov dword [rbp - 0x74], 0x550c7dc3
mov dword [rbp - 0x70], 0x72be5d74
mov dword [rbp - 0x6c], 0x80deb1fe
mov dword [rbp - 0x68], 0x9bdc06a7
mov dword [rbp - 0x64], 0xc19bf174
mov dword [rbp - 0x60], 0xe49b69c1
mov dword [rbp - 0x5c], 0xefbe4786
mov dword [rbp - 0x58], 0xfc19dc6
mov dword [rbp - 0x54], 0x240ca1cc
mov dword [rbp - 0x50], 0x2de92c6f
mov dword [rbp - 0x4c], 0x4a7484aa
mov dword [rbp - 0x48], 0x5cb0a9dc
mov dword [rbp - 0x44], 0x76f988da
mov dword [rbp - 0x40], 0x983e5152
mov dword [rbp - 0x3c], 0xa831c66d
mov dword [rbp - 0x38], 0xb00327c8
mov dword [rbp - 0x34], 0xbf597fc7
mov dword [rbp - 0x30], 0xc6e00bf3
mov dword [rbp - 0x2c], 0xd5a79147
mov dword [rbp - 0x28], 0x6ca6351
mov dword [rbp - 0x24], 0x14292967
mov dword [rbp - 0x20], 0x27b70a85
mov dword [rbp - 0x1c], 0x2e1b2138
mov dword [rbp - 0x18], 0x4d2c6dfc
mov dword [rbp - 0x14], 0x53380d13
mov dword [rbp - 0x10], 0x650a7354
mov dword [rbp - 0xc], 0x766a0abb
mov dword [rbp - 8], 0x81c2c92e
mov dword [rbp - 4], 0x92722c85
mov dword [rbp], 0xa2bfe8a1
mov dword [rbp + 4], 0xa81a664b
mov dword [rbp + 8], 0xc24b8b70
mov dword [rbp + 0xc], 0xc76c51a3
mov dword [rbp + 0x10], 0xd192e819
mov dword [rbp + 0x14], 0xd6990624
mov dword [rbp + 0x18], 0xf40e3585
mov dword [rbp + 0x1c], 0x106aa070
mov dword [rbp + 0x20], 0x19a4c116
mov dword [rbp + 0x24], 0x1e376c08
mov dword [rbp + 0x28], 0x2748774c
mov dword [rbp + 0x2c], 0x34b0bcb5
mov dword [rbp + 0x30], 0x391c0cb3
mov dword [rbp + 0x34], 0x4ed8aa4a
mov dword [rbp + 0x38], 0x5b9cca4f
mov dword [rbp + 0x3c], 0x682e6ff3
mov dword [rbp + 0x40], 0x748f82ee
mov dword [rbp + 0x44], 0x78a5636f
mov dword [rbp + 0x48], 0x84c87814
mov dword [rbp + 0x4c], 0x8cc70208
mov dword [rbp + 0x50], 0x90befffa
mov dword [rbp + 0x54], 0xa4506ceb
mov dword [rbp + 0x58], 0xbef9a3f7
mov dword [rbp + 0x5c], 0xc67178f2
mov dword [rbp + 0xa0], 0x80000000
mov ebx, 0x30
mov dword [rbp + 0xcc], 0x480
mov qword [rbp + 0x60], rbx
lea rax, [rbp + 0xc8]
mov r10d, ebx
nop
mov r9d, dword [rax - 0x34]
mov edx, r9d
mov r8d, dword [rax]
lea rax, [rax + 4]
mov ecx, r9d
ror edx, 7
ror ecx, 0x12
shr r9d, 3
xor r9d, edx
mov edx, r8d
xor r9d, ecx
ror edx, 0x11
mov ecx, r8d
shr r8d, 0xa
xor r8d, edx
ror ecx, 0x13
xor r8d, ecx
add r8d, dword [rax - 0x3c]
add r8d, dword [rax - 0x18]
add r8d, r9d
mov dword [rax + 4], r8d
sub r10, 1
jne 0x180019300
mov eax, dword [rsi + 0x210]
xor r11d, r11d
mov dword [rsp + 0x2c], eax
mov edi, eax
mov eax, dword [rsi + 0x214]
mov r15d, r11d
mov dword [rsp + 0x30], eax
mov r12d, eax
mov eax, dword [rsi + 0x218]
mov r13d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rsi + 0x21c]
mov dword [rsp + 0x28], eax
mov r11d, dword [rsp + 0x28]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x220]
mov r14d, eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsi + 0x224]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x228]
mov ebx, eax
mov dword [rsp + 0x44], eax
mov eax, dword [rsi + 0x22c]
mov esi, dword [rsp + 0x24]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], eax
nop dword [rax]
nop dword [rax + rax]
mov ecx, edi
mov edx, edi
ror edx, 0x16
mov r10d, r12d
ror ecx, 0xd
xor r10d, edi
xor edx, ecx
and r10d, r13d
mov r8d, edi
mov eax, r12d
and eax, edi
ror r8d, 2
xor edx, r8d
xor r10d, eax
add r10d, edx
mov ecx, r14d
ror ecx, 0xb
mov edx, r14d
ror edx, 0x19
mov r9d, r14d
not r9d
xor edx, ecx
and r9d, ebx
mov r8d, r14d
mov eax, esi
ror r8d, 6
and eax, r14d
xor edx, r8d
xor r9d, eax
mov ecx, ebx
add r9d, edx
add r9d, dword [rsp + r15 + 0x60]
add r9d, dword [rbp + r15 + 0x90]
add r15, 4
add r9d, dword [rsp + 0x20]
mov dword [rsp + 0x20], ebx
mov ebx, esi
mov esi, r14d
lea r14d, [r9 + r11]
mov r11d, r13d
mov r13d, r12d
mov r12d, edi
lea edi, [r9 + r10]
cmp r15, 0xfc
jle 0x1800193d0
mov eax, dword [rsp + 0x2c]
lea r9, [rbp + 0xc8]
add eax, edi
mov dword [rbp + 0xb0], 0x80000000
mov dword [rbp + 0x90], eax
mov eax, dword [rsp + 0x30]
add eax, r12d
mov dword [rbp + 0xcc], 0x300
mov dword [rbp + 0x94], eax
mov eax, dword [rsp + 0x34]
add eax, r13d
mov dword [rbp + 0x98], eax
mov eax, dword [rsp + 0x38]
add eax, r11d
mov dword [rbp + 0x9c], eax
mov eax, dword [rsp + 0x3c]
add eax, r14d
mov dword [rbp + 0xa0], eax
mov eax, dword [rsp + 0x40]
add eax, esi
mov dword [rbp + 0xa4], eax
mov eax, dword [rsp + 0x44]
add eax, ebx
mov rbx, qword [rbp + 0x60]
mov dword [rbp + 0xa8], eax
mov eax, dword [rsp + 0x48]
add eax, ecx
xor r11d, r11d
mov dword [rbp + 0xac], eax
mov qword [rbp + 0xb4], r11
mov qword [rbp + 0xbc], r11
mov qword [rbp + 0xc4], r11
mov r8d, dword [r9 - 0x34]
mov ecx, r8d
mov edx, dword [r9]
lea r9, [r9 + 4]
mov eax, r8d
ror ecx, 7
ror eax, 0x12
shr r8d, 3
xor r8d, ecx
mov ecx, edx
xor r8d, eax
ror ecx, 0x11
mov eax, edx
shr edx, 0xa
xor edx, ecx
ror eax, 0x13
xor edx, eax
add edx, dword [r9 - 0x3c]
add edx, dword [r9 - 0x18]
add edx, r8d
mov dword [r9 + 4], edx
sub rbx, 1
jne 0x180019500
mov ebx, 0xdfa9bf2c
mov dword [rsp + 0x20], 0x9f75c9ad
mov esi, 0xd338e869
mov edi, 0xaa3ff126
mov r14d, 0xb72074d4
mov r15d, 0x6bb01122
mov r13d, 0x475bbf30
mov r12d, 0x8fd52e5b
nop word [rax + rax]
mov ecx, ebx
mov edx, ebx
ror edx, 0x16
mov r10d, r14d
xor r10d, ebx
ror ecx, 0xd
xor edx, ecx
and r10d, r15d
mov r8d, ebx
mov eax, r14d
and eax, ebx
ror r8d, 2
xor edx, r8d
xor r10d, eax
add r10d, edx
mov ecx, edi
mov edx, edi
ror ecx, 0xb
ror edx, 0x19
mov r9d, edi
not r9d
mov r8d, edi
and r9d, r12d
ror r8d, 6
mov eax, r13d
xor edx, ecx
and eax, edi
xor edx, r8d
xor r9d, eax
add r9d, edx
add r9d, dword [rsp + r11 + 0x60]
add r9d, dword [rbp + r11 + 0x90]
add r11, 4
add r9d, dword [rsp + 0x20]
mov dword [rsp + 0x20], r12d
mov r12d, r13d
mov r13d, edi
lea edi, [r9 + rsi]
mov esi, r15d
mov r15d, r14d
mov r14d, ebx
lea ebx, [r9 + r10]
cmp r11, 0xfc
jle 0x180019580
lea rcx, [rbp + 0x70]
call qword [sym.imp.TT_SubSystem.dll_public:_void___cdecl_uint256_type::constructor_void____ptr64]
mov rdx, qword [rsp + 0x50]
lea eax, [rbx - 0x205640d4]
bswap eax
mov dword [rbp + 0x70], eax
lea rcx, [rbp + 0x70]
lea eax, [r14 - 0x48df8b2c]
add rdx, 0x130
bswap eax
mov dword [rbp + 0x74], eax
lea eax, [r15 + 0x6bb01122]
bswap eax
mov dword [rbp + 0x78], eax
lea eax, [rsi - 0x2cc71797]
bswap eax
mov dword [rbp + 0x7c], eax
lea eax, [rdi - 0x55c00eda]
bswap eax
mov dword [rbp + 0x80], eax
lea eax, [r13 + 0x475bbf30]
bswap eax
mov dword [rbp + 0x84], eax
lea eax, [r12 - 0x702ad1a5]
bswap eax
mov dword [rbp + 0x88], eax
mov eax, dword [rsp + 0x20]
add eax, 0x9f75c9ad
bswap eax
mov dword [rbp + 0x8c], eax
call qword [sym.imp.TT_SubSystem.dll_public:_bool___cdecl_uint256_type::operator__class_uint256_type_const____ptr64_const___ptr64]
test al, al
je 0x1800196aa
mov eax, 0x801c
jmp 0x1800196c6
mov rcx, qword [rbp + 0x68]
mov eax, dword [rcx + 8]
bswap eax
mov eax, eax
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x88]
mov qword [rcx + 0x30], rax
xor eax, eax
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.180019c90
mov rbx, qword [rsp + 0x2e0]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret