Function at 0x140196550
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rdx
mov qword [rbp + 0x20], rcx
mov qword [rbp], rcx
mov eax, 0x10
mov qword [rbp + 8], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1401aa983
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x38], rax
add rax, 0x50
mov qword [rbp + 0x28], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.140196d90
add rsp, 0x20
movabs rax, 0x4bbed1993313498
movabs rcx, 0x4bbed1993313498
xor rax, rcx
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0x110]
add rax, 8
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x118], 0
mov word [rbp + 0x10e], 0xe2e
lea rcx, [rbp + 0x10e]
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x40], rcx
cmp byte [rax + 0x50], 0
jne 0x140196a4d
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx]
mov qword [rbp + 0xe8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xf0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0xe8]
lea r8, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140196f8b
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0xf8]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp + 0x100]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x140196a4d
mov eax, dword [0x14024bfc8]
mov ecx, dword [0x14024bfcc]
mov edx, 0xc1cb7f60
xor edx, 0x858c083c
xor ecx, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0xc6380d7d
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xc6380d7d
add eax, edx
sub eax, ecx
imul eax, eax, 0x9e91143d
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdeea879b
mov edx, 0xffffffff
xor edx, 0xdeea879b
and eax, edx
sub eax, ecx
cmp eax, 0xa274d462
je 0x140196d6c
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
mov edx, dword [0x14024bfd0]
mov r8d, dword [0x14024bfd4]
mov r9d, r8d
xor r9d, 0xcb801001
xor r8d, 0x310508
and r8d, 0x207b2f18
and r9d, 0xdf84d0e7
or r8d, r9d
xor edx, r8d
xor edx, 0x207b2f18
mov r8d, edx
and r8d, 0x45de0bd3
xor r8d, 0x7eb7be80
and edx, 0x1480153
add edx, edx
sub edx, r8d
mov r8d, edx
xor r8d, 0x9169999f
or edx, 0x4e964660
and edx, r8d
mov dword [rbp - 0x20], edx
mov edx, 0x5f9aeff6
mov dword [rbp - 0x24], edx
mov qword [rbp + 0xc8], rcx
mov qword [rbp + 0xd0], rax
sub rsp, 0x20
lea rcx, [rbp + 0xc8]
call fcn.1400c6c1f
mov rdx, qword [rbp + 0x28]
mov ecx, dword [rbp - 0x24]
add rsp, 0x20
mov r8b, al
mov eax, dword [rbp - 0x20]
mov dl, byte [rdx]
test dl, dl
setne dl
mov byte [rbp - 0x1a], dl
or dl, r8b
mov byte [rbp - 0x19], dl
cmp eax, ecx
ja 0x140196708
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140196a52
jmp 0x1401967d9
mov cx, 0x5589
xor cx, 0x59b2
sub rsp, 0x20
call fcn.140067b58
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rbp - 0x40], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14019698f
mov rcx, qword [rbp + 0x10]
mov ax, 0x2236
xor ax, 0x25db
mov word [rcx], ax
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x48], rcx
mov cl, byte [rax]
mov dl, 0x3c
xor dl, 0x3c
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14019698f
mov r8, qword [rbp - 0x40]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx]
mov qword [rbp + 0xa8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x98], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0xa8]
lea r9, [rbp + 0x98]
sub rsp, 0x20
call fcn.140173270
mov rdx, qword [rbp + 0x28]
add rsp, 0x20
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp + 0xc0]
mov qword [rbp - 0x50], rcx
cmp byte [rdx], 0
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14019698f
mov ecx, 0x626
sub rsp, 0x20
call fcn.140067b58
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x60], r8
cmp byte [rdx], 0
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jne 0x14019698f
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
cmp rax, rcx
jge 0x140196963
mov rax, qword [rbp - 8]
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.140018beb
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
jmp 0x14019698f
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [0x140259ee0]
mov qword [rbp + 0x110], rdx
mov rdx, qword [0x140259ee8]
mov qword [rbp + 0x118], rdx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400180fc
mov rax, qword [rbp + 0x28]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xaf
xor cl, 0xaf
cmp al, cl
jne 0x140196a4d
mov eax, dword [0x14024bfd8]
mov ecx, dword [0x14024bfdc]
xor ecx, 0xffffffff
add eax, ecx
mov ecx, 0x63c7405f
xor ecx, 0x63c7405e
add eax, ecx
add eax, 0xe60725c9
xor ecx, ecx
sub ecx, 0xa94083b3
sub eax, ecx
mov ecx, 0xd096a827
xor edx, edx
div ecx
cmp eax, 0xc31481a4
je 0x140196d75
mov eax, dword [str.fkpH__an]
xor edx, edx
div dword [0x14024bfe4]
or eax, 0x7c30a70b
mov ecx, 0x90574f1
xor ecx, 0x90574f1
mov edx, 0x366dd783
xor edx, 0x55f00e17
sub ecx, edx
sub eax, ecx
mov ecx, 0xa54c06c
xor edx, edx
div ecx
cmp eax, 0x5b5eb052
jae 0x140196a07
jmp 0x140196ae1
jmp 0x140196b44
mov al, byte [rbp - 0x1a]
test al, 1
jne 0x140196b44
mov rcx, qword [rbp + 0x18]
mov ax, 0xc98d
xor ax, 0xc094
mov word [rcx], ax
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x140196adc
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 8]
mov rdx, qword [rcx]
mov qword [rbp + 0x68], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x70], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x68]
lea r8, [rbp + 0x58]
sub rsp, 0x20
call fcn.140196f8b
mov rax, qword [rbp + 0x28]
add rsp, 0x20
cmp byte [rax], 0
je 0x140196ae1
jmp 0x140196b44
cmp qword [rbp + 0x110], 0
jne 0x140196b05
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140197007
add rsp, 0x20
jmp 0x140196b44
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.140010ae7
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
lea rdx, [rbp + 0x48]
sub rsp, 0x20
call fcn.140197039
add rsp, 0x20
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140196d5f
mov eax, dword [0x14024bfe8]
mov ecx, dword [0x14024bfec]
xor ecx, 0x7e2f47df
sub eax, ecx
mov ecx, 0xea29839d
xor ecx, 0xd073d8eb
or eax, ecx
mov edx, 0x662652ee
xor edx, 0xa9c6a47f
mov ecx, 0xacd04c0a
xor ecx, 0x532fb3f5
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xcfe0f691
add eax, edx
sub eax, ecx
sub eax, 0xf7ff8b28
mov ecx, 0x83995fbb
xor ecx, 0xae959a5e
cmp eax, ecx
je 0x140196d7e
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x14024bff0]
xor eax, 0x43b56d11
sub eax, dword [0x14024bff4]
sub eax, 0x7dee82a6
mov edx, eax
xor edx, 0x9379fa18
xor edx, 0xffffffff
or eax, 0x9379fa18
and eax, edx
add eax, 0x35748339
add eax, 0xa8f3fd4d
sub eax, 0x35748339
mov rcx, qword [rcx]
xor rcx, 0xffffffffffffffff
movabs r8, 0x5365d2f679380297
movabs rdx, 0x1365d2f679380297
xor r8, rdx
movabs rdx, 0x31375b5ddabf6909
movabs r9, 0xcec8a4a2254096f6
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x50c3ed53f2052ae7
xor rdx, r9
or rcx, r8
movabs r8, 0x50c3ed53f2052ae7
or rdx, r8
movabs r8, 0x917e8360fc2a6e66
movabs r9, 0x6e817c9f03d59199
xor r8, r9
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x798738c1
jbe 0x140196bba
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140196c93
jmp 0x140196d5f
mov ecx, dword [0x14024bff8]
mov edx, dword [0x14024bffc]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov r8d, 0x57ba3177
xor r8d, 0xa845ce88
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
mov r8d, 0x5732b8b2
xor r8d, 0xa8cd474d
xor edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x6d56ac54
xor ecx, ecx
sub ecx, 0x1c272f7c
sub eax, ecx
or eax, 0xc19a7720
mov ecx, 0xffe3ffff
xor ecx, 0xf6204c9c
cmp eax, ecx
jb 0x140196d87
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x14024c000]
imul eax, dword [0x14024c004]
mov edx, 0xe1c8b81a
xor edx, 0x76fd300a
imul eax, edx
xor eax, 0x92a574e9
sub eax, 0xf4f98355
mov dword [rbp - 0x78], eax
mov eax, 0x8b6f5472
xor eax, 0x9ebbe123
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14000f4df
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp eax, ecx
jb 0x140196d06
jmp 0x140196d5f
mov rax, qword [rbp]
lea rsp, [rbp + 0x120]
pop rbp
ret
invalid
imul edi, dword [rdi + 0x6e], 0xfc89e9ef
invalid
push 0x72
and cl, byte [rdi]
jmp 0x140196bba
add dword [rcx - 0x62], esi
jo 0x140196d75
jbe 0x140196d8d
invalid
invalid