Function at 0x57e300
Capabilities:
Encode data using xor

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb40
xor eax, eax
lea rbp, [rsp + 0x8f]
mov rbx, rcx
mov ecx, 0xc8
mov r13, rdx
and rbp, 0xffffffffffffffc0
movsxd rsi, r8d
lea r12, [rbp + 0x640]
mov rdi, rbp
shl rsi, 7
rep stosq qword [rdi], rax
mov rcx, r12
call fcn.004356c0
mov r8d, 0x50
mov rdx, r13
mov rcx, r12
call fcn.00435720
mov rdx, rbp
mov rcx, r12
lea r13, [rbp + 0x40]
call fcn.00435830
mov rcx, r12
call fcn.0044c870
mov r8d, 0x40
mov rdx, rbp
mov rcx, r12
call fcn.0044c900
mov rdx, r13
mov rcx, r12
call fcn.0044ca40
mov rcx, r12
call fcn.0046c850
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.0046c8b0
lea r13, [rbp + 0x80]
mov rcx, r12
mov rdx, r13
call fcn.0046c8c0
mov rcx, r12
call fcn.005468c0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00546900
lea r13, [rbp + 0xc0]
mov rcx, r12
mov rdx, r13
call fcn.00546910
mov rcx, r12
call fcn.004ab3b0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.004ab430
lea r13, [rbp + 0x100]
mov rcx, r12
mov rdx, r13
call fcn.004ab440
mov rcx, r12
call fcn.004bada0
mov rdx, r13
mov r8d, 0x40
mov rcx, r12
call fcn.004bae20
lea r13, [rbp + 0x140]
mov rcx, r12
mov rdx, r13
call fcn.004bae30
mov rdi, qword [0x00631210]
mov rax, qword [rdi]
add rax, rsi
movzx eax, byte [rax]
test al, al
je 0x57e45e
xor eax, eax
add rsp, 0xb40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov edx, 0x200
mov rcx, r12
lea r14, [rbp + 0x180]
call fcn.004d6b40
mov r9, r13
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x20], 0x40
mov r8d, 0x200
lea r13, [rbp + 0x1c0]
call fcn.004d7050
mov r9d, 0x20
mov edx, 0x200
mov rcx, r12
mov r8d, 0x10
call fcn.00456290
mov r8, r14
mov rdx, r13
mov rcx, r12
mov r9d, 0x40
lea r14, [rbp + 0x200]
call fcn.00456540
mov rcx, r12
call fcn.0052c0c0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.0052c120
lea r13, [rbp + 0x240]
mov rdx, r14
mov rcx, r12
call fcn.0052c1e0
mov rdx, r13
mov r8, r14
mov rcx, r12
mov r9d, 0x200
call fcn.0052dd60
mov rcx, r12
call fcn.00463ef0
mov rdx, r13
mov r8d, 0x40
mov rcx, r12
call fcn.00463f50
lea r13, [rbp + 0x280]
mov rcx, r12
mov rdx, r13
call fcn.00463f60
mov rax, qword [rdi]
add rax, rsi
movzx eax, byte [rax]
test al, al
jne 0x57e44a
mov rcx, r12
lea r14, [rbp + 0x340]
call fcn.00482430
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00482480
lea r13, [rbp + 0x2c0]
mov rcx, r12
mov rdx, r13
call fcn.00482540
mov rcx, r12
call fcn.00476160
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00476200
lea r13, [rbp + 0x300]
mov rcx, r12
mov rdx, r13
call fcn.00476210
mov rcx, r12
call fcn.005230d0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00523190
mov rdx, r14
mov rcx, r12
call fcn.005231a0
mov rcx, r12
call fcn.0056c5b0
mov r8d, 0x40
mov rdx, r14
mov rcx, r12
call fcn.0056c600
lea r14, [rbp + 0x380]
mov rcx, r12
mov rdx, r14
call fcn.0056cc60
mov rcx, r12
call fcn.0050a570
mov r8d, 0x40
mov rdx, r14
mov rcx, r12
call fcn.0050a5c0
lea r14, [rbp + 0x400]
lea rdx, [rbp + 0x3c0]
mov rcx, r12
call fcn.0050ac60
mov rdx, r14
mov rcx, r13
lea r13, [rbp + 0x440]
call fcn.00564310
mov rcx, r12
call fcn.0049be50
mov r8d, 0x40
mov rdx, r14
mov rcx, r12
call fcn.0049be90
mov rdx, r13
mov rcx, r12
call fcn.0049bea0
add rsi, qword [rdi]
movzx eax, byte [rsi]
test al, al
jne 0x57e44a
mov rcx, r12
lea rsi, [rbp + 0x480]
lea r14, [rbp + 0x500]
call fcn.00565cd0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00565cf0
mov rdx, rsi
mov rcx, r12
lea r13, [rbp + 0x4c0]
call fcn.00565f00
mov qword [rsp + 0x20], rsi
mov r8, rsi
mov rcx, r13
mov qword [rsp + 0x40], 4
mov r9d, 0x20
mov edx, 0x20
lea rsi, [rbp + 0x5fe]
mov qword [rsp + 0x38], 4
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], 0x20
call fcn.004de4b0
mov rcx, r12
call fcn.00465520
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.00465530
lea r13, [rbp + 0x540]
mov rdx, r14
mov rcx, r12
call fcn.004655a0
mov r8d, 0x40
mov rdx, r14
mov rcx, r13
call fcn.00509d30
mov rcx, r12
call fcn.004eb3e0
mov r8d, 0x40
mov rdx, r13
mov rcx, r12
call fcn.004eb490
lea r13, [rbp + 0x580]
mov rcx, r12
mov rdx, r13
call fcn.004ebb50
lea r9, [rbp + 0x5c0]
mov r8d, 0x200
mov rdx, r13
mov ecx, 0x200
call fcn.004d4140
lea r11, [0x0062bcf0]
lea rdi, [r11 + 0x18]
movzx r10d, word [r11]
mov r9, rsi
mov r8, rbp
xor edx, edx
nop dword [rax + rax]
movzx eax, word [r9]
mov r14d, r10d
sub r9, 2
mov ecx, eax
imul eax, eax, 0xaaab
shr eax, 0x19
lea eax, [rax + rax*2]
shl eax, 8
sub ecx, eax
movzx eax, cx
mov ecx, edx
add edx, 1
and ecx, 0xf
shl r14d, cl
mov ecx, r14d
add cx, word [rbp + rax*2]
xor word [r8], cx
add r8, 2
cmp edx, 0x300
jne 0x57e780
add r11, 2
cmp rdi, r11
jne 0x57e76f
mov dword [rsp + 0x28], 0
lea rsi, [rbp + 0x600]
mov rdx, rbp
xor r8d, r8d
mov qword [rsp + 0x20], 0x600
mov r9d, 0x20
mov rcx, rsi
call fcn.00442910
mov rax, qword [rbp + 0x600]
mov rdx, qword [rbp + 0x608]
mov qword [rbx], rax
mov rax, qword [rbp + 0x610]
mov qword [rbx + 8], rdx
mov rdx, qword [rbp + 0x618]
mov qword [rbx + 0x10], rax
mov eax, 1
mov qword [rbx + 0x18], rdx
jmp 0x57e44c