Function at 0x4319c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
test edx, edx
mov qword [rsp + 0x130], rcx
jle 0x43203e
mov rax, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x40]
mov rbp, qword [rcx + 0x50]
mov rbx, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov r10, qword [rcx + 0x20]
mov r14, qword [rcx + 0x30]
mov r11, qword [rcx + 0x60]
mov r13, qword [rcx + 0x68]
mov r8, qword [rcx + 0x18]
mov r12, qword [rcx + 0x28]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x70], rsi
mov rax, qword [rcx + 0x70]
mov rsi, qword [rcx + 0x78]
mov qword [rsp + 0x18], rbp
mov r9, qword [rcx + 0x58]
mov rbp, qword [rcx + 0x80]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x50], rdi
lea ebx, [rdx - 1]
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x30], r14
lea rdx, [0x004c7108]
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x20], rsi
lea rax, [0x004c7100]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x68], r8
lea rbp, [rdx + rbx*8]
mov qword [rsp + 0x10], r12
mov r14, qword [rcx + 0x48]
mov qword [rsp + 0x38], r9
mov rsi, qword [rcx + 0x88]
mov r9, qword [rcx + 0x90]
mov r11, qword [rcx + 0x98]
mov r13, qword [rcx + 0xa8]
mov r15, qword [rcx]
mov r10, qword [rcx + 0xb0]
mov rdi, qword [rcx + 0xb8]
mov qword [rsp + 0x98], r11
mov r11, qword [rcx + 0xa0]
mov qword [rsp + 0x48], r13
mov r13, qword [rcx + 0xc0]
mov rdx, r15
mov qword [rsp + 0x80], r9
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xd8], rbp
nop
mov rcx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x88]
xor rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x10]
xor rcx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
xor rcx, qword [rsp + 0x40]
xor rbx, r14
xor rbx, qword [rsp + 0x90]
xor rcx, qword [rsp + 0x48]
xor rbx, qword [rsp + 0x98]
xor r9, rdx
xor r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
xor r15, qword [rsp + 0x60]
xor r12, qword [rsp + 0x70]
xor r12, qword [rsp + 0x78]
xor r9, qword [rsp + 0x18]
xor r12, qword [rsp + 0x80]
mov r8, rcx
xor rbx, r13
xor r9, qword [rsp + 0x20]
rol r8, 1
xor r8, rbx
xor r15, rsi
xor r15, r10
xor rdx, r8
xor r12, rdi
mov qword [rsp + 0xa8], rdx
mov rdx, r15
xor r9, r11
rol rdx, 1
mov rax, r12
xor rdx, r9
rol rax, 1
rol r9, 1
xor rcx, rax
mov rax, rbx
mov rbx, r9
mov r9, qword [rsp + 0x30]
rol rax, 1
xor rbx, r12
xor rax, r15
mov r12, qword [rsp + 0x78]
xor r9, rdx
mov rbp, r9
mov r9, qword [rsp + 0x90]
ror rbp, 0x14
xor r11, r8
xor rdi, rax
rol r11, 0x12
ror rdi, 8
mov qword [rsp + 8], rbp
mov qword [rsp + 0x90], r11
mov rbp, qword [rsp + 0x98]
xor r9, rbx
mov r11, qword [rsp + 0x50]
mov qword [rsp + 0x98], rdi
mov r15, r9
mov rdi, qword [rsp + 0x20]
ror r15, 0x19
xor r14, rbx
mov qword [rsp + 0xb8], r15
mov r15, qword [rsp + 0x60]
xor rbp, rbx
xor r11, rcx
xor r13, rbx
xor r10, rcx
xor rdi, r8
ror r11, 2
xor r12, rax
ror rdi, 0x17
mov qword [rsp + 0xc0], r11
xor r15, rcx
mov qword [rsp + 0xc8], rdi
mov r9, qword [rsp + 0x88]
ror r10, 3
mov r11, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
rol r12, 0x19
rol rbp, 8
rol r13, 0xe
rol r14, 0x14
xor r9, rbx
mov rbx, qword [rsp + 0x48]
ror r15, 0x15
xor r11, rax
rol r9, 0x1b
xor rdi, rdx
ror r11, 9
ror rdi, 0x13
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x48], r11
mov r11, qword [rsp + 0x10]
xor rbx, rdx
rol rbx, 2
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xd0], rbx
not r15
xor r11, r8
ror r11, 0x1c
xor rsi, rcx
xor r9, rax
mov rbx, rsi
mov rsi, qword [rsp + 0x38]
xor rax, qword [rsp + 0x80]
xor r8, qword [rsp + 0x18]
rol r9, 0x1c
xor rcx, qword [rsp + 0x58]
rol rbx, 0xf
xor rsi, rdx
xor rdx, qword [rsp + 0x28]
rol rsi, 0xa
rol rax, 0x15
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 8]
and r15, rax
rol r8, 3
rol rcx, 6
rol rdx, 1
xor rsi, r15
mov r15, rax
mov qword [rsp + 0x28], rsi
mov rsi, qword [rsp + 0xa0]
not r15
and r15, r13
xor rsi, r15
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rsi
mov rsi, r13
not rsi
and r15, rsi
xor r15, rax
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0xa8]
mov rsi, r15
not rsi
and rsi, qword [rsp + 8]
mov rax, rsi
xor rax, r13
mov qword [rsp + 0x88], rax
mov rax, r14
not rax
mov rsi, rax
mov rax, r8
and rsi, r8
not rax
mov r13, rsi
mov rsi, rax
mov rax, rdi
xor r13, r9
and rsi, rdi
not rax
mov qword [rsp + 0x10], r13
mov r13, rsi
mov rsi, rax
mov rax, r10
xor r13, r14
and rsi, r10
not rax
mov qword [rsp + 0x30], r13
mov r13, rsi
mov rsi, rax
xor r13, r8
mov rax, r12
and rsi, r9
not r9
not rax
mov r8, rsi
and r14, r9
mov r9, qword [rsp + 0x90]
xor r8, rdi
xor r14, r10
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x70], r8
mov r8, rcx
not r8
mov rsi, r8
and rsi, r12
mov r10, rsi
mov rsi, rax
mov rax, rbp
and rsi, rbp
not rax
xor r10, rdx
mov rdi, rsi
mov rsi, rax
mov qword [rsp + 0x18], r10
and rsi, r9
xor rdi, rcx
mov rax, rbx
mov r13, rsi
mov qword [rsp + 0x38], rdi
not rax
xor r13, r12
mov r12, r9
mov r10, rax
not r12
mov qword [rsp + 0x60], r13
and r12, rdx
not rdx
xor r12, rbp
and rdx, rcx
mov rbp, qword [rsp + 0x20]
xor rdx, r9
mov qword [rsp + 0x78], r12
mov r12, qword [rsp + 0x98]
mov r9, r11
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0x40]
not r9
mov rsi, r9
mov rax, r12
and r10, r12
and rsi, rdx
mov rdi, rdx
not rax
mov rcx, rsi
not rdi
mov r13, rax
xor rcx, rbp
and r13, rbp
mov rsi, rdi
not rbp
and rsi, rbx
xor rdx, r10
mov r10, rbp
mov r8, rsi
mov rsi, rdx
and r10, r11
mov rdx, qword [rsp + 0x48]
xor r8, r11
mov rbp, qword [rsp + 0xb8]
mov r11, r10
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0xd0]
xor r11, r12
mov r9, r13
xor r9, rbx
mov r13, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
mov qword [rsp + 0x98], r11
mov r11, rdx
mov qword [rsp + 0x80], r9
not r11
mov r9, rbp
mov rdi, rcx
and r11, rbp
not r9
not rdi
and rdi, r13
xor r11, r13
and r9, rbx
not r13
xor r9, rdx
mov qword [rsp + 0x40], r8
and r13, rdx
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 8]
mov r10, rbx
xor rdi, rbx
xor r13, rcx
not r10
mov qword [rsp + 0x48], r9
mov r12, qword [r8]
not rdx
and rdx, qword [rsp + 0xa0]
and r10, rcx
xor r10, rbp
xor r12, r15
add r8, 8
xor rdx, r12
cmp r8, qword [rsp + 0xd8]
mov qword [rsp + 0xb0], r8
jne 0x431af0
mov rax, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov r8, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov qword [rax], rdx
mov qword [rax + 0xa0], r11
mov rbp, rax
mov rdx, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov qword [rax + 0x28], rbx
mov qword [rax + 0x50], rcx
mov qword [rax + 0x30], r8
mov qword [rax + 0x58], r12
mov qword [rax + 0x78], rdx
mov qword [rax + 8], r11
mov qword [rax + 0x80], r15
mov qword [rax + 0xa8], r9
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0xb0], r10
mov rsi, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x18], r10
mov qword [rbp + 0x68], rdx
mov r11, qword [rsp + 0x80]
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0x48], r14
mov rdi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
mov qword [rbp + 0x90], r11
mov qword [rbp + 0xc0], r13
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x98], r8
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret