Function at 0x140103430
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov eax, 0x10
mov qword [rbp + 0x40], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp + 0x40]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x50], rax
sub rsp, 0x20
call fcn.1400fcc3e
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov ecx, 0xaf1e
mov edx, 0x6e30
sub rsp, 0x20
call fcn.140063660
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x58]
mov word [rbp + 0x66], cx
cmp byte [rax], 0
jne 0x140103ce2
mov rcx, qword [rbp + 0x20]
mov ax, word [rbp + 0x66]
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rcx, qword [rcx]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x1f], al
or al, cl
test al, 1
jne 0x140103930
mov ecx, 0x929a
mov edx, 0x53f5
sub rsp, 0x20
call fcn.140063660
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 0x1d], dl
cmp cl, 0
mov byte [rbp + 0x1e], al
je 0x140103543
mov al, byte [rbp + 0x1d]
mov cl, byte [rbp + 0x1e]
mov byte [rbp + 0x1c], cl
test al, 1
jne 0x140103559
jmp 0x14010390e
mov eax, dword [0x1401cec78]
mov ecx, 0xe5900b4b
xor ecx, 0xb13d3949
xor eax, ecx
mov ecx, dword [0x1401cec7c]
xor ecx, 0x55fef4f0
xor edx, edx
div ecx
add eax, 0xe3e9faa6
mov ecx, 0x22eb2e85
xor ecx, 0x22eb2e85
sub ecx, eax
xor eax, eax
sub eax, 0xc40e2d34
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x7ac27edc
xor ecx, 0xfa60c796
and eax, ecx
cmp eax, 0x312855a4
jb 0x140103ceb
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x30]
mov edx, dword [0x1401cec80]
or edx, dword [0x1401cec84]
or edx, 0xfd8977b2
mov r9d, 0xca5102c
xor r9d, 0xdb80be0a
mov r8d, edx
and r8d, r9d
shl r8d, 1
mov r9d, 0x9d5e74b6
xor r9d, 0x4a7bda90
xor edx, r9d
add edx, r8d
xor r8d, r8d
sub r8d, 0xda96daca
add edx, r8d
mov dword [rbp + 0xc], edx
mov edx, 0xa38130ed
xor edx, 0x9677aa79
mov dword [rbp + 8], edx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp], rdx
mov qword [rax + 8], 0
mov word [rcx], 0x14c
sub rsp, 0x20
call fcn.140060746
mov rdx, qword [rbp + 0x58]
mov ecx, dword [rbp + 8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xc]
mov qword [rbp + 0x10], r8
mov dl, byte [rdx]
mov r8b, 0xef
xor r8b, 0xef
cmp dl, r8b
sete dl
mov byte [rbp + 0x1b], dl
cmp eax, ecx
je 0x140103ceb
mov al, byte [rbp + 0x1b]
test al, 1
jne 0x14010367c
jmp 0x14010390e
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
add rdx, 1
sub rsp, 0x20
call fcn.1400197e0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400fcc60
mov dl, byte [rbp + 0x1c]
mov rcx, qword [rbp + 0x30]
call fcn.1400fff08
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14001a030
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400fcc60
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140100a90
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 3], al
cmp al, 0
sete dl
mov byte [rbp - 2], dl
cmp rcx, 0
mov byte [rbp - 1], al
je 0x140103913
mov al, byte [rbp - 3]
mov rdx, qword [rbp - 0x10]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 1], al
jne 0x140103913
mov ecx, dword [0x1401cec88]
mov eax, 0x13fd2f19
xor eax, 0xe35812c4
xor ecx, eax
mov r8d, dword [0x1401cec8c]
xor r8d, 0x6aaf474e
mov eax, 0x53782617
xor eax, 0xac87d9e8
mov edx, r8d
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
xor ecx, 0x876401e2
mov eax, ecx
and eax, eax
mov edx, 0xb154bd24
xor edx, 0x4eab42db
xor eax, edx
and eax, 0x564a81f9
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x564a81f9
mov r8d, 0xffffffff
xor r8d, 0x564a81f9
or edx, r8d
and ecx, edx
mov edx, 0x8b4a50ea
xor edx, 0x74b5af15
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0x2e974df0
xor r8d, 0x27b1275c
mov ecx, 0x3d189695
xor ecx, 0xc2e7696a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9266aac
or eax, 0x9266aac
imul eax, edx
add eax, ecx
cmp eax, 0xb06d377
je 0x140103cf4
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x1401cec90]
xor eax, 0x7637e11d
mov edx, dword [0x1401cec94]
mov r8d, 0xb42b28b1
xor r8d, 0x1f208554
xor edx, r8d
imul eax, edx
sub eax, 0x8a9b6a3d
add eax, 0xc5249c7a
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x1b7b6fb1
xor r8d, 0xfb5bf72a
and edx, r8d
mov r8d, 0x585684a
xor r8d, 0xe5a5f0d1
mov r9d, 0x8f1f4a57
xor r9d, 0x70e0b5a8
xor r8d, r9d
and eax, r8d
sub eax, edx
mov dword [rbp - 0x20], eax
sub rsp, 0x20
call fcn.14000e572
mov rcx, qword [rbp + 0x58]
mov eax, dword [rbp - 0x20]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x19], cl
cmp eax, 0x8ac359bf
ja 0x140103873
mov al, byte [rbp - 0x19]
mov byte [rbp - 1], al
jmp 0x140103913
jmp 0x140103ce2
mov al, byte [rbp - 2]
mov cl, byte [rbp - 1]
and al, 1
movzx eax, al
cmp cl, 0
mov qword [rbp - 0x28], rax
je 0x140103942
jmp 0x140103ce2
mov cl, byte [rbp + 0x1f]
xor eax, eax
test cl, 1
mov qword [rbp - 0x28], rax
jne 0x140103ce2
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x40], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp - 0x38], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x29], al
or al, cl
test al, 1
jne 0x140103c8d
mov rax, qword [rbp - 0x40]
movabs rcx, 0x39d369fb1c9c1f20
movabs rdx, 0x39d369fb1c9c1f20
xor rcx, rdx
cmp rax, rcx
je 0x140103a66
mov eax, dword [0x1401cec98]
mov ecx, dword [0x1401cec9c]
xor ecx, 0x8117ddc7
or eax, ecx
mov ecx, 0x7accb2e3
xor ecx, 0x2f65770b
or eax, ecx
or eax, 0xef601892
and eax, 0xb2d97b75
cmp eax, 0x79023875
jb 0x140103cfd
mov eax, dword [0x1401ceca0]
imul eax, dword [0x1401ceca4]
mov ecx, 0xf41e20f1
xor ecx, 0x85504408
xor edx, edx
div ecx
mov ecx, 0x5a42e49a
xor edx, edx
div ecx
mov ecx, 0xaf91eb1f
xor edx, edx
div ecx
mov dword [rbp - 0x48], eax
mov ecx, 0xa245
mov edx, 0x633c
sub rsp, 0x20
call fcn.140063660
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x48]
mov word [rbp - 0x44], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0xe37dbc58
je 0x1401039d5
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140103a4f
jmp 0x140103c75
mov rcx, qword [rbp + 0x20]
mov ax, word [rbp - 0x44]
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
add rsp, 0x20
mov cx, 0x9847
xor cx, 0xadd
mov dx, 0x93e4
xor dx, 0xc011
sub rsp, 0x20
call fcn.140063660
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp - 0x4a], dl
cmp cl, 0
mov byte [rbp - 0x49], al
je 0x140103aa0
mov al, byte [rbp - 0x4a]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x4b], cl
test al, 1
jne 0x140103ab6
jmp 0x140103c75
mov rax, qword [rbp + 0x48]
movabs rcx, 0x6d220c573f337bd4
movabs rdx, 0x6d220c573f337bd4
xor rcx, rdx
mov qword [rax], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x60], rcx
mov qword [rax + 8], 0
mov word [rbp + 0x8e], 0x25e
lea rcx, [rbp + 0x8e]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0x70
xor cl, 0x70
cmp al, cl
jne 0x140103c75
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
add rdx, 1
sub rsp, 0x20
call fcn.1400197e0
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x78], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rdx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400fcc60
mov dl, byte [rbp - 0x4b]
mov rcx, qword [rbp + 0x48]
call fcn.1400fff08
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14001a030
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.1400fcc60
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140100a90
mov rax, qword [rbp - 0x68]
add rsp, 0x20
cmp rax, 0
je 0x140103c7a
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
movabs rdx, 0xf7e28c75ae8a43ac
movabs rax, 0x81d738a5175bc53
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0x6f95c5f8ccad10e2
movabs r8, 0x906a3a073352ef1d
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140103c7a
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
jmp 0x140103c7a
jmp 0x140103ce2
mov rax, qword [rbp + 0x58]
mov al, byte [rax]
cmp al, 0
je 0x140103c98
jmp 0x140103ce2
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140103ce2
mov cx, 0x6bb2
xor cx, 0xa244
mov dx, 0xdcd3
xor dx, 0xd40d
sub rsp, 0x20
call fcn.140063660
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x58]
mov word [rbp - 0x72], cx
cmp byte [rax], 0
jne 0x140103ce2
mov rcx, qword [rbp + 0x20]
mov ax, word [rbp - 0x72]
mov dl, al
sub rsp, 0x20
call fcn.1400ff066
add rsp, 0x20
lea rsp, [rbp + 0xc0]
pop rbp
ret
je 0x140103d2a
fstp qword [rdx - 0x74017]
push rsi
xchg esp, eax
mov al, byte [rbp - 0x48917]
inc dword [rbx]
cmp edx, ebp
movabs al, byte [0x834855fffffccfe9]
push rbp
sub rsp, 0x30
lea rbp, [rsp + 0x30]
not byte [rdx + rcx*4 - 0x489167b]
invalid
add edi, dword [rcx]
invalid
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x18], rcx
push 0x10
pop rax
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.1400fcc3e
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 0x10], rax
cmp rcx, 0
jne 0x140103dbe
mov ax, 0xa54a
xor ax, 0xa4df
mov word [rbp - 2], ax
lea rcx, [rbp - 2]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x140103db9
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001a030
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400fcc60
add rsp, 0x20
jmp 0x140103dd3
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140103430
add rsp, 0x20
mov rsp, rbp
pop rbp
ret