Function at 0x1400a8250
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], r9
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], rcx
mov ecx, dword [str.v_1]
mov edx, dword [0x14024605c]
mov eax, 0x47d8259f
xor eax, 0xe2b0a835
xor edx, eax
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, eax
and ecx, 0x28c9fd
mov edx, 0x7599c4bd
xor edx, 0x8a663b42
xor ecx, edx
mov edx, 0xa7edbc78
xor edx, 0xa7c57585
add eax, edx
mov edx, 0x9d41a30c
xor edx, 0x9d41a30d
add eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xb61364d6
xor ecx, 0xffffffff
add eax, 0xb61364d6
add eax, 1
add eax, ecx
imul eax, eax, 0x7d11edef
cmp eax, 0x55b058ee
jb 0x1400a8dae
mov r10d, dword [0x140246060]
mov r9d, dword [0x140246064]
mov ecx, r10d
not ecx
mov edx, r9d
not edx
mov eax, ecx
and eax, 0x1f8b351d
and r10d, 0xe074cae2
mov r8d, edx
and r8d, 0x1f8b351d
and r9d, 0xe074cae2
or eax, r10d
or r8d, r9d
xor eax, r8d
or ecx, edx
not ecx
or eax, ecx
add eax, 0x415f47aa
xor eax, 0xd43f8ec7
imul rax, rax, 0x3bb6a8d7
shr rax, 0x3c
mov dword [rbp + 0x4c], eax
mov eax, 0xd591d824
mov dword [rbp + 0x48], eax
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.1400a6fc3
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x40], rdx
add rdx, 0x50
mov qword [rbp + 0x38], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400a8df0
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp + 0x48]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x4c]
mov qword [rbp + 0x50], r8
cmp byte [rdx + 0x50], 0
sete dl
mov byte [rbp + 0x5f], dl
cmp eax, ecx
jae 0x1400a82e7
mov al, byte [rbp + 0x5f]
test al, 1
jne 0x1400a83fd
jmp 0x1400a8c8d
mov eax, dword [0x140246068]
or eax, dword [0x14024606c]
mov ecx, 0xa2a234c7
xor ecx, 0x5d50101c
add eax, ecx
mov ecx, 0x10f028c2
xor edx, edx
div ecx
mov ecx, 0x29d99def
xor ecx, 0x9db04d0d
xor edx, edx
div ecx
cmp eax, 0x5f45d2f4
ja 0x1400a8db7
mov r8, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x140246070]
and eax, dword [0x140246074]
sub eax, 0x7eaef052
mov r9d, 0xd3cd15fa
xor edx, edx
div r9d
mov edx, 0x80a64957
xor edx, 0x4d0e62b8
or eax, edx
mov r9, rcx
xor r9, 0xffffffffffffffff
and r9, r8
mov r10, r8
xor r10, 0xffffffffffffffff
mov rdx, rcx
and rdx, r10
sub rdx, r9
mov qword [rbp + 8], rdx
mov r9, rdx
xor r9, rcx
xor r9, 0xffffffffffffffff
mov r10, rcx
and r10, r9
movabs r9, 0x4cb6f41cd412365d
movabs r11, 0x4cb6f41cd412365f
xor r9, r11
imul r9, r10
sub r9, rcx
mov rcx, rdx
sub rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
or cl, cl
xor cl, 0xff
or dl, dl
xor dl, 0xff
or cl, dl
xor cl, 0xff
mov byte [rbp + 0x17], cl
cmp eax, 0x82db94b9
jbe 0x1400a8439
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1400a84fa
jmp 0x1400a850c
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400a8c8d
mov r8, qword [rbp + 8]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rbp], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400a854b
jmp 0x1400a86a1
mov eax, dword [0x140246078]
xor edx, edx
div dword [0x14024607c]
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x11a80e84
mov edx, 0x17dceff2
xor edx, 0x674e176
mov ecx, 0xf059848a
xor ecx, 0xfa67b75
xor edx, ecx
and r8d, edx
mov ecx, 0x8ff4f69a
xor ecx, 0x4db61325
mov r9d, 0x87c31f6b
xor r9d, 0x783ce094
xor ecx, r9d
and ecx, 0x11a80e84
and edx, 0xc242e5bf
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x4e5b38c1
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x682a1204
mov edx, 0xffffffff
xor edx, 0x682a1204
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xfe25648
and ecx, 0x682a1204
and edx, 0xfe25648
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x34dee91c
xor ecx, 0x5a41c289
cmp eax, ecx
jae 0x1400a8dc0
mov eax, dword [0x140246080]
mov ecx, dword [0x140246084]
xor ecx, 0xb7ff49bf
xor edx, edx
div ecx
mov ecx, 0xc505d1c1
xor ecx, 0x2f1d6945
and ecx, eax
mov edx, 0x832edfbf
xor edx, 0x7cd12040
xor ecx, edx
add eax, 0xea18b884
mov edx, 0xbbaf5265
xor edx, 0xbbaf5264
add eax, edx
add eax, ecx
sub eax, 0xc7200996
mov r8d, 0xffffffff
xor r8d, 0xe364d59
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe364d59
or eax, 0xe364d59
imul eax, edx
add eax, ecx
mov dword [rbp - 4], eax
sub rsp, 0x20
call fcn.140008d37
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0xa85adcb
jbe 0x1400a8606
jmp 0x1400a8c8d
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x60]
mov r8, qword [rbp]
movabs r10, 0xea376fe6d7f6f1dc
movabs r9, 0x15c8901928090e23
xor r10, r9
mov r9, rcx
and r9, r10
mov r10, rcx
or r10, 0xffffffffffffffff
add r9, r10
mov qword [rbp - 0x38], r9
mov r10, r9
sub r10, r8
cmovl r8, r9
mov qword [rbp - 0x30], r8
movabs r8, 0x86f3d7912e6711b8
movabs r9, 0x790c286ed198ee47
xor r8, r9
xor rdx, r8
mov qword [rbp - 0x28], rdx
add rax, 8
mov qword [rbp - 0x20], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x40], rax
cmp rax, rcx
jg 0x1400a8c8d
mov eax, dword [0x140246088]
sub eax, dword [0x14024608c]
or eax, 0xcff05417
mov r8d, 0x6cd7ddeb
xor r8d, 0x74d836da
mov ecx, 0x21f3fe0
xor ecx, 0xfde0c01f
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, 0x180feb31
or eax, 0x180feb31
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x969a18c9
add eax, ecx
mov ecx, 0x9c59271c
xor ecx, 0x9c59271d
add eax, ecx
cmp eax, 0xc9d69da7
ja 0x1400a8dc9
mov r9, qword [rbp - 0x28]
mov r10, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x40]
mov ecx, dword [0x140246090]
xor ecx, 0xc3c73bec
mov r8d, dword [0x140246094]
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov r11d, 0x2db517a8
xor r11d, 0xd24ae857
xor r8d, r11d
and ecx, r8d
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x3893c695
xor ecx, 0xe5c731b2
add eax, ecx
mov ecx, 0x8831462
xor ecx, 0x7d88da7b
xor eax, ecx
or eax, 0x7e3f487e
mov ecx, 0x9c08c52
xor ecx, 0x7ea08941
movabs r8, 0xf080fd3d2d2d67c7
movabs r11, 0xf080fd3d2d2d67c7
xor r8, r11
sub r8, rdx
xor edx, edx
sub rdx, r10
add r8, rdx
xor edx, edx
sub rdx, r8
mov qword [rbp - 0x50], rdx
mov r8, rdx
add r8, 1
xor rdx, 0xffffffffffffffff
or rdx, r9
add rdx, r8
movabs r8, 0x94f64e8a3c59d006
movabs r9, 0x94f64e8a3c59d006
xor r8, r9
cmp rdx, r8
setl dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
je 0x1400a87ab
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400a888b
jmp 0x1400a889d
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400a8c8d
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
jne 0x1400a88c8
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1400a8c8d
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x40]
mov ax, word [rax + rcx*2]
mov word [rbp - 0x62], ax
sub rsp, 0x20
call fcn.1400a6fc3
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x60], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400a8df0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x58], rcx
cmp byte [rax + 0x50], 0
jne 0x1400a8c58
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
cmp rax, rcx
jg 0x1400a89c5
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a6f8]
mov qword [rcx], rax
lea rax, [0x1402588b1]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402588e0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1402588e8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xef733087151acfe
movabs rdx, 0xf108ccf7f1f9ec23
xor rax, rdx
lea rdx, [0x1402588b1]
lea r8, [0x1402588f0]
lea r9, [0x1402588f4]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
add rsp, 0x30
jmp 0x1400a8c58
mov r8, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x50]
movabs rdx, 0xbab94a3f24eac05d
movabs rax, 0xbab94a3f24eac05f
xor rdx, rax
sub rsp, 0x20
call fcn.1400a5cfe
add rsp, 0x20
test al, 1
jne 0x1400a89fe
jmp 0x1400a8a10
sub rsp, 0x20
call fcn.140008d37
add rsp, 0x20
jmp 0x1400a8c58
mov ecx, dword [0x140246098]
mov r8d, dword [0x14024609c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
mov r9d, 0xff447624
xor r9d, 0xbb89db
xor eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0x74775ae6
xor eax, 0x223d485a
add ecx, eax
xor ecx, 0x6cce607a
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xa9b970f8
xor edx, 0x56468f07
xor ecx, edx
or eax, ecx
mov ecx, 0x6dd5da7c
and ecx, 0x6dd5da7c
mov edx, 0x1b38cd36
xor edx, 0xe4c732c9
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xad3998e5
jb 0x1400a8dd2
mov r8, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1402460a0]
mov r9d, dword [0x1402460a4]
xor r9d, 0x2a2092d4
mov edx, eax
and edx, r9d
or eax, r9d
add edx, eax
mov eax, edx
and eax, 0x7151f7f3
or edx, 0x7151f7f3
add eax, edx
and eax, 0x59823122
mov edx, eax
imul rdx, rdx, 0x2aacc5f9
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
mov rdx, qword [rcx]
mov qword [rbp - 0x78], rdx
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp - 0x70], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x63], cl
cmp eax, 0x5bfac12e
jae 0x1400a8a9f
mov al, byte [rbp - 0x63]
test al, 1
jne 0x1400a8b47
jmp 0x1400a8b29
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1400a8c58
mov eax, dword [str.4_r__]
mov ecx, 0x3dc63948
xor ecx, 0x9bcfb44f
xor eax, ecx
imul eax, dword [0x1402460ac]
mov ecx, 0x89cc3542
xor ecx, 0x99888860
mov edx, eax
and edx, ecx
mov ecx, 0x7322132f
xor ecx, 0x7322132d
imul ecx, edx
add eax, 0x1044bd22
sub eax, ecx
add eax, 0xcd7a2d91
xor eax, 0x43602049
cmp eax, 0x7fabbc49
je 0x1400a8ddb
mov rdx, qword [rbp - 0x78]
mov r8w, word [rbp - 0x62]
mov rcx, qword [rbp - 0x20]
mov r9d, dword [0x1402460b0]
mov r10d, dword [0x1402460b4]
mov eax, 0xf31c566f
xor eax, 0xf31c566f
sub eax, r10d
add r9d, eax
mov r10d, 0xffffffff
xor r10d, 0x87e26904
mov eax, r9d
xor eax, r10d
and eax, r9d
mov r9d, 0x83139ef5
xor r9d, 0x7cec610a
xor eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xeba94409
mov r10d, 0x1b497f75
xor r10d, 0x2778254e
mov r11d, 0xc45dd55c
xor r11d, 0x3ba22aa3
xor r10d, r11d
or eax, r9d
mov r9d, 0x20632b67
xor r9d, 0x1c52715c
or r9d, r10d
xor eax, 0xffffffff
and eax, r9d
mov r9d, 0x5aaabf2e
xor r9d, 0xd2307931
imul eax, r9d
mov rcx, qword [rcx]
mov word [rcx + rdx + 8], r8w
cmp eax, 0x72d06360
ja 0x1400a8b9a
jmp 0x1400a8c58
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x38]
mov cl, byte [rcx]
mov dl, 0xb4
xor dl, 0xb4
movabs r8, 0x3b152c2bca986b45
movabs r9, 0x3b152c2bca986b44
xor r8, r9
add rax, r8
cmp cl, dl
mov qword [rbp - 0x10], rax
je 0x1400a8723
mov eax, dword [0x1402460b8]
mov edx, dword [0x1402460bc]
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, 0x5c602482
xor r9d, 0xa39fdb7d
mov r8d, eax
xor r8d, r9d
and ecx, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
or ecx, r8d
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, 0x37aa1a14
xor eax, 0x37aa1a14
mov edx, 0xf0379df7
xor edx, 0xa5653c6f
sub eax, edx
add ecx, eax
xor ecx, 0xd6e957e6
mov edx, 0xd5a0e0e5
xor edx, 0xa195d64b
mov eax, ecx
and eax, edx
mov edx, 0xf4d55849
xor edx, 0xb2aa7b6
xor eax, edx
and ecx, 0x743536ae
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x96d510e4
xor ecx, 0x692aef1b
xor eax, ecx
cmp eax, 0x65ebf1b
jb 0x1400a8de4
mov eax, dword [0x1402460c0]
mov r8d, dword [0x1402460c4]
mov ecx, 0xdf314546
xor ecx, 0xdc295f00
xor r8d, ecx
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0x81a6409b
xor edx, 0xffffffff
mov ecx, 0xa4ecad01
xor ecx, 0x254aed9a
and ecx, edx
shl ecx, 1
sub ecx, 0x81a6409b
sub eax, ecx
imul eax, eax, 0xd4ec5d25
mov ecx, 0x586e0cc
xor ecx, 0x207db4b6
add eax, ecx
cmp eax, 0xf05cd25f
je 0x1400a8d36
lea rsp, [rbp + 0x80]
pop rbp
ret
xor dword [rdx + 0x30e95a13], esp
cmc
invalid
wait
ret
movabs dword [0xfffff83de93079ba], eax
mov al, 0x63
imul esi, ecx, 0xfff9d9e9
push rcx
int1
invalid
or byte [rdx - 6], cl
invalid
out 0x84, eax
pextrw ebp, mm1, 0x49
invalid