Function at 0x140160960
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x370
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x130], rdx
mov qword [rbp + 0x120], rcx
mov qword [rbp + 0xf0], rcx
mov eax, 0x10
mov qword [rbp + 0x108], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x108]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x108]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x108]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
sub rsp, 0x20
call fcn.14016f3d2
mov rcx, qword [rbp + 0x120]
add rsp, 0x20
mov qword [rbp + 0x148], rax
add rax, 0x60
mov qword [rbp + 0x128], rax
movabs rdx, 0xabfd13e17403e75f
movabs rax, 0xabfd13e17403e747
xor rdx, rax
sub rsp, 0x20
call fcn.1401606d0
mov rdx, qword [rbp + 0x130]
add rsp, 0x20
movabs rax, 0x9060ca47fcb07c65
movabs rcx, 0x9060ca47fcb07c65
xor rax, rcx
mov qword [rbp + 0x2e0], rax
lea rax, [rbp + 0x2e0]
add rax, 8
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x2e8], 0
mov qword [rbp + 0x2d0], 0
lea rax, [rbp + 0x2d0]
add rax, 8
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x2d8], 0
mov rax, qword [rdx]
mov qword [rbp + 0x2c0], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x2c8], rax
lea rcx, [rbp + 0x2e0]
lea rdx, [rbp + 0x2c0]
sub rsp, 0x20
call fcn.14001a2c4
add rsp, 0x20
lea rcx, [rbp + 0x2e0]
mov edx, 0x5c
sub rsp, 0x20
call fcn.140049d8a
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
xor eax, eax
cmp byte [rcx + 0x60], 0
mov rcx, rax
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x2e0]
mov qword [rdx], rax
mov rax, qword [rbp + 0x2e8]
mov qword [rdx + 8], rax
mov r8b, 0xa3
xor r8b, 0xff
movabs r9, 0x89a671da5d9ba535
movabs rax, 0x76598e25a2645aca
xor r9, rax
lea rcx, [rbp + 0x2b0]
sub rsp, 0x20
call fcn.140042e90
mov rdx, qword [rbp + 0x128]
add rsp, 0x20
mov rcx, qword [rbp + 0x2b0]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0xe8], rax
cmp byte [rdx], 0
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov rax, qword [0x1401f0370]
mov qword [rbp + 0x2d0], rax
mov rax, qword [0x1401f0378]
mov qword [rbp + 0x2d8], rax
mov ecx, 0x129
sub rsp, 0x20
call fcn.1400676f0
mov rcx, qword [rbp + 0x128]
add rsp, 0x20
mov qword [rbp + 0xd0], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0xd8], rax
jne 0x14016105e
mov r9, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xe8]
mov rdx, rcx
add rdx, 8
xor eax, eax
cmp rcx, 0
cmove rdx, rax
mov qword [rbp + 0xb8], rdx
lea rcx, [rbp + 0x298]
sub rsp, 0x20
call fcn.140162220
mov rcx, qword [rbp + 0x128]
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rbp + 0xc8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0xd8], rax
jne 0x14016105e
mov word [rbp + 0x2ae], 0x64d
lea rcx, [rbp + 0x2ae]
sub rsp, 0x20
call fcn.140067990
mov rcx, qword [rbp + 0x128]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xb0], rdx
cmp byte [rcx], 0
mov qword [rbp + 0xd8], rax
jne 0x14016105e
mov eax, dword [0x1401e3fc0]
xor edx, edx
div dword [0x1401e3fc4]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x235711f1
or ecx, 0x235711f1
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x7df35c3f
or eax, 0xa4178407
cmp eax, 0xa14c87a0
je 0x1401621c9
mov rcx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xb0]
mov eax, dword [0x1401e3fc8]
mov edx, dword [0x1401e3fcc]
xor edx, 0x3ea47782
sub eax, edx
mov r9d, eax
and r9d, r9d
xor r9d, 0xffffffff
xor r9d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x61494d32
or r9d, edx
mov edx, 0xffffffff
xor edx, 0x61494d32
mov r10d, 0xffffffff
xor r10d, 0x61494d32
or edx, r10d
and eax, edx
xor eax, 0xffffffff
and r9d, eax
xor r9d, 0xffffffff
mov eax, 0x8cb99efd
xor eax, 0x359e1b14
xor r9d, eax
mov eax, 0xd032175e
xor eax, 0xdbe14ba6
mov edx, r9d
xor edx, eax
mov eax, 0xffffffff
xor eax, 0xbd35cf8
and r9d, eax
mov eax, 0xa0729728
xor eax, 0xa072972a
imul eax, r9d
sub eax, edx
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov qword [rbp + 0xa0], r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xaf], cl
cmp eax, 0xbe029864
ja 0x140160ce3
mov al, byte [rbp + 0xaf]
test al, 1
jne 0x140160db9
jmp 0x14016106e
mov rax, qword [rbp + 0xc0]
cmp rax, 0
je 0x140160e7d
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xc8]
add rdx, 8
mov qword [rbp + 0x80], rdx
add rax, 8
mov qword [rbp + 0x88], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x90], rax
xor eax, eax
mov qword [rbp + 0x98], rax
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x78], rax
cmp rax, rcx
je 0x140160e7d
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x80]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
movabs r9, 0x919a88b04c2001e3
movabs r8, 0x919a88b04c2001e2
xor r9, r8
mov r8, rax
and r8, r9
shl r8, 1
xor rax, 1
add rax, r8
cmp cl, dl
mov qword [rbp + 0x98], rax
je 0x140160e0e
jmp 0x14016106e
mov eax, dword [0x1401e3fd0]
mov ecx, 0x1615f2a4
xor ecx, 0x48116931
xor eax, ecx
or eax, dword [0x1401e3fd4]
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x1183ae2
and ecx, 0x1183ae2
xor ecx, 0xffffffff
mov edx, 0x4cd1a3c7
xor edx, 0xb32e5c38
xor eax, edx
mov edx, 0xe635d4ab
xor edx, 0x19ca2b54
xor ecx, edx
or eax, ecx
mov ecx, 0x803aee40
xor ecx, 0x90b7e205
or eax, ecx
imul eax, eax, 0x562a092d
cmp eax, 0x3a5bc43a
jbe 0x1401621d2
mov eax, dword [0x1401e3fd8]
mov ecx, 0x284a0f2e
xor ecx, 0x3bde1cab
xor eax, ecx
sub eax, dword [0x1401e3fdc]
mov ecx, 0x56b7581c
xor ecx, 0xc395c354
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xb31ea1a8
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xcf6d8181
xor r8d, 0x30927e7e
xor ecx, r8d
imul ecx, edx
mov r8d, 0xb3c88425
xor r8d, 0xd6258d
mov edx, eax
and edx, r8d
mov r8d, 0x53088f00
xor r8d, 0xe0162ea8
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xce01f92
mov dword [rbp + 0x64], eax
mov eax, 0x33b5d456
xor eax, 0x6691f1a3
mov dword [rbp + 0x60], eax
mov ecx, 0xad9
sub rsp, 0x20
call fcn.1400676f0
mov rdx, qword [rbp + 0x128]
mov ecx, dword [rbp + 0x60]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x64]
mov qword [rbp + 0x68], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x77], dl
cmp eax, ecx
ja 0x1401621d2
mov rax, qword [rbp + 0xc8]
mov cl, byte [rbp + 0x77]
test cl, 1
mov qword [rbp + 0xd8], rax
jne 0x140160fc5
jmp 0x14016105e
mov rcx, qword [rbp + 0x100]
mov r9, qword [rbp + 0x68]
mov r8, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.140162220
mov rdx, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp + 0x50], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x58], rdx
cmp byte [rcx], 0
mov qword [rbp + 0xd8], rax
jne 0x14016105e
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x288], rcx
mov qword [rbp + 0x290], rax
lea rcx, [rbp + 0x2d0]
lea rdx, [rbp + 0x288]
sub rsp, 0x20
call fcn.140014e50
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0xd8], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x48], rax
jmp 0x140161134
mov ecx, 0x131
sub rsp, 0x20
call fcn.1400676f0
mov rcx, qword [rbp + 0x128]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x40], rdx
mov cl, byte [rcx]
mov dl, 0x34
xor dl, 0x34
cmp cl, dl
mov qword [rbp + 0x48], rax
jne 0x140161134
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xb8]
lea rcx, [rbp + 0x278]
sub rsp, 0x20
call fcn.140162220
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov rdx, qword [rbp + 0x278]
mov qword [rbp + 0x30], rdx
mov rdx, qword [rbp + 0x280]
mov qword [rbp + 0x38], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x48], rax
jne 0x140161134
mov rdx, qword [rbp + 0x110]
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x30]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.140014e50
mov rax, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x28], rax
cmp rax, 0
je 0x1401611c5
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xae2d09f94d5c6d97
movabs r8, 0xee2d09f94d5c6d97
xor rdx, r8
movabs r8, 0x9af12558a80e3aaf
movabs r9, 0x650edaa757f1c550
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x1401611c5
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
mov rax, qword [rbp + 0x128]
cmp byte [rax], 0
je 0x140161476
mov eax, dword [0x1401e3fe0]
xor eax, 0x8f2eb476
xor edx, edx
div dword [0x1401e3fe4]
mov ecx, eax
and ecx, 0x44793229
mov edx, 0x8ac2714a
xor edx, 0x8ac27148
imul ecx, edx
mov edx, 0x15483202
xor edx, 0x5131002b
xor eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x5c49b2c2
mov r8d, 0xffffffff
xor r8d, 0x5c49b2c2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5c49b2c2
or eax, 0x5c49b2c2
imul eax, edx
add eax, ecx
mov ecx, 0xa06f42a0
xor edx, edx
div ecx
mov ecx, 0x2198fbf8
xor ecx, 0xf80e3bc1
cmp eax, ecx
ja 0x1401621db
mov rax, qword [rbp + 0x128]
mov ecx, dword [0x1401e3fe8]
and ecx, dword [0x1401e3fec]
mov edx, 0x7d05708f
xor edx, 0x68a527ad
sub ecx, edx
or ecx, 0x500e2840
mov edx, 0x2b4d46a8
xor edx, 0x2b4d46a8
mov r8d, 0x8f706a1d
xor r8d, 0x4b9e2bfc
sub edx, r8d
add ecx, edx
mov dword [rbp + 0x20], ecx
mov byte [rax], 0
lea rcx, [rbp + 0x260]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401606d0
add rsp, 0x20
lea rcx, [rbp + 0x260]
sub rsp, 0x20
call fcn.1401608d3
mov rcx, qword [rbp + 0x128]
mov eax, dword [rbp + 0x20]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x27], cl
cmp eax, 0xef0995fb
je 0x14016125b
mov al, byte [rbp + 0x27]
test al, 1
jne 0x1401612ff
jmp 0x140161455
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x260]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0x268]
mov qword [rcx + 8], rdx
mov rdx, qword [rbp + 0x270]
mov qword [rcx + 0x10], rdx
mov rax, qword [rax]
mov qword [rbp + 0x18], rax
cmp rax, 0
je 0x1401613cf
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
movabs rcx, 0x744eadad0c00d072
movabs rdx, 0x8bb15252f3ff2f8d
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0xc85075fb65cb4494
xor rcx, r8
or rax, rdx
movabs rdx, 0xc85075fb65cb4494
or rcx, rdx
movabs rdx, 0x32d539ba536eee5e
movabs r8, 0xcd2ac645ac9111a1
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401613cf
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0x250], rcx
mov qword [rbp + 0x258], rax
lea rcx, [rbp + 0x250]
sub rsp, 0x20
call fcn.14001990a
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
cmp rax, 0
je 0x140161443
mov rcx, qword [rbp + 0x10]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140161443
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
sub rsp, 0x20
call fcn.140162442
add rsp, 0x20
jmp 0x1401620ab
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jmp 0x140161f7b
mov cx, 0xcb86
xor cx, 0xce9a
sub rsp, 0x20
call fcn.1400676f0
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0xe0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 8], r8
mov dl, byte [rdx]
mov r8b, 0x8c
xor r8b, 0x8c
cmp dl, r8b
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov r8, qword [rbp + 8]
mov rcx, qword [0x140261d68]
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x248], rax
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.140060f60
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0xe0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp], r8
mov dl, byte [rdx]
mov r8b, 0x8b
xor r8b, 0x8b
cmp dl, r8b
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov ecx, 0x60d
sub rsp, 0x20
call fcn.1400676f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x128]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x14016198f
mov rax, qword [rbp]
mov rcx, qword [rbp - 8]
cmp rax, rcx
je 0x1401619b5
mov r9, qword [rbp]
mov rcx, r9
add rcx, 1
mov qword [rbp - 0x10], rcx
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rax, 0x8c515b763a03a60d
and rdx, rax
mov r8, 0xffffffffffffffff
movabs rax, 0x8c515b763a03a60d
xor r8, rax
and r9, r8
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r10, 0x8c515b763a03a60d
and rax, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rax, r8
xor rdx, rax
movabs r8, 0x6cd312989d26cd06
movabs rax, 0x932ced6762d932f9
xor r8, rax
mov rax, rcx
xor rax, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0x684c30bbc0b102e1
movabs r9, 0x97b3cf443f4efd1e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x1f3804809f889d55
movabs r8, 0xe0c7fb7f607762aa
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x14016165d
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14016198f
mov r8, qword [rbp - 0x10]
mov rcx, qword [0x140261d68]
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x228], rax
lea rdx, [rbp + 0x220]
sub rsp, 0x20
call fcn.140062937
mov rax, qword [rbp + 0x128]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14016198f
mov rdx, qword [rbp - 0x10]
mov qword [rbp + 0x230], 0
mov qword [rbp + 0x238], 0
movabs r8, 0x66e35aef39296c71
movabs rax, 0x66e35aef39296c70
xor r8, rax
lea rcx, [rbp + 0x210]
sub rsp, 0x20
call fcn.14004a570
mov rax, qword [rbp + 0x128]
add rsp, 0x20
mov rcx, qword [rbp + 0x210]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp + 0x218]
mov qword [rbp - 0x18], rcx
mov al, byte [rax]
mov cl, 0x41
xor cl, 0x41
cmp al, cl
jne 0x14016198f
mov eax, dword [0x1401e3ff0]
mov r8d, dword [0x1401e3ff4]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xc4bbca04
xor ecx, ecx
sub ecx, 0x6bfee671
sub eax, ecx
sub eax, 0x3eb4e36c
add eax, 0xaaa01a76
mov ecx, 0x78a15158
xor ecx, 0x4615b234
add eax, ecx
cmp eax, 0xf4d2529e
ja 0x1401621e4
mov rdx, qword [rbp - 0x20]
mov ecx, dword [0x1401e3ff8]
imul ecx, dword [0x1401e3ffc]
mov eax, 0x931fa347
xor eax, 0x6ce05cb8
mov r8d, ecx
xor r8d, eax
and r8d, 0xb7a275a8
mov r9d, 0x37463e82
xor r9d, 0x80e44b2a
mov eax, 0x7bbe3605
xor eax, 0x8441c9fa
xor r9d, eax
mov eax, ecx
and eax, r9d
imul eax, r8d
mov r8d, ecx
and r8d, 0xb7a275a8
or ecx, 0xb7a275a8
imul ecx, r8d
add ecx, eax
mov eax, 0xe80bd576
xor eax, 0x1c22fce
mov r8d, 0xc51fd8a7
xor r8d, 0x3ae02758
xor eax, r8d
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xa74c47e6
xor r9d, 0x58b3b819
mov r8d, ecx
xor r8d, r9d
or eax, r8d
mov r8d, 0x180fc880
xor r8d, 0xe7f0377f
xor eax, r8d
mov r8d, 0x68e4ab4b
xor r8d, 0x264ce7c4
mov r9d, 0x3a547c4f
xor r9d, 0xc5ab83b0
xor r8d, r9d
or eax, r8d
mov r8d, 0x4ea84c8f
and r8d, 0x4ea84c8f
xor r8d, 0xffffffff
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
and eax, ecx
xor eax, 0xffffffff
mov dword [rbp - 0x28], eax
mov eax, 0x7564811c
xor eax, 0x36673dea
mov dword [rbp - 0x2c], eax
add rdx, qword [rbp + 0x2d0]
lea rcx, [rbp + 0x230]
sub rsp, 0x20
call fcn.14001b230
add rsp, 0x20
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x208], rax
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x200]
sub rsp, 0x20
call fcn.140162470
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x1f0], rcx
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.140162470
add rsp, 0x20
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x238]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x2d0]
lea rdx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.140014e50
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x2c]
mov eax, dword [rbp - 0x28]
add rsp, 0x20
cmp rdx, 0
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
jbe 0x1401621e4
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1401619b0
jmp 0x14016195e
mov rcx, qword [rbp - 0x18]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401619b0
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
jmp 0x1401619b0
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jmp 0x140161f7b
jmp 0x140161ba6
mov eax, dword [0x1401e4000]
xor eax, 0xbc7a828b
mov ecx, dword [0x1401e4004]
xor ecx, 0x6af55394
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0x74b73af6
xor edx, 0x62ff3054
mov eax, 0x322687d4
xor eax, 0xcdd9782b
xor edx, eax
mov r8d, 0x33af0268
xor r8d, 0xf94e38d0
mov eax, 0x1aea1764
xor eax, 0xe515e89b
xor r8d, eax
mov eax, ecx
and eax, 0xcae13ab8
and r11d, r8d
mov r10d, 0xf04d30b8
xor r10d, 0x3aac0a00
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0x16480aa2
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x3efbe9e2
xor edx, 0xf41ad35a
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x3683b2df
xor edx, edx
div ecx
mov ecx, 0x1d9921f9
xor ecx, 0x3df53dc9
add eax, ecx
cmp eax, 0x642ebac8
jae 0x1401621ed
mov eax, dword [0x1401e4008]
xor eax, 0x2564d4a2
mov edx, dword [0x1401e400c]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xec3da03c
or eax, edx
or ecx, 0xec3da03c
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xffacb9c0
xor ecx, 0xaeaad09a
or eax, ecx
mov ecx, 0xe78e55f2
xor ecx, 0xcee76372
xor edx, edx
div ecx
and eax, 0xefab4088
mov dword [rbp - 0x3c], eax
mov eax, 0xa485831c
xor eax, 0x884ff06
mov dword [rbp - 0x40], eax
mov ecx, 0x85d
sub rsp, 0x20
call fcn.1400676f0
mov rdx, qword [rbp + 0x128]
mov ecx, dword [rbp - 0x40]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x3c]
mov qword [rbp - 0x38], r8
mov dl, byte [rdx]
mov r8b, 0x42
xor r8b, 0x42
cmp dl, r8b
sete dl
mov byte [rbp - 0x2d], dl
cmp eax, ecx
je 0x140161a72
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov dl, byte [rbp - 0x2d]
test dl, 1
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161b3f
jmp 0x140161f7b
mov r8, qword [rbp - 0x38]
mov rcx, qword [0x140261d68]
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x1d8], rax
lea rdx, [rbp + 0x1d0]
sub rsp, 0x20
call fcn.140062937
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov rax, qword [rbp + 0x2d0]
movabs rcx, 0x75d317ee04753647
movabs rdx, 0x75d317ee04753647
xor rcx, rdx
cmp rax, rcx
jne 0x140161bd2
jmp 0x140161ca2
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rbp + 0x1b8], rax
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x1b0]
mov r9d, 1
lea rax, [0x1401f0340]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.140042620
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
add rsp, 0x30
mov r8, qword [rbp + 0x1c0]
mov qword [rbp - 0x50], r8
mov r8, qword [rbp + 0x1c8]
mov qword [rbp - 0x48], r8
cmp byte [rdx], 0
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jne 0x140161f7b
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1a8], rax
lea rcx, [rbp + 0x2d0]
lea rdx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.140014e50
add rsp, 0x20
mov rax, qword [rbp + 0x2d0]
cmp rax, 0
jne 0x140161d2d
lea rcx, [rbp + 0x188]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401606d0
add rsp, 0x20
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.1401608d3
mov rax, qword [rbp + 0x128]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xaf
xor cl, 0xaf
cmp al, cl
jne 0x140161d0c
mov rax, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x188]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x190]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x198]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
jmp 0x140161f7b
mov ecx, dword [0x1401e4010]
and ecx, dword [0x1401e4014]
mov edx, 0xf98b72db
xor edx, 0x6748d24
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xe2199680
mov r8d, 0xffffffff
xor r8d, 0xe2199680
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe2199680
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x418d9d7f
imul eax, eax, 0xeebc674a
cmp eax, 0x5bc189fa
je 0x1401621f6
mov rax, qword [rbp + 0x118]
mov edx, dword [0x1401e4018]
xor edx, 0x4d954229
mov r8d, dword [0x1401e401c]
mov ecx, edx
xor ecx, 0xffffffff
and ecx, r8d
xor r8d, 0xffffffff
and edx, r8d
sub edx, ecx
mov ecx, edx
xor ecx, 0x71b6896e
mov r8d, 0xffffffff
xor r8d, 0x71b6896e
and edx, r8d
shl edx, 1
sub edx, ecx
mov r8d, 0xd2338765
xor r8d, 0xb9717ccc
mov ecx, edx
and ecx, r8d
or edx, 0x6b42fba9
add ecx, edx
sub ecx, 0xc8da86ec
mov dword [rbp - 0x58], ecx
mov rcx, qword [rbp + 0x2d0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x2d8]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.140010368
add rsp, 0x20
lea rcx, [rbp + 0x170]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401606d0
mov rdx, qword [rbp + 0x118]
add rsp, 0x20
lea rcx, [rbp + 0x170]
sub rsp, 0x20
call fcn.140160905
mov rcx, qword [rbp + 0x128]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xbcbf4af4
ja 0x1401621f6
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140161e90
jmp 0x140161f5f
mov r8d, dword [0x1401e4020]
xor r8d, 0x422842bd
mov edx, dword [0x1401e4024]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xef9d033
mov r9d, 0xffffffff
xor r9d, 0xef9d033
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xef9d033
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xde824296
xor ecx, 0x8eab640a
xor edx, edx
div ecx
sub eax, 0xfc1bd75d
mov ecx, 0x482cf819
xor edx, edx
div ecx
cmp eax, 0x819dcdb1
jae 0x1401621ff
mov rcx, qword [rbp + 0x120]
mov edx, dword [0x1401e4028]
imul edx, dword [0x1401e402c]
add edx, 0xd8ef4e53
mov r8d, 0xffffffff
xor r8d, 0x362c6100
mov eax, edx
xor eax, r8d
and eax, edx
or eax, 0x1df23427
mov rdx, qword [rbp + 0x170]
mov qword [rcx], rdx
mov rdx, qword [rbp + 0x178]
mov qword [rcx + 8], rdx
mov rdx, qword [rbp + 0x180]
mov qword [rcx + 0x10], rdx
cmp eax, 0x12d6403
jbe 0x1401621ff
jmp 0x140161f5f
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x158]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rcx
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x140161fd5
mov rcx, qword [rbp - 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140161fd5
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x160]
sub rsp, 0x20
call fcn.14001990a
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1401620ab
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0x3365fd57cd0f8d9a
movabs r8, 0xcc9a02a832f07265
xor rdx, r8
xor rcx, rdx
or rax, rcx
movabs rcx, 0x12870ed5eaacc78d
movabs rdx, 0xed78f12a15533872
xor rcx, rdx
xor rax, rcx
movabs rcx, 0xa8112b2033dbf538
movabs rdx, 0xa8112b2033dbf538
xor rcx, rdx
cmp rax, rcx
jne 0x1401620ab
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000e27f
add rsp, 0x20
mov eax, dword [0x1401e4030]
mov ecx, 0x44a4c1d7
xor ecx, 0x590e48ba
xor eax, ecx
imul eax, dword [0x1401e4034]
and eax, 0x686aab1
mov r8d, 0xffffffff
xor r8d, 0x56c0b5f0
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x97681d70
xor r8d, 0x6897e28f
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x56c0b5f0
or eax, 0x56c0b5f0
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x32e28633
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x32e28633
add eax, edx
sub eax, ecx
cmp eax, 0x6682a81c
je 0x140162208
mov ecx, dword [0x1401e4038]
mov edx, dword [0x1401e403c]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0x3ee62000
mov edx, 0x6f09b809
xor edx, 0x90f647f6
mov ecx, eax
xor ecx, edx
mov edx, eax
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x7668a1db
mov r8d, 0xffffffff
xor r8d, 0x7668a1db
and edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x68420c17
xor edx, 0x1e2aadcc
or eax, edx
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd4d421fa
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xcd48791c
xor ecx, 0x8b1e1f86
cmp eax, ecx
je 0x140162208
invalid
mov rax, qword [rbp + 0xf0]
lea rsp, [rbp + 0x2f0]
pop rbp
ret
mov ecx, 0xe900f5bf
adc ebx, ebp
invalid
mov ah, 3
push 0x33
jmp 0x140160ee3
jg 0x140162170
mov cl, 0x82
jmp 0x14016125b
sub al, 0x4f
invalid
sub al, 0xb2
or dl, ch
jmp 0x140161a72
and dword [rsi + 0x47], esp
pop rbp
jmp 0x140161d9a
retf
add al, 0x1e
invalid