Function at 0x1400519a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xb0], rcx
mov eax, 0x10
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa8], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp + 0xb0]
add rsp, 0x20
mov qword [rbp + 0xb8], rax
cmp qword [rcx], 0
jne 0x140051b90
mov eax, dword [0x1401dd670]
or eax, dword [0x1401dd674]
sub eax, 0x3c092a0d
add eax, 0x2c3a838f
mov ecx, 0x9eceb502
xor ecx, 0xf4746db8
imul eax, ecx
mov ecx, 0x9395d02b
xor ecx, 0x9a971b98
cmp eax, ecx
jbe 0x140052803
mov eax, dword [0x1401dd678]
xor eax, 0x52ab086c
mov r8d, dword [0x1401dd67c]
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
or eax, 0x4f55d731
sub eax, 0x828a062c
mov ecx, 0xe2f6f4a2
xor ecx, 0x51a12687
xor eax, ecx
mov dword [rbp + 0x84], eax
mov eax, 0x44373c0b
xor eax, 0xd9814ff6
mov dword [rbp + 0x80], eax
movabs rcx, 0x547e536a60bf5efb
movabs rax, 0x547e536a60bf5edb
xor rcx, rax
sub rsp, 0x20
call fcn.14004c2ce
mov rdx, qword [rbp + 0xb8]
mov ecx, dword [rbp + 0x80]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x84]
mov qword [rbp + 0x88], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x97], dl
cmp eax, ecx
ja 0x140052803
mov al, byte [rbp + 0x97]
test al, 1
jne 0x140051b05
jmp 0x1400527f8
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb0]
movabs rdx, 0xb3708a839eeb350a
movabs r8, 0xb3708a839eeb350a
xor rdx, r8
mov qword [rcx + 0x10], rdx
movabs rcx, 0x8b7b6715d2b2929f
movabs rdx, 0x8b7b6715d2b2929f
xor rcx, rdx
cmp rax, rcx
jge 0x140051b75
mov rcx, qword [rbp + 0x88]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x1400527f8
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.14001ed58
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x118], 0
mov rdx, qword [rcx]
mov qword [rbp + 0x100], rdx
mov rdx, qword [rcx + 8]
mov qword [rbp + 0x108], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rbp + 0x110], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0x100]
lea rdx, [rbp + 0xf0]
lea r8, [rbp + 0x118]
sub rsp, 0x20
call fcn.140052850
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x78], rcx
mov al, byte [rax]
mov cl, 0x74
xor cl, 0x74
cmp al, cl
jne 0x1400527f8
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xb0]
mov rcx, qword [rcx]
mov qword [rbp + 0x70], rcx
cmp rax, 0xffffffffffffffff
jle 0x140051ecb
mov eax, dword [0x1401dd680]
xor edx, edx
div dword [0x1401dd684]
mov ecx, eax
mov eax, 0x3c292d8e
xor eax, 0xed369f70
add ecx, eax
mov eax, 0x37bbcbe1
xor eax, 0x107f4e60
add ecx, eax
sub ecx, 0xd11fb2fe
mov eax, 0x26b7a068
xor eax, 0x1fe04316
xor ecx, eax
mov eax, ecx
or eax, 0x25350446
xor eax, 0xffffffff
or ecx, 0x25350446
mov edx, 0xe8d4b395
xor edx, 0x172b4c6a
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x3e6e7fe8
jb 0x14005280c
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x70]
mov eax, dword [0x1401dd688]
xor eax, 0x70909f07
mov r9d, dword [0x1401dd68c]
xor r9d, 0xc481ddfb
mov r8d, eax
xor r8d, 0xffffffff
and r8d, r9d
xor r9d, 0xffffffff
and eax, r9d
sub eax, r8d
mov r8d, eax
and r8d, 0x8bbe8304
mov r9d, 0x807fcf4e
xor r9d, 0x7f8030b1
xor r8d, r9d
add eax, 0x8bbe8304
add eax, 1
add eax, r8d
mov r10d, 0xeb58e49d
xor r10d, 0x82c196d0
mov r8d, 0x1bdff7e3
xor r8d, 0xe420081c
xor r10d, r8d
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x6999724d
mov r10d, 0xf1b89ded
xor r10d, 0x9821efa0
or eax, r10d
imul eax, r9d
add eax, r8d
sub eax, 0xab03c8e9
add eax, 0x13fc6c7c
add eax, 0xab03c8e9
cmp rcx, rdx
setl cl
mov byte [rbp + 0x6f], cl
cmp eax, 0xdc88f325
je 0x140051ca3
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x140051db4
jmp 0x140051d82
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x70]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x1400527f8
mov eax, dword [0x1401dd690]
and eax, dword [0x1401dd694]
mov ecx, eax
xor ecx, 0xbab0609d
xor ecx, 0xffffffff
and ecx, 0xbab0609d
shl ecx, 1
sub ecx, 0xbab0609d
sub eax, ecx
mov ecx, 0xd5f449e8
xor edx, edx
div ecx
mov ecx, 0xe574c510
xor ecx, 0x2f43dec7
and eax, ecx
mov ecx, 0x870d2cb6
xor ecx, 0x4de8025e
cmp eax, ecx
jae 0x140052815
mov rcx, qword [rbp + 0xb0]
mov edx, dword [0x1401dd698]
or edx, dword [0x1401dd69c]
add edx, 0x1f74d4cf
mov r8d, 0x6bf03268
xor r8d, 0x72b8f14d
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x1948c325
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov r8d, 0x8e6cc590
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x78]
mov r8d, eax
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x68], r8d
mov r8d, 0xf237ac4f
xor r8d, 0x68dc38bf
mov dword [rbp + 0x64], r8d
mov rcx, qword [rcx + 8]
add rcx, 8
imul rdx, rdx, 0x28
add rcx, rdx
add rcx, 0x18
mov rdx, qword [rax]
mov qword [rbp + 0xe0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.140014e50
mov ecx, dword [rbp + 0x64]
mov eax, dword [rbp + 0x68]
add rsp, 0x20
cmp eax, ecx
je 0x140052815
jmp 0x1400527f8
mov rax, qword [rbp + 0x70]
cmp rax, 0
mov qword [rbp + 0x58], rax
jne 0x140051f80
mov ecx, 0x20
sub rsp, 0x20
call fcn.14004c2ce
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x50], rcx
cmp byte [rax], 0
jne 0x1400527f8
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0xb0]
movabs rdx, 0x4218c5f90b6d1ab9
movabs r8, 0x4218c5f90b6d1ab9
xor rdx, r8
mov qword [rcx + 0x10], rdx
cmp rax, 0
jge 0x140051f5a
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x1400527f8
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.14001ed58
mov rax, qword [rbp + 0xb0]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x30], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x38], rdx
mov rdx, rax
add rdx, 0x10
mov qword [rbp + 0x40], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x48], rax
mov edx, 2
lea r8, [rbp + 0x128]
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
test al, 1
jne 0x140052248
mov rcx, qword [rbp + 0x48]
mov edx, 3
lea r8, [rbp + 0x120]
sub rsp, 0x20
call fcn.14004cefb
add rsp, 0x20
test al, 1
jne 0x140052248
mov eax, dword [0x1401dd6a0]
add eax, dword [0x1401dd6a4]
mov ecx, eax
xor ecx, 0x2384288b
xor ecx, 0xffffffff
or eax, 0x2384288b
and eax, ecx
xor ecx, ecx
sub ecx, 0x2cc6c2df
sub eax, ecx
sub eax, 0x5720fd12
mov ecx, 0xa4159e10
xor ecx, 0x3bb31b8d
cmp eax, ecx
jbe 0x14005281e
mov eax, dword [0x1401dd6a8]
or eax, dword [0x1401dd6ac]
sub eax, 0xd7516498
mov ecx, 0xb85fc536
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xddf7c1fc
and eax, edx
mov edx, 0x7c8d58b9
xor edx, 0xa17a9945
or ecx, edx
mov edx, 0x3a59b21c
xor edx, 0xc5a64de3
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x53d84ac3
xor edx, 0xac27b53c
xor ecx, edx
and eax, ecx
mov rcx, qword [rbp + 0x128]
cmp rcx, qword [rbp + 0x120]
setl cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x728a47f
jb 0x140052033
mov cl, byte [rbp + 0x2f]
xor eax, eax
test cl, 1
mov byte [rbp + 0x2e], al
jne 0x14005226a
jmp 0x1400520c2
mov eax, dword [0x1401dd6b0]
imul eax, dword [0x1401dd6b4]
and eax, 0xf652b277
mov ecx, 0xae9fa13
xor edx, edx
div ecx
imul eax, eax, 0x378016e6
cmp eax, 0x9ceb1f39
jae 0x140052827
mov r9, qword [rbp + 0x48]
mov ecx, dword [0x1401dd6b8]
mov edx, dword [str.:_KrK]
xor edx, 0x93565157
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, edx
and ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x554c0d32
mov r8d, 0xffffffff
xor r8d, 0x554c0d32
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x8b3f7cc2
xor r8d, 0xde7371f0
mov edx, ecx
and edx, r8d
or ecx, 0x554c0d32
imul ecx, edx
add ecx, eax
mov edx, 0x736bec2
xor edx, 0xd2c4422a
mov eax, 0x93a1411a
xor eax, 0x6c5ebee5
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xf0eb5bbd
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x30]
mov r8, rdx
sub r8, r9
mov qword [rbp + 0x20], r8
mov rcx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
mov rdx, r8
xor rdx, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
and rdx, r10
mov r10, r9
xor r10, 0xffffffffffffffff
movabs rsi, 0xc8137ce7c9bd6ae1
movabs r11, 0x37ec83183642951e
xor rsi, r11
mov r11, r9
xor r11, rsi
and r10, r11
xor rdx, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and rdx, r10
or r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x4e9e47fccf8d37a6
movabs r9, 0xb161b8033072c859
xor r8, r9
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
xor cl, 0xff
xor dl, 0xff
mov r8b, 1
xor r8b, 0
or cl, dl
xor edx, edx
xor dl, 0
or dl, r8b
xor cl, 0xff
and cl, dl
mov byte [rbp + 0x2d], cl
cmp eax, 0x61aeec29
ja 0x140052827
mov al, byte [rbp + 0x2d]
test al, 1
jne 0x140052248
jmp 0x140052235
mov rax, qword [rbp + 0x20]
cmp rax, 3
setg al
mov byte [rbp + 0x2e], al
jmp 0x14005226a
sub rsp, 0x20
call fcn.1400067fe
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1400526c0
jmp 0x1400527f8
mov rax, qword [rbp + 0xb8]
mov cl, byte [rbp + 0x2e]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x1f], al
or al, cl
test al, 1
jne 0x140052613
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.140050f40
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x6c
xor cl, 0x6c
cmp al, cl
jne 0x1400527f8
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0x118]
mov qword [rbp - 0x10], r8
mov rdx, qword [rdx]
mov qword [rbp], rdx
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xd0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
sub rsp, 0x20
call fcn.14004c253
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 8], rax
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 0x10], rax
je 0x1400525e5
mov eax, dword [0x1401dd6c0]
mov edx, dword [0x1401dd6c4]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
xor eax, 0xa676c868
mov edx, 0xdf05c687
xor edx, 0x5c624a1a
mov ecx, 0x5b37e56d
xor ecx, 0xa4c81a92
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x83678c9d
add eax, edx
sub eax, ecx
mov ecx, 0xe0dd344e
xor ecx, 0x58f18400
xor edx, edx
div ecx
cmp eax, 0x11543442
jae 0x140052830
mov rcx, qword [rbp]
mov eax, dword [0x1401dd6c8]
mov edx, 0xf164d02c
xor edx, 0x8b4e7f1
xor eax, edx
mov r8d, dword [0x1401dd6cc]
xor r8d, 0x7f2201bb
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0xffffffff
xor r8d, 0x259fcda6
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0x13cefbdd
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x10]
mov r8d, eax
and r8d, 0xa5ef324e
xor r8d, 0xffffffff
add eax, 0xa5ef324e
add eax, 1
add eax, r8d
add rcx, 0xffffffffffffffff
mov qword [rbp - 0x20], rcx
and rcx, rdx
mov qword [rbp - 0x18], rcx
cmp eax, 0x45d09090
jbe 0x14005237d
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x28], rax
jmp 0x14005240c
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x30], rcx
test rcx, rcx
setns al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140052453
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
mov rax, 0xffffffffffffffff
mov qword [rbp + 0x10], rax
jmp 0x1400525e5
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp - 8]
lea r8, [rcx + rcx*4]
mov rax, qword [rax + r8*8 + 8]
mov qword [rbp - 0x48], rax
test rax, rax
sete al
mov r9b, byte [rdx]
test r9b, r9b
setne dl
or dl, al
mov eax, 6
mov r8d, 3
cmp r9b, 0
cmovne eax, r8d
test dl, 1
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x34], eax
jne 0x14005256a
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
jne 0x140052527
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 8]
add rax, 8
imul rcx, rcx, 0x28
add rax, rcx
add rax, 8
mov rcx, qword [rax]
mov qword [rbp + 0x140], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x148], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x138], rax
lea rcx, [rbp + 0x140]
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.140062cd0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 0x30]
test cl, 1
mov qword [rbp + 0x10], rax
jne 0x1400525e5
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14004cfd7
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 8]
mov r8b, byte [rax]
mov r9b, 0xab
xor r9b, 0xab
xor ecx, ecx
mov rax, 0xffffffffffffffff
cmp r8b, r9b
mov qword [rbp - 0x40], rdx
mov dword [rbp - 0x34], ecx
mov qword [rbp + 0x10], rax
jne 0x1400525e5
mov rax, qword [rbp - 0x40]
mov ecx, dword [rbp - 0x34]
mov dword [rbp - 0x5c], ecx
mov qword [rbp - 0x58], rax
mov rdx, 0xffffffffffffffff
mov qword [rbp - 0x50], rdx
test ecx, ecx
mov qword [rbp - 0x28], rax
je 0x14005240c
jmp 0x140052594
mov rax, qword [rbp - 0x50]
mov ecx, dword [rbp - 0x5c]
sub ecx, 6
mov qword [rbp + 0x10], rax
jne 0x1400525e5
jmp 0x1400525ad
mov rax, qword [rbp - 0x58]
mov rcx, rax
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
shl rcx, 1
movabs rdx, 0x9b3a7015739f4847
movabs r8, 0x64c58fea8c60b7b8
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x10]
mov dl, byte [rdx]
mov r8b, 0x5d
xor r8b, 0x5d
cmp dl, r8b
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
je 0x1400526d3
jmp 0x1400527f8
mov ecx, dword [0x1401dd6d0]
mov edx, dword [0x1401dd6d4]
mov eax, ecx
and eax, edx
mov r8d, 0xc2bf7faf
xor r8d, 0x3d408050
xor eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x41165e8e
xor eax, 0x78d7aedd
mov ecx, 0x257e1287
xor ecx, 0xf6ee4b2a
sub eax, ecx
cmp eax, 0xd7da7bfc
jae 0x140052839
mov ecx, dword [0x1401dd6d8]
xor ecx, 0x5e512bd4
sub ecx, dword [0x1401dd6dc]
mov eax, ecx
and eax, 0x121ac8ab
xor ecx, 0x121ac8ab
or eax, ecx
sub eax, 0x2f480a50
mov ecx, eax
and ecx, 0xbf50dd3a
shl ecx, 1
mov edx, 0x24fe7070
xor edx, 0x9baead4a
add eax, edx
sub eax, ecx
cmp eax, 0x40a9fe07
je 0x140052665
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1400527f8
jmp 0x1400526c0
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x118]
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
mov r9, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa0]
mov r8, qword [rbp + 0x98]
mov r10, qword [rbp - 0x70]
mov rax, qword [rbp - 0x68]
mov rsi, rax
xor rsi, 0xffffffffffffffff
xor rsi, 0xffffffffffffffff
and rsi, 0xffffffffffffffff
movabs r11, 0xb039223aa03b4e8a
movabs rdi, 0xb039223aa03b4e88
xor r11, rdi
imul r11, rsi
sub r11, 0xffffffffffffffff
sub rax, r11
mov r11, qword [r8]
mov qword [r9], r11
mov r8, qword [r8 + 8]
mov qword [r9 + 8], r8
mov r8, qword [rcx]
mov qword [rbp + 0xc0], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xc8], rcx
lea r8, [rbp + 0xc0]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140050d62
mov rax, qword [rbp + 0xb8]
add rsp, 0x30
cmp byte [rax], 0
jne 0x1400527f8
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp - 0x78], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0x54b7a54893c2c73e
movabs r9, 0xab485ab76c3d38c1
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400527ed
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x1400527f8
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
lea rsp, [rbp + 0x150]
pop rdi
pop rsi
pop rbp
ret
scasb al, byte [rdi]
invalid
invalid
retf
invalid
add al, 0xd0
in eax, 4
jmp 0x1400520ee
out dx, eax
invalid
cdq
invalid