Function at 0x11003fe80
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xa8
mov rax, qword [0x110109588]
xor rax, rsp
mov qword [rsp + 0x98], rax
movzx eax, word [r9]
xor bpl, bpl
mov rdi, qword [rsp + 0x100]
mov rsi, r9
movsxd rbx, r8d
mov r15, rdx
mov r14, rcx
sub rax, 0x88
jne 0x11003fef6
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax + 0x43], 0
jne 0x11003fed0
cmp rax, 0x40
jne 0x11003fef6
mov edx, dword [rdi + 0x3b]
lea rax, [0x1102073d0]
lea rcx, [rax + rbx]
call fcn.110034eb0
mov bpl, 1
cmp dword [rdi + 0x3f], 0x1f8
jl 0x11003ff03
mov byte [r14], 1
test bpl, bpl
je 0x110040341
movdqa xmm0, xmmword [0x1100d4860]
xor eax, eax
movdqa xmm1, xmmword [0x1100d4850]
xor edx, edx
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x90], al
movabs r8, 0x1414fffc0
movdqu xmmword [rsp + 0x80], xmm1
movsxd rax, edx
lea rcx, [rsp + 0x70]
add rcx, rax
lea eax, [rdx - 0x53]
inc edx
xor byte [rcx], al
cmp edx, 0x20
jb 0x11003ff40
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
movzx eax, byte [rdi + 0x14]
mov r8d, dword [rdi]
xorps xmm0, xmm0
mov byte [rsp + 0x44], al
xorps xmm1, xmm1
mov eax, dword [rdi + 0x15]
mov byte [rsp + 0x69], 0
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x45], eax
movdqu xmmword [rsp + 0x49], xmm0
movups xmm0, xmmword [rdi + 4]
movdqu xmmword [rsp + 0x59], xmm1
movups xmmword [rsp + 0x34], xmm0
cmp r8d, 0x64
jb 0x11003ffc5
nop word [rax + rax]
mov eax, 0xcccccccd
mul r8d
mov r8d, edx
shr r8d, 3
cmp r8d, 0x64
jae 0x11003ffb0
mov rcx, qword [0x110207df0]
lea rdx, [rdi + 0x19]
call fcn.110039110
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x49], xmm0
movups xmm1, xmmword [rax + 0x10]
mov eax, 0xffb6
add word [rsi], ax
cmp dword [rsp + 0x30], 0x77359400
movups xmmword [rsp + 0x59], xmm1
jae 0x110040012
mov rcx, qword [0x1101121c8]
call fcn.110011910
movzx eax, ax
cmp ebx, eax
jl 0x110040012
xor al, al
jmp 0x110040345
lea r9, [rsp + 0x30]
mov r8, rsi
mov edx, ebx
mov rcx, r15
movabs rax, 0x1401d0d30
call rax
movzx ebp, al
test al, al
je 0x110040341
mov rcx, qword [0x110207220]
xor r8d, r8d
mov edx, ebx
call fcn.110027050
mov rcx, qword [0x110207220]
lea rdx, [rdi + 0x43]
call fcn.11002c0f0
mov rcx, qword [0x1102070e8]
mov r14d, eax
call fcn.110026d50
movzx ecx, byte [rdi + 0x3a]
cmp ecx, eax
mov rcx, qword [0x1102070e8]
jle 0x1100400c7
call fcn.110026d50
movzx edx, byte [rdi + 0x3a]
lea r9, [rdi + 0x43]
mov rcx, qword [0x110207f98]
mov r8d, dword [rdi]
add rcx, 0xf9c
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, [0x1100d46f0]
call fcn.11003df70
mov rcx, qword [0x110207dc8]
lea r9, [0x1100d4740]
mov r8d, ebx
mov edx, 1
call fcn.110036e00
jmp 0x110040341
call fcn.110026d50
cmp r14d, eax
jl 0x11004012a
mov rcx, qword [0x1102070e8]
call fcn.110026d50
mov rcx, qword [0x110207f98]
lea edx, [r14 + 1]
mov r8d, dword [rdi]
lea r9, [rdi + 0x43]
mov dword [rsp + 0x28], eax
add rcx, 0xf9c
mov dword [rsp + 0x20], edx
lea rdx, [0x1100d4770]
call fcn.11003df70
mov rcx, qword [0x110207dc8]
lea r9, [0x1100d4740]
mov r8d, ebx
mov edx, 1
call fcn.110036e00
jmp 0x110040341
mov rcx, qword [0x1102073c0]
lea rdx, [rdi + 0x43]
call fcn.110034c40
test al, al
je 0x11004017f
mov rcx, qword [0x110207f98]
lea r9, [rdi + 0x43]
mov r8d, dword [rdi]
lea rdx, [0x1100d47c0]
add rcx, 0xf9c
call fcn.11003df70
mov rcx, qword [0x110207dc8]
lea r9, [0x1100d47f0]
mov r8d, ebx
mov edx, 1
call fcn.110036e00
jmp 0x110040341
mov rcx, qword [0x110207220]
lea r8, [rdi + 0x43]
mov edx, ebx
call fcn.11002c7a0
mov rcx, qword [0x110207220]
mov r8b, 1
mov edx, ebx
call fcn.110027050
mov rcx, qword [0x110207388]
call fcn.1100217d0
test al, al
je 0x1100401c6
mov rcx, qword [0x110207df0]
mov r8d, 0xa
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110207228]
call fcn.110011900
test al, al
je 0x1100401ea
mov rcx, qword [0x110207df0]
mov r8d, 3
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110208168]
call fcn.110011900
test al, al
je 0x11004020e
mov rcx, qword [0x110207df0]
mov r8d, 4
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110207200]
call fcn.110011900
test al, al
je 0x110040232
mov rcx, qword [0x110207df0]
mov r8d, 5
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x1102070e0]
call fcn.1100217d0
test al, al
je 0x110040256
mov rcx, qword [0x110207df0]
mov r8d, 0xf
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x1101122a8]
call fcn.110011900
test al, al
je 0x11004027a
mov rcx, qword [0x110207df0]
mov r8d, 0x11
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110207398]
call fcn.1100334e0
test al, al
je 0x11004029e
mov rcx, qword [0x110207df0]
mov r8d, 0x13
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110206fc0]
call fcn.110011900
test al, al
je 0x1100402c2
mov rcx, qword [0x110207df0]
mov r8d, 0x15
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x1102070a0]
call fcn.1100217d0
test al, al
je 0x1100402e6
mov rcx, qword [0x110207df0]
mov r8d, 0x16
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110206fa0]
call fcn.1100217d0
test al, al
je 0x11004030a
mov rcx, qword [0x110207df0]
mov r8d, 0x17
mov edx, ebx
call fcn.1100390b0
mov rcx, qword [0x110207f98]
lea r9, [rdi + 0x43]
movzx eax, byte [rdi + 0x3a]
lea rdx, [0x1100d4810]
mov r8d, dword [rdi]
add rcx, 0xf9c
mov dword [rsp + 0x20], eax
call fcn.11003df70
mov rcx, qword [0x110206f90]
mov edx, ebx
call fcn.110020880
movzx eax, bpl
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.11009af60
add rsp, 0xa8
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret