Function at 0x1400461c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], r9
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rcx
mov eax, dword [0x1401dd1c0]
sub eax, dword [0x1401dd1c4]
mov ecx, 0xfda42d21
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd36b7d57
mov r8d, 0xffffffff
xor r8d, 0xd36b7d57
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xdd04b118
xor r8d, 0xe6fcc4f
mov edx, eax
and edx, r8d
or eax, 0xd36b7d57
imul eax, edx
add eax, ecx
mov r8d, 0x7d00db32
xor r8d, 0x25934cc9
mov ecx, 0x4c775c96
xor ecx, 0xb388a369
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xe0ba0cf7
xor r8d, 0xb8299b0c
mov edx, eax
and edx, r8d
or eax, 0x589397fb
imul eax, edx
add eax, ecx
mov ecx, 0x256d5fa9
xor ecx, 0xd4f5019b
cmp eax, ecx
jae 0x140046e21
mov eax, dword [0x1401dd1c8]
mov ecx, dword [0x1401dd1cc]
and eax, ecx
add eax, 0x120fc6a6
and eax, 0x121f437d
add eax, 0xc9d14729
mov dword [rbp + 0x5c], eax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.140041c41
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x38], rcx
mov qword [rax], 0
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.140010380
mov r10, qword [rbp + 0x98]
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov r11, rax
mov eax, dword [rbp + 0x5c]
mov qword [r10 + 8], r11
mov qword [r9], 0
mov r10, r9
add r10, 8
mov qword [rbp + 0x60], r10
mov qword [r9 + 8], 0
mov r8, qword [r8]
movabs r9, 0xcf89999caa4a5965
movabs r10, 0xcf89999caa4a5964
xor r9, r10
cmp r8, 0
cmove r8, r9
mov qword [rbp + 0x68], r8
add rdx, 8
mov qword [rbp + 0x70], rdx
add rcx, 8
mov qword [rbp + 0x78], rcx
cmp eax, 0xecc5bf8d
ja 0x14004629f
mov rax, qword [rbp + 0x80]
xor ecx, ecx
mov qword [rbp - 8], rcx
mov qword [rbp], rax
jmp 0x14004642f
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov eax, dword [0x1401dd1d0]
xor eax, 0x554a5694
mov ecx, dword [0x1401dd1d4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x450ff432
or eax, ecx
mov ecx, 0xdfb0a30c
xor ecx, 0x9abf573e
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x53e8bec2
mov r8d, 0xb614dbc8
xor r8d, 0xe5fc650a
mov ecx, 0xa628b0ee
xor ecx, 0x59d74f11
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x53e8bec2
or eax, 0x53e8bec2
imul eax, edx
add eax, ecx
add eax, 0x9457cb4d
sub eax, 0x8d95e7ef
cmp eax, 0xc10042e1
je 0x140046e2a
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x90]
mov eax, dword [0x1401dd1d8]
mov r8d, dword [0x1401dd1dc]
xor r8d, 0xdd88d89c
sub eax, 0xa2270923
add eax, r8d
add eax, 0xa2270923
mov r9d, 0x1e31e0fb
xor r9d, 0xd3b82408
mov r8d, 0x3cbd601b
xor r8d, 0xc3429fe4
xor r9d, r8d
mov r8d, eax
xor r8d, r9d
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0x8600dc13
xor r9d, 0x8faf9df2
mov r10d, 0x4e6818a7
xor r10d, 0xb197e758
xor r9d, r10d
or eax, r9d
and r8d, 0x9af41e1
mov r9d, 0x5cd3a08f
xor r9d, 0xa32c5f70
xor r8d, r9d
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0xec0ec6fb
xor r8d, 0xc77466b2
mov r9d, 0xbe61d728
xor r9d, 0x419e28d7
xor r8d, r9d
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
cmp rcx, qword [rdx]
setg cl
mov byte [rbp - 0x19], cl
cmp eax, 0x63fd3620
je 0x140046e2a
mov rax, qword [rbp - 0x10]
mov cl, byte [rbp - 0x19]
test cl, 1
mov qword [rbp - 0x28], rax
jne 0x140046c6c
jmp 0x1400465b6
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x30], rax
cmp rax, qword [rcx]
jge 0x1400466ae
mov r8, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x88]
mov r9, qword [rbp + 0x90]
mov r10, qword [r9]
mov qword [rcx], r10
mov r9, qword [r9 + 8]
mov qword [rcx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140045db0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x38]
mov byte [rbp - 0x31], cl
cmp byte [rax], 0
jne 0x140046c6c
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1400466ae
jmp 0x140046633
mov rdx, qword [rbp - 0x30]
movabs rcx, 0x857c3af3e338772
mov rax, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0x5aa45a9a2f6c8614
movabs r8, 0x52f39935115f0166
xor rcx, r8
add rax, rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rcx, 0x8d6c9299fcaf488
movabs r9, 0xf72936d660350b77
xor rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x28], rax
jl 0x140046c5f
jmp 0x1400465b6
mov eax, dword [0x1401dd1e0]
mov edx, dword [0x1401dd1e4]
xor edx, 0xbb584c64
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, 0xffffffff
or ecx, r8d
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
and edx, edx
mov r8d, 0xf42b4e6c
xor r8d, 0xbd4b193
xor edx, r8d
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x97ce652b
xor edx, 0x68319ad4
xor eax, edx
or ecx, eax
mov eax, 0x7e6b7324
xor eax, 0x6cc57c1
sub ecx, eax
sub ecx, 0x3298dcdf
add ecx, 0x78a724e5
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xfa941c4b
and ecx, 0xfa941c4b
xor ecx, 0xffffffff
mov edx, 0xc3d3d573
xor edx, 0x3c2c2a8c
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x2562f4c7
mov ecx, 0xec33fa6a
xor ecx, 0x93e5b1b5
cmp eax, ecx
je 0x140046e33
mov rdx, qword [rbp - 0x18]
mov eax, dword [0x1401dd1e8]
or eax, dword [0x1401dd1ec]
add eax, 0xbd10b2c8
imul eax, eax, 0x2514b24c
mov ecx, 0xffa424cd
xor ecx, 0xf1daff07
add eax, ecx
add eax, 0x86c849f2
sub eax, 0xe7edbca
mov ecx, 0xd90b1114
xor ecx, 0x8aa0f799
cmp rdx, 0
sete dl
mov byte [rbp - 0x32], dl
cmp eax, ecx
jb 0x140046e33
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x32]
test cl, 1
mov qword [rbp - 0x40], rax
jne 0x1400467c7
jmp 0x140046900
mov eax, dword [0x1401dd1f0]
mov r8d, dword [0x1401dd1f4]
mov ecx, 0xec30c96a
xor ecx, 0xd39e95bf
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xab530e42
xor ecx, 0xeac5eb39
mov edx, 0x493ab9a7
xor edx, 0xb6c54658
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x4196e57b
or ecx, edx
and eax, ecx
mov ecx, 0xa4e3ac78
xor ecx, 0x5b1c5387
xor eax, ecx
sub eax, 0xdc9afe96
and eax, eax
mov ecx, 0x17fbf3d5
xor ecx, 0xe8040c2a
xor eax, ecx
mov ecx, 0x3207a351
and ecx, 0x3207a351
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xd748fb42
je 0x140046e3c
mov eax, dword [0x1401dd1f8]
mov r8d, dword [0x1401dd1fc]
xor r8d, 0xfc15410a
mov ecx, 0xcd8342e
xor ecx, 0xf327cbd1
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, eax
xor ecx, 0x6c2e5f90
xor ecx, 0xffffffff
or eax, 0x6c2e5f90
and eax, ecx
mov ecx, 0xf6d29619
xor ecx, 0x8b5d6e14
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x90]
sub eax, 0xc744d335
add eax, 0x3f76614e
add eax, 0xc744d335
mov ecx, 0x42dbc06e
xor ecx, 0x708e2595
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
cmp eax, ecx
jbe 0x140046871
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x40], rax
jmp 0x140046900
mov rdx, qword [rbp - 0x40]
mov qword [rbp - 0x58], rdx
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp - 0x50], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xea79aa3baea3effb
movabs r8, 0xea79aa3baea3effb
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
mov r8b, 1
xor r8b, 0
xor al, r8b
and cl, dl
xor cl, 0xff
and al, cl
xor al, 0xff
test al, 1
jne 0x140046c5f
mov rcx, qword [rbp + 0x48]
mov r9, qword [rbp - 0x50]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x90]
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001b4e0
mov r9, qword [rbp + 0x48]
mov r8, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140014e50
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.140010368
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x30]
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.14001d2d0
mov al, byte [rbp - 0x32]
add rsp, 0x20
test al, 1
jne 0x140046c6c
mov r8, qword [rbp - 0x18]
movabs rcx, 0x1fb65fbd8d3327ca
movabs rax, 0x99b20b1c60495acb
xor rcx, rax
mov rax, r8
sub rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x860454a1ed7a7d01
add rax, rcx
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
movabs rdx, 0x80ba76eed97b2bc9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x80ba76eed97b2bc9
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x85c56643e34af505
movabs rsi, 0x57f10ad3a31decc
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0xdb6548990e76a901
movabs r8, 0xdb6548990e76a901
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x140046c5f
mov r8, qword [rbp + 0x68]
mov rdx, qword [rbp - 0x58]
movabs rax, 0x383d1a0e9e366139
movabs rcx, 0x383d1a0e9e366139
xor rax, rcx
sub rax, r8
mov r9, rdx
sub r9, rax
mov qword [rbp - 0x68], r9
mov rax, r9
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, rdx
or rcx, rcx
movabs r10, 0x4832735c7ab9cbef
movabs r11, 0xb7cd8ca385463410
xor r10, r11
xor rcx, r10
or rax, rcx
movabs rcx, 0xbe900bc625d426c0
movabs r10, 0x416ff439da2bd93f
xor rcx, r10
xor rax, rcx
mov rcx, r9
or rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0x75264a62b3cd3ef9
movabs rdx, 0x8ad9b59d4c32c106
xor rcx, rdx
xor rax, rcx
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0x17fa54c625e1d2b5
movabs r10, 0xcef8e2f84d05da87
xor rcx, r10
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xd902b63e68e40832
xor r10, rdx
and r9, r10
movabs r11, 0xd3d0981d50b352e1
movabs rdx, 0x2c2f67e2af4cad1e
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0xd902b63e68e40832
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x407bc0fba3a12717
movabs r8, 0xbf843f045c5ed8e8
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x64714c69ac095691
xor rdx, r8
or rax, rcx
movabs rcx, 0x3f15c6206df28d19
movabs r8, 0x5b648a49c1fbdb88
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jl 0x140046c5f
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
jmp 0x14004642f
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140046e10
mov eax, dword [0x1401dd200]
xor eax, 0xd857bd98
mov ecx, dword [0x1401dd204]
mov edx, 0x32cadddd
xor edx, 0x44ebc1a1
xor ecx, edx
xor eax, ecx
mov ecx, 0xb50fcacb
xor ecx, 0x2f0ba8ba
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0xbd6bd5b2
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xbd6bd5b2
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x51800e55
cmp eax, 0x10b8101
je 0x140046e45
mov rdx, qword [rbp - 0x70]
mov eax, dword [0x1401dd208]
mov r8d, dword [0x1401dd20c]
mov ecx, 0x148e2e81
xor ecx, 0xdb4ee6cf
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and ecx, r9d
mov r9d, 0xdd005862
xor r9d, 0x22ffa79d
xor eax, r9d
mov r9d, 0xe935a8be
xor r9d, 0x16ca5741
xor r8d, r9d
and eax, r8d
or ecx, eax
mov eax, 0x37d9a01d
xor eax, 0xc8265fe2
xor ecx, eax
add ecx, 0x47d44273
mov r9d, 0xffffffff
xor r9d, 0xff5d7b10
mov r8d, ecx
and r8d, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, ecx
and r8d, 0xff5d7b10
mov r9d, 0x92dcee34
xor r9d, 0x6d819524
or ecx, r9d
imul ecx, r8d
add ecx, eax
mov eax, ecx
or eax, 0xea2e26ef
mov r8d, 0x6cec81e1
xor r8d, 0x93137e1e
xor eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xea2e26ef
and ecx, r8d
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x9b979ae8
xor ecx, 0xc3b6f314
mov rdx, qword [rdx]
movabs r8, 0xe092dbcf1476027
movabs r9, 0x4e092dbcf1476027
xor r8, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
je 0x140046ce2
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140046dff
jmp 0x140046e10
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
lea rsp, [rbp + 0xa8]
pop rsi
pop rbp
ret
pop rsi
invalid
xlatb
xor esi, dword [rcx - 0x13]
jmp 0x1400464ca
add eax, 0xe9526a5a
and edi, ecx
invalid
add al, 0x28
ret
xchg bx, ax
leave
invalid