Function at 0x1400548b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x68], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.140047d06
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x70], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x78], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
mov edx, 2
lea r8, [rbp + 0x80]
sub rsp, 0x20
call fcn.140048f90
add rsp, 0x20
test al, 1
jne 0x140054962
jmp 0x140054974
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140055412
mov eax, dword [0x14024d560]
mov ecx, dword [0x14024d564]
xor ecx, 0xb2503c10
and eax, ecx
mov ecx, 0x9ddd8636
xor ecx, 0x43dbeb04
xor eax, ecx
mov ecx, 0xf07aaf67
xor ecx, 0x80303120
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc729b8fe
mov r8d, 0xffffffff
xor r8d, 0xc729b8fe
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x97e87246
xor r8d, 0x50c1cab8
mov edx, eax
and edx, r8d
or eax, 0xc729b8fe
imul eax, edx
add eax, ecx
cmp eax, 0xc0139424
je 0x14005541c
mov eax, dword [0x14024d568]
xor eax, 0xc6afd1e8
and eax, dword [0x14024d56c]
add eax, 0x857f3892
sub eax, 0xe742cc3f
mov edx, eax
and edx, 0x1061c894
mov ecx, 0xe7f156ea
xor ecx, 0xe7f156e8
imul ecx, edx
mov edx, 0x8f110db4
xor edx, 0x9f70c520
add eax, edx
sub eax, ecx
mov rcx, qword [rbp + 0x80]
mov qword [rbp + 0x38], rcx
cmp rcx, 0
setl cl
mov byte [rbp + 0x47], cl
cmp eax, 0xc243fe07
je 0x1400549eb
mov al, byte [rbp + 0x47]
test al, 1
jne 0x140054a5b
jmp 0x140054a7f
mov rcx, qword [rbp + 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x140055412
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.1400224f2
mov r10, qword [rbp + 0x60]
mov r8, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x18], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 0x20], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x10], rax
mov eax, dword [0x14024d570]
imul eax, dword [0x14024d574]
mov ecx, 0x6e932f9a
xor ecx, 0xae035dc9
xor edx, edx
div ecx
mov ecx, 0x13049da9
xor edx, edx
div ecx
or eax, 0xa3655bb7
cmp eax, 0x57e44edf
je 0x140055425
mov r8, qword [rbp + 0x18]
mov eax, dword [0x14024d578]
xor eax, dword [0x14024d57c]
mov ecx, 0xf22f0a8
xor ecx, 0x30bb88f0
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x10]
mov ecx, eax
or ecx, 0x30b06f87
mov eax, ecx
and eax, 0x140234ca
xor eax, 0xffffffff
and ecx, 0x140234ca
mov r9d, 0xbc9272fb
xor r9d, 0x436d8d04
xor ecx, r9d
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xeb74e834
xor ecx, 0xcd1283e6
cmp rdx, r8
setl dl
mov byte [rbp + 0xf], dl
cmp eax, ecx
ja 0x140054b19
mov al, byte [rbp + 0xf]
test al, 1
jne 0x140054b95
jmp 0x1400553ef
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x68]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140054bff
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp]
movabs rax, 0xe0b86443573ae25
movabs r8, 0x7fc240b0cff05a2e
xor rax, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x71c9c6f4fa83f40b
add rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140055412
mov eax, dword [0x14024d580]
xor eax, 0x53612931
mov edx, dword [0x14024d584]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xe3c710cf
xor edx, edx
div ecx
xor eax, 0x766a5235
add eax, 0x19f1df76
add eax, 0xe4280f25
sub eax, 0x19f1df76
cmp eax, 0xa641e90f
je 0x14005542e
mov rcx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x10]
mov eax, dword [0x14024d588]
mov r9d, dword [0x14024d58c]
xor r9d, 0xcc199b10
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x78]
mov r9d, eax
not r9d
and r9d, 0x3fc57248
and eax, 0x403a8db7
sub eax, r9d
or eax, 0x84ed09d0
xor eax, 0xd3cb9a8d
mov rdx, qword [rdx]
shl r8, 5
mov rdx, qword [rdx + r8 + 8]
mov qword [rbp - 0x10], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp - 2], cl
or cl, dl
mov byte [rbp - 1], cl
cmp eax, 0x40143b62
jae 0x14005542e
mov al, byte [rbp - 1]
test al, 1
jne 0x14005532d
jmp 0x140054cc7
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
add rcx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov ecx, dword [0x14024d590]
mov eax, 0x37854bc5
xor eax, 0x74a86090
xor ecx, eax
mov eax, dword [0x14024d594]
xor eax, 0x696fdc05
add ecx, eax
mov eax, 0xc22b2fad
xor eax, 0xb2cff9bc
xor ecx, eax
mov eax, ecx
and eax, 0x4844d863
xor ecx, 0x4844d863
or eax, ecx
mov ecx, 0x3878f532
xor ecx, 0x7570a016
sub eax, ecx
add eax, 0x4d1d04ba
add eax, 0x4d085524
cmp eax, 0xfe2964a2
je 0x140055437
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp + 0x60]
mov eax, dword [0x14024d598]
mov ecx, dword [0x14024d59c]
xor eax, ecx
add eax, 0xb26f02f
imul rax, rax, 0x3c41b737
shr rax, 0x3c
xor eax, 0xb3a3f95a
mov ecx, 0x7540e3f4
test r8, r8
setns dl
mov r9, qword [r9]
mov qword [rbp - 0x30], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x21], dl
cmp eax, ecx
je 0x140055437
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140054dda
jmp 0x140054dbc
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140055412
mov eax, dword [0x14024d5a0]
mov edx, dword [0x14024d5a4]
and eax, eax
mov ecx, 0xcb118567
xor ecx, 0x34ee7a98
xor eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x835a444d
mov edx, 0xffffffff
xor edx, 0x835a444d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0x5549e1bc
xor edx, 0xeff46e9
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x5bb6a755
and eax, ecx
mov ecx, 0x58e3c892
xor ecx, 0xe0897fb7
sub eax, ecx
cmp eax, 0x256f2684
jb 0x140055440
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x20]
mov r10d, dword [0x14024d5a8]
mov r9d, dword [0x14024d5ac]
mov eax, r10d
xor eax, 0xffffffff
and eax, 0x46ca677d
mov r11d, 0xffffffff
xor r11d, 0x46ca677d
and r10d, r11d
mov ecx, r9d
xor ecx, 0xffffffff
and ecx, 0x46ca677d
and r9d, r11d
or eax, r10d
or ecx, r9d
xor eax, ecx
mov ecx, 0xbff461f9
xor ecx, 0xb57dcd45
add eax, ecx
imul eax, eax, 0x6a5ea7b8
sub eax, 0x9be1d8b1
add eax, 0xe0de15da
add eax, 0x9be1d8b1
mov ecx, 0x469c7d70
xor ecx, 0xc319a417
mov rdx, qword [rdx]
add rdx, 8
shl r8, 5
add rdx, r8
cmp qword [rdx], 0
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jae 0x140055440
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140054f6e
jmp 0x140054f02
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
movabs rax, 0xb6248b66740babbc
sub rdx, rax
movabs rax, 0xbf5f00b1b1b00885
movabs r8, 0x40a0ff4e4e4ff77a
xor rax, r8
add rdx, rax
movabs rax, 0xfd1a28b98bee2e3f
movabs r8, 0x4b3ea3dfffe58583
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140049188
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x18], rax
je 0x140054cf6
jmp 0x140055412
mov eax, dword [0x14024d5b0]
mov ecx, dword [0x14024d5b4]
xor ecx, 0xf38699ba
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x90f7de7
xor edx, 0x2abb5a12
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
and eax, 0x23b427f5
shl eax, 1
sub eax, 0x23b427f5
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x924d87b3
xor edx, 0xca342263
mov r8d, 0x9daaf335
xor r8d, 0x62550cca
xor edx, r8d
or eax, edx
mov edx, 0x5879a5d0
and edx, 0x5879a5d0
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xe59b6248
xor r8d, 0x1a649db7
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
and eax, eax
mov ecx, 0x7a33b04d
xor ecx, 0x85cc4fb2
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2e70a23c
mov edx, 0x8e2dc9ad
xor edx, 0xa05d6b91
mov r8d, 0x4e3556ac
xor r8d, 0xb1caa953
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xce89292f
xor ecx, 0x4d2ac32b
cmp eax, ecx
je 0x140055449
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x68]
mov r8d, dword [0x14024d5b8]
mov eax, 0x1cc8a1fb
xor eax, 0x60653e49
xor r8d, eax
xor r8d, dword [0x14024d5bc]
mov eax, r8d
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or eax, r9d
and eax, 0x784d174a
xor eax, 0xffffffff
mov r9d, 0x2a7e682a
xor r9d, 0x52337f60
mov r10d, 0x866c3cb1
xor r10d, 0xfe212bfb
and r9d, r10d
xor r9d, 0xffffffff
and r8d, r9d
xor r8d, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0x20f90354
xor r9d, 0xdf06fcab
xor r8d, r9d
or eax, r8d
add eax, 0xd9b09743
add eax, 0xde5a9f54
add eax, 0x6cdf808c
sub eax, 0xde5a9f54
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x32], cl
cmp eax, 0xf8508792
ja 0x140055048
mov al, byte [rbp - 0x32]
test al, 1
jne 0x140055132
jmp 0x140055100
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x40]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140055412
mov eax, dword [0x14024d5c0]
add eax, dword [0x14024d5c4]
add eax, 0xd347c8a3
or eax, 0x9ae235dc
or eax, 0x4b57441
cmp eax, 0x990957b
je 0x140055452
mov rcx, qword [rbp + 0x78]
mov eax, dword [0x14024d5c8]
imul eax, dword [0x14024d5cc]
mov r8d, 0x76d9bf75
xor r8d, 0x83040292
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x10]
xor edx, 0x58a5dc0f
sub edx, 0x9fd07dbc
mov dword [rbp - 0x54], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.140010107
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x10]
mov eax, dword [rbp - 0x54]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x41], cl
cmp eax, 0xd3be9a34
je 0x140055158
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14005522c
jmp 0x1400551f4
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x50]
movabs rax, 0xcf869c3ca23b6f11
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xcf869c3ca23b6f11
add rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140055412
mov rsi, qword [rbp - 0x68]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x78]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14013bd59
mov r11, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp - 0x70]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140054430
mov rax, qword [rbp + 0x70]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140055412
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x14005534b
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rdx, 0xca1f0b1813d583e
movabs rcx, 0x4ca1f0b1813d583e
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x3de42a25f0076e68
movabs r8, 0x7de42a25f0076e68
xor rdx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x5bf1180c3bc35816
movabs rdx, 0x5bf1180c3bc35816
xor rcx, rdx
cmp rax, rcx
jne 0x14005534b
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
jmp 0x14005534b
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 2]
xor eax, eax
test dl, 1
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jne 0x1400553d6
jmp 0x14005534b
mov r8, qword [rbp + 0x10]
xor eax, eax
sub rax, r8
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
sub rcx, rax
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
movabs rax, 0x5ee7344be00abaee
movabs r9, 0xa118cbb41ff54511
xor rax, r9
xor rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0xfdd9b6285755abc8
movabs r10, 0x22649d7a8aa5437
xor r9, r10
xor r8, r9
or rax, r8
and rdx, rax
xor rdx, 0xffffffffffffffff
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jge 0x1400553d6
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140055412
mov rax, qword [rbp - 0x80]
mov cl, byte [rbp - 0x71]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x140054adc
jmp 0x140055412
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14004e760
add rsp, 0x20
lea rsp, [rbp + 0x88]
pop rsi
pop rbp
ret
in eax, 0xda
xchg edi, eax
pop rbx
jmp 0x1400549eb
cmc
invalid
in al, dx
shr ecx, 1
jmp 0x140055422
invalid
invalid
cmp ch, ch
xchg edi, eax
pop rbp
jmp 0x140054e5d
out 0x7a, eax
mov dh, 0xd5
jmp 0x140055048
add eax, 0xe99ec4d0
std
cld
invalid