Function at 0x100439740
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov r9, rdx
lea edx, [r8 + rdx - 0x21524111]
mov r8d, edx
mov eax, edx
test cl, 3
je 0x1004398a4
test cl, 1
jne 0x1004399b0
cmp r9, 0xc
jbe 0x100439819
nop dword [rax]
movzx r10d, word [rcx + 6]
movzx r11d, word [rcx + 4]
shl r10d, 0x10
add r10d, r11d
movzx r11d, word [rcx + 8]
add eax, r10d
movzx r10d, word [rcx + 0xa]
shl r10d, 0x10
add r10d, r11d
movzx r11d, word [rcx]
add r8d, r10d
movzx r10d, word [rcx + 2]
shl r10d, 0x10
add r10d, r11d
sub r10d, r8d
add r10d, edx
mov edx, r8d
add r8d, eax
rol edx, 4
xor edx, r10d
sub eax, edx
mov r10d, eax
mov eax, edx
add edx, r8d
rol eax, 6
xor eax, r10d
mov r10d, eax
sub r8d, eax
add eax, edx
rol r10d, 8
xor r8d, r10d
mov r10d, r8d
sub edx, r8d
add r8d, eax
rol r10d, 0x10
xor edx, r10d
mov r10d, edx
sub eax, edx
add edx, r8d
ror r10d, 0xd
xor eax, r10d
mov r10d, eax
sub r8d, eax
rol r10d, 4
xor r8d, r10d
add eax, edx
sub r9, 0xc
add rcx, 0xc
cmp r9, 0xc
ja 0x100439770
lea r10, [0x10044c9c0]
movsxd r9, dword [r10 + r9*4]
add r9, r10
jmp r9
mov r10d, dword [rcx]
add r8d, dword [rcx + 8]
sub r9, 0xc
add rcx, 0xc
add eax, dword [rcx - 8]
sub r10d, r8d
add r10d, edx
mov edx, r8d
add r8d, eax
rol edx, 4
xor edx, r10d
sub eax, edx
mov r10d, eax
mov eax, edx
add edx, r8d
rol eax, 6
xor eax, r10d
sub r8d, eax
mov r10d, r8d
mov r8d, eax
add eax, edx
rol r8d, 8
xor r8d, r10d
mov r10d, r8d
sub edx, r8d
add r8d, eax
rol r10d, 0x10
xor edx, r10d
mov r10d, edx
sub eax, edx
add edx, r8d
ror r10d, 0xd
xor eax, r10d
mov r10d, eax
sub r8d, eax
add eax, edx
rol r10d, 4
xor r8d, r10d
cmp r9, 0xc
ja case.default.0x1004398b8
lea r10, [0x10044c9f4]
movsxd r9, dword [r10 + r9*4]
add r9, r10
jmp r9
movzx r10d, byte [rcx + 5]
movzx r11d, byte [rcx + 4]
mov ebx, r10d
movzx r10d, byte [rcx + 6]
shl ebx, 8
shl r10d, 0x10
add r10d, ebx
add r11d, r10d
movzx r10d, byte [rcx + 7]
shl r10d, 0x18
add r10d, r11d
movzx r11d, byte [rcx + 8]
add eax, r10d
movzx r10d, byte [rcx + 9]
mov ebx, r10d
movzx r10d, byte [rcx + 0xa]
shl ebx, 8
shl r10d, 0x10
add r10d, ebx
add r11d, r10d
movzx r10d, byte [rcx + 0xb]
shl r10d, 0x18
add r10d, r11d
movzx r11d, byte [rcx]
add r8d, r10d
movzx r10d, byte [rcx + 1]
mov ebx, r10d
movzx r10d, byte [rcx + 2]
shl ebx, 8
shl r10d, 0x10
add r10d, ebx
add r11d, r10d
movzx r10d, byte [rcx + 3]
shl r10d, 0x18
add r10d, r11d
sub r10d, r8d
add edx, r10d
mov r10d, r8d
add r8d, eax
rol r10d, 4
xor edx, r10d
mov r10d, edx
sub eax, edx
add edx, r8d
rol r10d, 6
xor eax, r10d
sub r8d, eax
mov r10d, r8d
mov r8d, eax
rol r8d, 8
xor r8d, r10d
add eax, edx
sub r9, 0xc
add rcx, 0xc
mov r10d, r8d
sub edx, r8d
add r8d, eax
rol r10d, 0x10
xor edx, r10d
mov r10d, edx
sub eax, edx
add edx, r8d
ror r10d, 0xd
xor eax, r10d
mov r10d, eax
sub r8d, eax
add eax, edx
rol r10d, 4
xor r8d, r10d
cmp r9, 0xc
ja case.default.0x1004399c8
lea r10, [0x10044ca28]
movsxd r9, dword [r10 + r9*4]
add r9, r10
jmp r9
movzx r9d, byte [rcx + 0xb]
shl r9d, 0x18
add r8d, r9d
movzx r9d, byte [rcx + 0xa]
shl r9d, 0x10
add r8d, r9d
movzx r9d, byte [rcx + 9]
shl r9d, 8
add r8d, r9d
movzx r9d, byte [rcx + 8]
add r8d, r9d
movzx r9d, byte [rcx + 7]
shl r9d, 0x18
add eax, r9d
movzx r9d, byte [rcx + 6]
shl r9d, 0x10
add eax, r9d
movzx r9d, byte [rcx + 5]
shl r9d, 8
add eax, r9d
movzx r9d, byte [rcx + 4]
add eax, r9d
movzx r9d, byte [rcx + 3]
shl r9d, 0x18
add edx, r9d
movzx r9d, byte [rcx + 2]
shl r9d, 0x10
add edx, r9d
movzx r9d, byte [rcx + 1]
shl r9d, 8
add edx, r9d
movzx ecx, byte [rcx]
add edx, ecx
mov ecx, eax
xor r8d, eax
rol ecx, 0xe
sub r8d, ecx
mov ecx, r8d
xor edx, r8d
rol ecx, 0xb
sub edx, ecx
mov ecx, edx
xor eax, edx
ror ecx, 7
sub eax, ecx
mov ecx, eax
xor r8d, eax
rol ecx, 0x10
sub r8d, ecx
mov ecx, r8d
xor edx, r8d
rol ecx, 4
sub edx, ecx
xor eax, edx
rol edx, 0xe
sub eax, edx
xor r8d, eax
ror eax, 8
sub r8d, eax
mov eax, r8d
pop rbx
ret
movzx r9d, byte [rcx + 6]
shl r9d, 0x10
add eax, r9d
movzx r9d, byte [rcx + 5]
shl r9d, 8
add eax, r9d
movzx r9d, byte [rcx + 4]
add eax, r9d
add edx, dword [rcx]
jmp 0x100439a4c
movzx r9d, byte [rcx + 0xa]
shl r9d, 0x10
add r8d, r9d
movzx r9d, byte [rcx + 9]
shl r9d, 8
add r8d, r9d
movzx r9d, byte [rcx + 8]
add r8d, r9d
add eax, dword [rcx + 4]
add edx, dword [rcx]
jmp 0x100439a4c
movzx r9d, byte [rcx + 0xa]
shl r9d, 0x10
add r8d, r9d
movzx r9d, word [rcx + 8]
add r8d, r9d
movzx r9d, word [rcx + 4]
add r9d, eax
movzx eax, word [rcx + 6]
shl eax, 0x10
add eax, r9d
movzx r9d, word [rcx]
add r9d, edx
movzx edx, word [rcx + 2]
shl edx, 0x10
add edx, r9d
jmp 0x100439a4c
add r8d, dword [rcx + 8]
add eax, dword [rcx + 4]
add edx, dword [rcx]
jmp 0x100439a4c
movzx r9d, byte [rcx + 6]
shl r9d, 0x10
add eax, r9d
movzx r9d, word [rcx + 4]
jmp 0x100439b07
movzx r9d, byte [rcx + 2]
shl r9d, 0x10
add edx, r9d
movzx ecx, word [rcx]
add edx, ecx
jmp 0x100439a4c
movzx r9d, word [rcx + 8]
add r8d, r9d
movzx r9d, word [rcx + 0xa]
shl r9d, 0x10
add r8d, r9d
movzx r9d, word [rcx + 4]
add eax, r9d
movzx r9d, word [rcx + 6]
shl r9d, 0x10
jmp 0x100439b07
movzx r9d, byte [rcx + 8]
jmp 0x100439af5
movzx r9d, byte [rcx + 4]
jmp 0x100439b07