Function at 0x1400119f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x120
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
mov rax, rcx
add rax, 0x28a2
mov qword [rsp + 0x118], rax
cmp byte [rcx + 0x28a2], 0
je 0x140011a42
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x28a8]
mov qword [rsp + 0x100], rax
jmp 0x140011c46
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x2088]
mov qword [rsp + 0xf8], rax
cmp rax, 0x10000
jge 0x140011a8a
mov rax, qword [rsp + 0x110]
mov qword [rax + 0x28a8], 0x4000
mov eax, 0x4000
mov qword [rsp + 0x100], rax
jmp 0x140011c46
mov ecx, dword [0x1402a8898]
mov edx, dword [0x1402a889c]
mov r8d, 0x60b2a0f1
xor r8d, 0x9f4d5f0e
mov eax, ecx
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0x5cd5214e
xor r8d, 0xa32adeb1
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xd460015d
xor ecx, 0x9d5c0a16
xor edx, edx
div ecx
xor eax, 0xbfca8891
mov edx, eax
xor edx, 0xaa24a564
xor edx, 0xffffffff
mov ecx, 0x2d2f568a
xor ecx, 0x870bf3ee
and ecx, edx
shl ecx, 1
sub ecx, 0xaa24a564
sub eax, ecx
mov ecx, 0x79dc1fbd
xor ecx, 0x7e9f6203
cmp eax, ecx
jbe 0x1400123de
mov r9, qword [rsp + 0xf8]
mov eax, dword [0x1402a88a0]
sub eax, dword [0x1402a88a4]
xor eax, 0x1858740c
and eax, 0x55ae87b1
mov ecx, 0x48a480b2
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x110]
mov ecx, 0x380a8ed8
xor ecx, 0x47083fd4
shr r9, 2
add r9, 0xfff
movabs r10, 0xeb7e765bc76dc97b
movabs r8, 0x148189a438923684
xor r10, r8
mov r8, r9
xor r8, r10
movabs r10, 0x3b38afedd10cb2c4
movabs r11, 0x44c750122ef342c4
xor r10, r11
movabs r11, 0xda1709dd53893b29
movabs rsi, 0x25e8f622ac76c4d6
xor r11, rsi
xor r10, r11
or r8, r10
movabs r10, 0x7ffffffffffff000
and r9, r10
movabs r10, 0xdc8e32a1b91db55e
movabs r11, 0x2371cd5e46e24aa1
xor r10, r11
xor r9, r10
movabs r10, 0xe6d77e052c9b3d5
movabs r11, 0xf192881fad364c2a
xor r10, r11
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
mov r9, qword [rdx + 0x28a8]
shl r9, 1
mov r10, r8
sub r10, r9
cmovl r9, r8
mov r8, r9
sub r8, 0x3f000000
mov r8d, 0x3f000000
cmovl r8, r9
mov qword [rsp + 0xf0], r8
mov qword [rdx + 0x28a8], r8
cmp eax, ecx
jae 0x1400123de
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x100], rax
jmp 0x140011c46
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xe0], rax
add rdx, 0x28a8
mov qword [rsp + 0xe8], rdx
cmp rax, rcx
jge 0x140011ca8
mov rdx, qword [rsp + 0x108]
call fcn.140010185
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jmp 0x140011dfd
mov rdx, qword [rsp + 0xe0]
xor eax, eax
mov ecx, eax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0xc8], rax
cmp rax, 0
jne 0x140011dda
mov eax, dword [0x1402a88a8]
mov ecx, dword [0x1402a88ac]
xor ecx, 0x8c2a2064
xor edx, edx
div ecx
mov r8d, 0x55f844c1
xor r8d, 0x5dddf529
mov ecx, 0x70cc9db7
xor ecx, 0x8f336248
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x1f6e458c
xor r8d, 0x174bf464
mov edx, eax
and edx, r8d
or eax, 0x825b1e8
imul eax, edx
add eax, ecx
or eax, 0x74ff92a1
mov ecx, 0x2960f0d
xor ecx, 0x87e33a1b
xor edx, edx
div ecx
cmp eax, 0xb3faa829
je 0x1400123e7
mov rdx, qword [rsp + 0x108]
mov eax, dword [0x1402a88b0]
xor eax, 0x6be3899e
and eax, dword [0x1402a88b4]
add eax, 0xe4ddd393
add eax, 0xf03ae749
xor ecx, ecx
sub ecx, 0xc7429663
sub eax, ecx
mov dword [rsp + 0xbc], eax
call fcn.140010185
mov rcx, qword [rsp + 0x118]
mov rdx, rax
mov eax, dword [rsp + 0xbc]
mov qword [rsp + 0xc0], rdx
mov byte [rcx], 1
cmp eax, 0xa7105a3e
jb 0x140011d54
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jmp 0x140011dfd
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x110]
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], r8
mov rax, r8
add rax, qword [rcx + 0x2070]
mov qword [rcx + 0x2070], rax
mov rax, r8
add rax, qword [rcx + 0x2080]
mov qword [rcx + 0x2080], rax
call fcn.140011350
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x110]
mov qword [rdx + 0x18], 0
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0x2ddfab433f2de346
movabs r9, 0x2ddfab433f2de346
xor r8, r9
movabs r9, 0xc71cd59845ecce22
movabs r10, 0xc71cd59845ecce23
xor r9, r10
sub r8, r9
sub rdx, r8
sub rcx, rdx
mov qword [rsp + 0x90], rcx
mov rdx, rcx
sar rdx, 0xc
mov qword [rsp + 0x98], rdx
add rax, 0x20a0
mov qword [rsp + 0xa0], rax
sar rcx, 0x15
mov qword [rsp + 0xa8], rcx
and rcx, 0xff
shl rcx, 3
add rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x140012010
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa8]
cmp qword [rax + 8], rcx
mov qword [rsp + 0xb0], rax
jne 0x140011efa
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x78]
mov rdx, rcx
shr rdx, 6
and rdx, 7
mov rax, qword [rax + rdx*8 + 0x10]
and rcx, 0x3f
movabs rdx, 0xe71e71d3722d994a
movabs r8, 0xe71e71d3722d994b
xor rdx, r8
shl rdx, cl
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
je 0x140012010
mov rax, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
mov rcx, qword [rax]
movabs rdx, 0xde46c0c7956f4efb
movabs r9, 0xde46c0c7956f4efa
xor rdx, r9
and rcx, rdx
and rcx, rcx
movabs rdx, 0x3d4e975c69b94ae0
movabs r9, 0xc2b168a39646b51f
xor rdx, r9
xor rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x9f77312e9d6b4f71
movabs r9, 0x6088ced16294b08e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov qword [rax], rcx
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x110]
mov r8, rcx
add r8, 0x2090
mov qword [rsp + 0x48], r8
mov rcx, qword [rcx + 0x2090]
movabs r8, 0x14c32258f4f423b6
movabs r9, 0x14c32258f4f433b6
xor r8, r9
cmp rcx, 0
cmove rcx, r8
mov qword [rsp + 0x50], rcx
sub rdx, rcx
mov qword [rsp + 0x58], rdx
movabs rcx, 0x3e6e2daecaf577ca
movabs r8, 0x3e6e2daecaf577c6
xor rcx, r8
sar rdx, cl
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rdx
sar rcx, 0x15
mov qword [rsp + 0x68], rcx
movabs rdx, 0xfe4ba62518ffcfc6
movabs r8, 0xfe4ba62518ffcf39
xor rdx, r8
and rcx, rdx
shl rcx, 3
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x1400123a1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
cmp qword [rax + 8], rcx
mov qword [rsp + 0x70], rax
jne 0x1400120bd
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov rdx, rax
shr rdx, 6
movabs r9, 0x3f4c71f17ed5ae1f
movabs r8, 0x3f4c71f17ed5ae18
xor r9, r8
mov r8, rdx
xor r8, r9
movabs r9, 0x346942647a453c35
movabs r10, 0xcb96bd9b85bac3ca
xor r9, r10
xor r8, r9
or rdx, 7
and rdx, r8
mov rcx, qword [rcx + rdx*8 + 0x10]
mov qword [rsp + 0x38], rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
and rcx, rax
mov rax, 0xffffffffffffffff
xor rax, 0x3f
movabs rdx, 0xfccffb1fff7b7cc2
movabs r8, 0xfccffb1fff7b7cfd
xor rdx, r8
movabs r8, 0x4c489ba6dd6dbd7b
movabs r9, 0xb3b7645922924284
xor r8, r9
xor rdx, r8
and rax, rdx
or rcx, rax
xor rcx, 0xffffffffffffffff
mov edx, 1
shl rdx, cl
mov rcx, qword [rsp + 0x38]
movabs rax, 0x714474c833068b77
movabs r8, 0x8ebb8b37ccf97488
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
je 0x1400123a1
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
cmp qword [rax + 8], rcx
jne 0x1400123a1
mov ecx, dword [0x1402a88b8]
xor ecx, 0xedc95739
add ecx, dword [0x1402a88bc]
and ecx, 0xee758fb7
mov edx, 0xaa0c687
xor edx, 0xf55f3978
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x918d211
xor ecx, 0xc46082d
mov edx, 0x830127b7
xor edx, 0x865ffd8b
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xdaba7d18
cmp eax, 0x6df7a7af
jbe 0x1400123f0
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1402a88c0]
mov r9d, dword [0x1402a88c4]
mov edx, r9d
and edx, eax
mov r10d, 0xbda7a0c3
xor r10d, 0x42585f3c
xor edx, r10d
add eax, r9d
add eax, 1
add eax, edx
add eax, 0x35a474ee
mov edx, eax
or edx, edx
mov r9d, 0x3613cd3d
xor r9d, 0xc9ec32c2
xor edx, r9d
mov r9d, 0xd0826584
xor r9d, 0x2c9cc3e7
mov r10d, 0x86af4d7f
xor r10d, 0x7950b280
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0xfc1ea663
and r9d, r10d
or edx, r9d
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0x570f064a
xor r9d, 0xab11a029
mov r10d, 0x66d0013a
xor r10d, 0x992ffec5
xor r9d, r10d
and eax, r9d
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov r9d, 0x30866f31
xor r9d, 0xcf7990ce
mov eax, edx
xor eax, r9d
and eax, 0xc8e5ee4e
mov r9d, 0xffffffff
xor r9d, 0xc8e5ee4e
and edx, r9d
or eax, edx
mov rdx, qword [rcx]
mov rcx, rdx
add rcx, 1
xor rdx, 0xffffffffffffffff
or rdx, 1
add rdx, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0x2bbe1f6aad601507
movabs r10, 0xd441e095529feaf8
xor r9, r10
xor rdx, r9
or rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
movabs rdx, 0xade0e2532543d591
movabs r8, 0x521f1dacdabc2a6e
xor rdx, r8
xor rcx, rdx
mov qword [rsp + 0x30], rcx
cmp eax, 0xecfada22
je 0x1400123f0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
jmp 0x1400123b5
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
and rax, 1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x28]
mov qword [rax], r8
mov qword [rcx], rdx
add rsp, 0x120
pop rsi
ret
xor dword [0x16ceacec8], ecx
idiv edi
call qword [rax - 8]
push rax
clc
in al, 0xe1
jmp 0x140011d54
invalid