Function at 0x14015c290
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x280
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], rcx
mov eax, 0x10
mov qword [rbp + 0xe8], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rsp
mov qword [rbp + 0xf0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
sub rsp, 0x20
call fcn.14019ba7e
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0x100], rax
mov rax, qword [0x1402d7df8]
mov qword [rbp + 0x108], rax
cmp byte [rax], 0
je 0x14015c414
movabs rcx, 0x61407191ad9072a0
movabs rax, 0x61407191ad9072e0
xor rcx, rax
movabs rdx, 0xb91726f63ff5b3fb
movabs rax, 0xb91726f63ff5b3f3
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263c28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263c28]
lea r8, [0x140263c37]
lea r9, [0x140263c43]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffef1e31d1
call fcn.14001203f
add rsp, 0x30
jmp 0x14015dd8f
mov ecx, dword [0x1402548b0]
xor ecx, 0xdf993549
mov eax, dword [0x1402548b4]
mov edx, 0xbc9493b9
xor edx, 0x75062dd5
xor eax, edx
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xf649fe4f
mov edx, 0xffffffff
xor edx, 0xf649fe4f
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xfcedee63
xor edx, 0x312119c
xor ecx, edx
or eax, ecx
or eax, 0xde53bec5
xor eax, 0xbec3ce32
mov ecx, 0xc6779267
xor ecx, 0x4f6cbada
cmp eax, ecx
jae 0x14015dd9a
mov rcx, qword [rbp + 0x108]
mov r9d, dword [0x1402548b8]
mov r8d, dword [0x1402548bc]
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x67aa3ba0
mov r10d, 0xffffffff
xor r10d, 0x67aa3ba0
and r9d, r10d
mov edx, r8d
xor edx, 0xffffffff
and edx, 0x67aa3ba0
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
add eax, 0x37ac4881
xor eax, 0xf03dcbde
mov r8d, 0x8c95bc70
xor r8d, 0x4ccffe25
xor edx, edx
div r8d
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0xb0], rdx
mov rcx, qword [rcx + 8]
movabs rdx, 0x33213b29f0ae8259
movabs r8, 0x33213b29f0ae8259
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xbf], cl
cmp eax, 0x4a1c0061
jae 0x14015dd9a
mov al, byte [rbp + 0xbf]
test al, 1
jne 0x14015c682
jmp 0x14015c53d
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.14018b55d
add rsp, 0x20
mov rax, qword [0x1402d7df8]
mov qword [rbp + 0xa0], rax
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
cmp rax, 1
jge 0x14015c63f
mov eax, dword [0x1402548c0]
sub eax, dword [0x1402548c4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x8bddda64
add ecx, eax
mov eax, 0x2623b8d5
xor eax, 0x2623b8d5
sub eax, ecx
mov edx, 0x7e819c0
xor edx, 0x1d4b3452
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x1aa32d92
and eax, edx
shl eax, 1
sub eax, ecx
xor eax, 0x39dce1a7
cmp eax, 0xd89ca4c9
ja 0x14015dda3
mov eax, dword [0x1402548c8]
mov ecx, dword [0x1402548cc]
xor ecx, 0xbbbaa6c8
xor edx, edx
div ecx
mov ecx, 0x7288a590
xor ecx, 0xbecc6e2f
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0xa8]
add ecx, 0xd9ba026f
sub ecx, 0x62338a45
mov dword [rbp + 0x9c], ecx
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14001284c
mov eax, dword [rbp + 0x9c]
add rsp, 0x20
cmp eax, 0x6a4e08ae
jb 0x14015c5ca
jmp 0x14015dd8f
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0xc94937722a145002
sub rsp, 0x20
call fcn.140098a90
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x66
xor cl, 0x66
cmp al, cl
jne 0x14015dd8f
mov qword [rbp + 0x1f0], 0
mov rax, qword [0x140263d58]
mov qword [rbp + 0x1e0], rax
mov rax, qword [0x140263d60]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.1400333ce
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x88], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
movabs rcx, 0x6fb0f8877354ef48
movabs rax, 0x6fb0f8877354ef40
xor rcx, rax
movabs rdx, 0xf98c0b45eb2ec46f
movabs rax, 0xf98c0b45eb2ec46b
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x70], rdx
mov dword [rdx + 4], 0
lea rcx, [rbp + 0x1d0]
sub rsp, 0x20
call fcn.140068740
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov rcx, qword [rbp + 0x1d0]
mov qword [rbp + 0x78], rcx
mov rcx, qword [rbp + 0x1d8]
mov qword [rbp + 0x80], rcx
cmp byte [rax], 0
jne 0x14015c995
mov rax, qword [rbp + 0x78]
movabs rcx, 0x8194825a4fd74a04
movabs rdx, 0x8194825a4fd74a04
xor rcx, rdx
sub rcx, rax
xor eax, eax
sub rax, 0xffffffff80000000
add rcx, rax
xor eax, eax
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015c7c7
mov rcx, qword [rbp + 0x78]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14015c995
mov eax, dword [0x1402548d0]
mov ecx, 0x2b39364c
xor ecx, 0xcf532d1e
xor eax, ecx
and eax, dword [0x1402548d4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x28822525
mov edx, 0xffffffff
xor edx, 0x28822525
and eax, edx
sub eax, ecx
add eax, 0x706d7989
mov ecx, 0xed49ac8
xor ecx, 0x97a674b6
mov edx, 0xc97b09a0
xor edx, 0x3684f65f
xor ecx, edx
add eax, ecx
add eax, 1
cmp eax, 0xb826c35a
je 0x14015ddac
mov rcx, qword [rbp + 0x78]
mov edx, dword [0x1402548d8]
mov eax, dword [0x1402548dc]
mov r8d, 0x6cbc87b8
xor r8d, 0x93437847
xor eax, r8d
add edx, eax
mov eax, 0x1e5dc651
xor eax, 0x1e5dc650
add edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xffffffff
xor edx, 0x5b20659
mov r8d, 0x475c9774
xor r8d, 0x42ee912d
mov r9d, 0xce1d55c1
xor r9d, 0x31e2aa3e
xor r8d, r9d
or edx, r8d
and eax, edx
mov edx, 0x7d862269
xor edx, 0x8279dd96
xor eax, edx
and eax, 0x1121543c
mov r8d, 0xdfc93328
xor edx, edx
div r8d
movabs rdx, 0x9b703400e58f58b9
movabs r8, 0x9b703400e58f58b8
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x6f], cl
cmp eax, 0x42aad25e
je 0x14015c827
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14015c8e4
jmp 0x14015c918
mov rdx, qword [rbp + 0x78]
movabs rax, 0x81623a3d7af2ff0d
movabs rcx, 0x7e9dc5c2850d00f2
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14015c995
mov rcx, qword [rbp + 0x88]
mov r11, qword [rbp + 0x80]
mov rax, qword [rbp + 0x78]
mov esi, eax
add r11, 8
mov rax, qword [str.p__]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [str.p__]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140099df0
add rsp, 0x50
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.140087ab1
mov rax, qword [rbp + 0x80]
add rsp, 0x20
cmp rax, 0
je 0x14015ca56
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
movabs rdx, 0x1a34b6a0cb6617f5
movabs rax, 0xe5cb495f3499e80a
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x43d7f4d158aa0818
movabs rdx, 0x3d7f4d158aa0818
xor rcx, rdx
movabs rdx, 0xcdcfdf0e57af3d1c
movabs r8, 0x323020f1a850c2e3
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14015ca56
mov rcx, qword [rbp + 0x80]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rcx, qword [rbp + 0x100]
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
movabs rcx, 0x43d2862624b0429c
movabs rax, 0x43d2862624b042c4
xor rcx, rax
movabs rdx, 0x2feb908bc285d69e
movabs rax, 0x2feb908bc285d696
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov rcx, qword [0x140263d38]
mov qword [rax + 8], rcx
mov rcx, qword [str.x_]
mov qword [rax + 0x10], rcx
mov rcx, qword [0x140263d38]
mov qword [rax + 0x18], rcx
mov rcx, qword [str.x_]
mov qword [rax + 0x20], rcx
mov rcx, qword [0x140263d38]
mov qword [rax + 0x28], rcx
mov rcx, qword [str.x_]
mov qword [rax + 0x30], rcx
mov ecx, 0x952
sub rsp, 0x20
call fcn.140062760
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x38], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x57], cl
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x14015ce3e
mov ecx, 0x93e
sub rsp, 0x20
call fcn.140062b7e
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x100]
mov qword [rcx + 0x40], rdx
mov dl, byte [rax]
mov r8b, 0xac
xor r8b, 0xac
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x57], cl
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x14015ce3e
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
mov qword [rbp + 0x1b0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1b8], rax
lea rcx, [rbp + 0x1c0]
lea rdx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.14001ba7e
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x1c8]
mov qword [rdx + 0x48], rcx
mov qword [rdx + 0x50], rax
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.1400694f0
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rbp + 0x1a0]
mov qword [rbp + 0x38], rcx
mov rcx, qword [rbp + 0x1a8]
mov qword [rbp + 0x40], rcx
mov r8b, byte [rdx]
mov r9b, 0x15
xor r9b, 0x15
mov dl, 1
cmp r8b, r9b
mov byte [rbp + 0x57], dl
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x14015ce3e
mov rax, qword [rbp + 0x38]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015cc5b
mov rcx, qword [rbp + 0x38]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000d792
add rsp, 0x20
jmp 0x14015ce22
mov rax, qword [rbp + 0x38]
cmp rax, 1
jge 0x14015ccb7
mov rdx, qword [rbp + 0x38]
movabs rax, 0xe455f9f7fbfc0acd
add rdx, rax
movabs rax, 0x80503017974661a7
movabs rcx, 0x7fafcfe868b99e58
xor rax, rcx
add rdx, rax
movabs rax, 0xe455f9f7fbfc0acd
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14015ce22
mov eax, dword [0x1402548e0]
mov edx, dword [0x1402548e4]
mov ecx, 0x3b07ffac
xor ecx, 0x70067acd
xor edx, ecx
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov edx, 0xb785af45
xor edx, 0x487a50ba
mov ecx, eax
xor ecx, edx
mov edx, 0x8920dd65
xor edx, 0x8b110609
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x231db6c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xfaeeaebb
xor r8d, 0xf8df75d7
mov edx, eax
and edx, r8d
or eax, 0x231db6c
imul eax, edx
add eax, ecx
imul eax, eax, 0x3dec2a52
mov ecx, 0xffffffff
xor ecx, 0xb3b1fa63
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xe629f03f
xor ecx, 0x2d3e9a52
cmp eax, ecx
ja 0x14015ddb5
mov rcx, qword [rbp + 0x88]
mov r11, qword [rbp + 0x40]
mov eax, dword [0x1402548e8]
mov edx, dword [0x1402548ec]
mov r8d, 0x9a3a5e26
xor r8d, 0x65c5a1d9
xor edx, r8d
add eax, edx
add eax, 1
imul eax, eax, 0xce3ead0b
imul eax, eax, 0x5eaa65e9
mov r8d, 0x717b8f07
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x38]
mov dword [rbp + 0x34], edx
mov esi, eax
add r11, 8
mov rax, qword [str.p__]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [str.p__]
mov rax, qword [rax]
mov edx, 0xfffffffe
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.140099df0
mov eax, dword [rbp + 0x34]
add rsp, 0x50
cmp eax, 0x7660d117
ja 0x14015ddb5
jmp 0x14015ce22
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x100]
mov dl, byte [rdx]
mov byte [rbp + 0x57], dl
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0x100]
mov dl, byte [rbp + 0x57]
mov r8, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov qword [rbp + 0x28], r8
mov byte [rbp + 0x32], dl
mov r8b, 0x48
xor r8b, 0x48
cmp dl, r8b
sete dl
mov byte [rbp + 0x33], dl
mov dl, 0x26
xor dl, 0x26
mov byte [rax], dl
sub rsp, 0x20
call fcn.140088020
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x7f
xor dl, 0x7f
xor eax, eax
cmp cl, dl
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
mov rax, qword [rbp + 0x28]
cmp rax, 0
je 0x14015cfc7
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
movabs rdx, 0x799bcb05f7224511
movabs rax, 0x866434fa08ddbaee
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14015cfc7
mov eax, dword [0x1402548f0]
xor eax, 0x216144dc
mov edx, dword [0x1402548f4]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0xe57bd5f6
xor ecx, 0x131575e5
imul eax, ecx
imul eax, eax, 0x741f56df
imul eax, eax, 0x7ed2059f
mov ecx, 0xde25ac3c
xor ecx, 0x41af2e9
cmp eax, ecx
je 0x14015ddbe
mov rcx, qword [rbp + 0x28]
mov eax, dword [0x1402548f8]
mov r8d, dword [str.p6n]
xor r8d, 0x847bf78a
xor edx, edx
div r8d
mov edx, 0x54d93f42
xor edx, 0x77586be8
imul eax, edx
imul eax, eax, 0x37bf92d5
mov edx, 0x79fc2cd0
xor edx, 0xd205ad25
mov r8d, 0x19768e8a
xor r8d, 0xe6897175
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
mov dword [rbp + 0x24], eax
sub rsp, 0x20
call fcn.14000eec9
mov eax, dword [rbp + 0x24]
add rsp, 0x20
cmp eax, 0xfe8f7a27
jae 0x14015cf4c
jmp 0x14015cfc7
mov cl, byte [rbp + 0x33]
mov rax, qword [rbp + 0x100]
mov dl, byte [rbp + 0x32]
mov byte [rax], dl
xor eax, eax
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015cfed
jmp 0x14015dbe1
mov eax, dword [0x140254900]
add eax, dword [0x140254904]
mov ecx, 0xff5e052f
xor edx, edx
div ecx
mov ecx, 0xf928a4dc
xor ecx, 0x2f70b372
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xa1c18b22
xor edx, 0x80568652
mov ecx, 0x43da5748
xor ecx, 0xbc25a8b7
xor edx, ecx
mov ecx, 0x6626fb8c
xor ecx, 0x408bf28f
mov r8d, 0xd8b0ae3b
xor r8d, 0x274f51c4
xor ecx, r8d
or eax, edx
or ecx, 0x26ad0903
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x1a3be278
je 0x14015ddc7
mov rcx, qword [rbp + 0x88]
mov edx, dword [0x140254908]
mov eax, 0x73d87d9f
xor eax, 0xe35c8b6
xor edx, eax
mov r8d, dword [0x14025490c]
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
mov edx, eax
xor edx, 0xa244d1d0
xor edx, 0xffffffff
or eax, 0xa244d1d0
and eax, edx
sub eax, 0x6dc12f83
add eax, 0xd2669534
add eax, 0x6dc12f83
xor eax, 0xea05cfd5
mov dword [rbp + 0x1c], eax
mov rax, qword [str.p__]
mov rdx, qword [rax + 8]
mov r11, rdx
add r11, 8
xor eax, eax
cmp rdx, 0
cmove r11, rax
mov rax, qword [str.p__]
mov rsi, qword [rax]
mov edx, 0x6931c0b5
xor edx, 0x96ce3f4a
mov r8d, 0x975a0abd
xor r8d, 0x68a5f542
mov r9d, 0xef45a5e
xor r9d, 0xf10ba5a1
mov r10d, 0x217f1022
xor r10d, 0xde80efdd
xor eax, eax
mov bl, al
xor bl, 0
xor eax, eax
sub rsp, 0x50
and bl, 1
mov rax, rsp
mov byte [rax + 0x48], bl
mov qword [rax + 0x40], rsi
mov qword [rax + 0x38], r11
mov dword [rax + 0x20], r10d
mov qword [rax + 0x30], 0
mov qword [rax + 0x28], 0
call fcn.140099df0
mov rcx, qword [rbp + 0x100]
mov eax, dword [rbp + 0x1c]
add rsp, 0x50
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x23], cl
cmp eax, 0xa6c26df5
je 0x14015ddc7
mov cl, byte [rbp + 0x23]
xor eax, eax
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015d17b
jmp 0x14015dbe1
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x88]
mov rcx, qword [rax + 0x58]
mov qword [rdx], rcx
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x190]
sub rsp, 0x20
call fcn.14001ba7e
add rsp, 0x20
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x180]
sub rsp, 0x20
call fcn.14015a2a0
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov cl, byte [rcx]
mov dl, 0x46
xor dl, 0x46
cmp cl, dl
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rax + 0x28]
mov qword [rbp + 0x170], rdx
mov rax, qword [rax + 0x30]
mov qword [rbp + 0x178], rax
lea rdx, [rbp + 0x170]
sub rsp, 0x20
call fcn.14001ba7e
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x160], rcx
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x160]
sub rsp, 0x20
call fcn.1400333ce
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x1f0], rdx
mov cl, byte [rcx]
mov dl, 0x75
xor dl, 0x75
cmp cl, dl
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0xf0]
mov r9, qword [rax]
mov qword [rdx], r9
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov rax, qword [0x140263c50]
mov qword [r8], rax
mov rax, qword [0x140263c58]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400f8da0
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 8], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
mov rax, qword [rbp + 8]
mov rdx, qword [rbp]
mov rcx, qword [0x1402d7df8]
add rcx, 0x18
mov qword [rbp + 0x150], rdx
mov qword [rbp + 0x158], rax
lea rdx, [rbp + 0x150]
sub rsp, 0x20
call fcn.140013ddc
add rsp, 0x20
mov rax, qword [0x1402d7df8]
mov cl, 0x47
xor cl, 0x46
mov byte [rax], cl
lea rax, [rbp + 0x140]
add rax, 8
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x120]
add rax, 8
mov qword [rbp - 8], rax
mov rax, qword [str.p__]
mov rcx, qword [rax + 8]
mov rdx, rcx
add rdx, 8
xor eax, eax
cmp rcx, 0
cmove rdx, rax
mov rax, qword [str.p__]
mov r8, qword [rax]
lea rcx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.14009a260
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp - 0x20], rax
xor eax, eax
mov cl, al
mov al, 1
cmp byte [rdx], 0
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rax, qword [rbp - 0x20]
cmp rax, 0
jne 0x14015d4cf
mov ecx, dword [0x140254910]
xor ecx, 0xdd611d9f
mov edx, dword [0x140254914]
mov r8d, ecx
xor r8d, edx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
shl eax, 1
sub eax, edx
sub ecx, eax
or ecx, 0xfb7cdbe2
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x6c4759d7
mov edx, 0xa43548d5
xor edx, 0xc8721102
mov r8d, 0x75817c99
xor r8d, 0x8a7e8366
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xa2627569
mov ecx, 0xe0ea80e0
xor ecx, 0xc4a1ef70
cmp eax, ecx
je 0x14015ddd0
mov eax, dword [0x140254918]
mov ecx, 0x57d635c5
xor ecx, 0xc3d4fed6
xor eax, ecx
xor edx, edx
div dword [0x14025491c]
mov edx, 0x73be491d
xor edx, 0xa16e4924
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xd2d00039
sub eax, ecx
add eax, 0xd8438792
mov ecx, 0x8bb7c962
xor edx, edx
div ecx
mov dword [rbp - 0x28], eax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140086e20
mov rcx, qword [rbp + 0x100]
mov eax, dword [rbp - 0x28]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0xbdc8b291
jae 0x14015ddd0
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x21]
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015d833
jmp 0x14015dbe1
mov rax, qword [rbp - 0x20]
cmp dword [rax], 0x20090347
jne 0x14015d5c9
sub rsp, 0x20
call fcn.140062e20
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
xor eax, eax
mov cl, al
mov al, 1
cmp byte [rdx], 0
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x130], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x138], rax
lea rcx, [rbp + 0x140]
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.14001ba7e
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x140]
mov rcx, qword [rcx]
mov qword [rbp + 0x120], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.140062e70
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0x78
xor r8b, 0x78
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140086e20
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x44
xor dl, 0x44
cmp cl, dl
mov qword [rbp + 0x90], rax
je 0x14015d82e
jmp 0x14015dbe1
mov ecx, 0xb31
sub rsp, 0x20
call fcn.140062760
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp - 0x2c], ecx
mov dl, byte [rax]
mov r8b, 0x3d
xor r8b, 0x3d
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rdx, qword [rbp - 0x20]
mov r8d, dword [rbp - 0x2c]
mov cl, 1
xor eax, eax
cmp dword [rdx], r8d
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x110], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x118], rax
sub rsp, 0x20
call fcn.14019ba7e
mov rcx, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0x1f8], 0
mov rax, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov qword [rcx + 8], rax
lea rdx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.140071fc0
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
mov rax, qword [rbp + 0x1f8]
mov qword [rbp - 0x38], rax
xor eax, eax
mov cl, al
mov al, 1
cmp byte [rdx], 0
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rdx, qword [rbp - 0x38]
lea rcx, [0x1402d7e00]
sub rsp, 0x20
call fcn.1400f7a50
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
xor eax, eax
mov cl, al
mov al, 1
cmp byte [rdx], 0
mov byte [rbp - 0x12], cl
mov byte [rbp - 0x11], al
jne 0x14015d714
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140086e20
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xb5
xor dl, 0xb5
cmp cl, dl
mov qword [rbp + 0x90], rax
je 0x14015d82e
jmp 0x14015dbe1
mov al, byte [rbp - 0x12]
mov cl, byte [rbp - 0x11]
mov byte [rbp - 0x3a], cl
mov byte [rbp - 0x39], al
mov eax, dword [str.Tp]
xor eax, 0x8391705b
mov ecx, dword [0x140254924]
xor ecx, 0x4345bb66
add eax, ecx
imul eax, eax, 0x92e6f8db
and eax, 0xe375fc8b
mov ecx, 0xddc55
xor ecx, 0xc6d29d10
xor eax, ecx
cmp eax, 0x9a5adafa
je 0x14015ddd9
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x140254928]
mov r8d, dword [0x14025492c]
mov eax, edx
add eax, 1
xor edx, 0xffffffff
or edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x9aaf6f37
mov r8d, 0xffffffff
xor r8d, 0x9aaf6f37
and edx, r8d
or eax, edx
mov r8d, 0xb02d8270
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x100]
xor r8d, r8d
sub r8d, 0x4bd3f1f7
add edx, r8d
mov dword [rbp - 0x40], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140086e20
mov rcx, qword [rbp + 0x100]
mov eax, dword [rbp - 0x40]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x3b], cl
cmp eax, 0xe7758158
je 0x14015ddd9
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x3b]
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015d804
jmp 0x14015dbe1
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x39]
mov rdx, qword [rbp + 0x100]
mov r8b, byte [rbp - 0x3a]
mov byte [rdx], r8b
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015d82e
jmp 0x14015dbe1
jmp 0x14015d368
cmp qword [0x1402d7e00], 0
jne 0x14015da47
mov eax, dword [0x140254930]
or eax, dword [0x140254934]
xor eax, 0x7957c532
mov ecx, 0x9c54b73f
xor ecx, 0xa89de411
mov r11d, eax
and r11d, ecx
mov ecx, 0x3c3882cd
xor ecx, 0x8f1d1e3
or eax, ecx
add r11d, eax
mov eax, 0x928db3c9
xor eax, 0x6d724c36
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x54dc330c
mov edx, 0xffffffff
xor edx, 0xaed09cea
mov eax, ecx
and eax, 0xaed09cea
and r11d, edx
mov r9d, r8d
and r9d, 0xaed09cea
mov r10d, 0xf5b4830f
xor r10d, 0xa168b003
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xc4a9457d
xor r8d, 0x3b56ba82
xor ecx, r8d
or edx, 0xaed09cea
and ecx, edx
or eax, ecx
mov ecx, 0x9050e2ee
xor ecx, 0xdd3c5bb8
cmp eax, ecx
jbe 0x14015dde2
mov r11d, dword [0x140254938]
sub r11d, dword [0x14025493c]
mov ecx, 0x2d73d985
xor ecx, 0x1978efbb
mov eax, r11d
xor eax, ecx
mov ecx, 0xe85ecdc4
xor ecx, 0x17a1323b
xor eax, ecx
mov ecx, 0x9b90aac5
xor ecx, 0xaf9b9cfb
or r11d, ecx
and r11d, eax
xor r11d, 0x8aa3da67
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x1264926f
mov edx, 0xd08eadee
xor edx, 0x19726bbc
mov eax, 0x7054613c
xor eax, 0x8fab9ec3
xor edx, eax
mov eax, ecx
and eax, 0xc9fcc652
and r11d, edx
mov r9d, r8d
and r9d, 0xc9fcc652
mov r10d, edx
and r10d, 0x1264926f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xc9fcc652
and ecx, edx
or eax, ecx
mov dword [rbp - 0x44], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263c28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x3eec4eb7b613477
movabs rdx, 0x3eec4eb08a2f4fe
xor rax, rdx
lea rdx, [0x140263c28]
lea r8, [0x140263c37]
lea r9, [0x140263c43]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001203f
mov eax, dword [rbp - 0x44]
add rsp, 0x30
cmp eax, 0x916ce516
jb 0x14015dde2
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x90], rax
jmp 0x14015dbe1
mov rax, qword [rbp + 0x10]
mov rcx, qword [0x1402d7df8]
cmp qword [rcx + 0x18], 0
mov qword [rbp + 0x90], rax
jne 0x14015dbe1
mov ecx, dword [0x140254940]
sub ecx, dword [0x140254944]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5cfecd1c
mov edx, 0xffffffff
xor edx, 0x5cfecd1c
and ecx, edx
or eax, ecx
mov r8d, 0xcd2eaa67
xor r8d, 0xb5f3c471
mov ecx, 0xcee80508
xor ecx, 0x3117faf7
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, 0x78dd6e16
or eax, 0x78dd6e16
imul eax, edx
add eax, ecx
mov ecx, 0xa9cf398c
xor ecx, 0x2da88e5d
xor edx, edx
div ecx
cmp eax, 0xbf096544
je 0x14015ddeb
mov eax, dword [0x140254948]
mov edx, dword [0x14025494c]
mov ecx, 0x80f227ce
xor ecx, 0xa084b9c4
xor edx, ecx
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xd5ecf0b5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd5ecf0b5
or eax, 0xd5ecf0b5
imul eax, edx
add eax, ecx
mov ecx, 0x136fc416
xor ecx, 0x23c0cad4
add eax, ecx
mov ecx, 0x1d7d19d0
xor ecx, 0xc9447f82
sub eax, ecx
mov dword [rbp - 0x48], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140012610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140263c28]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140263d38]
mov qword [rcx + 0x18], rax
mov rax, qword [str.x_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140263c28]
lea r8, [0x140263c37]
lea r9, [0x140263c43]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x190ca73f
call fcn.14001203f
mov eax, dword [rbp - 0x48]
add rsp, 0x30
cmp eax, 0x987ddd1e
je 0x14015dae0
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x90], rax
jmp 0x14015dbe1
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x58], rcx
mov cl, byte [rax]
mov byte [rbp - 0x4a], cl
mov byte [rax], 0
mov rcx, qword [rbp + 0x1f0]
sub rsp, 0x20
call fcn.140031440
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x30
xor dl, 0x30
mov al, 1
cmp cl, dl
mov byte [rbp - 0x49], al
jne 0x14015dc91
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140109c40
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0xdd
xor dl, 0xdd
mov al, 1
cmp cl, dl
mov byte [rbp - 0x49], al
jne 0x14015dc91
mov rcx, qword [rbp + 0x88]
sub rsp, 0x20
call fcn.140031440
mov rcx, qword [rbp + 0x100]
mov al, byte [rbp - 0x4a]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x5a], dl
cmp byte [rcx], 0
mov byte [rbp - 0x59], al
je 0x14015dc8b
mov al, byte [rbp - 0x5a]
mov byte [rbp - 0x59], al
mov al, byte [rbp - 0x59]
mov byte [rbp - 0x49], al
mov rax, qword [rbp + 0x100]
mov cl, byte [rbp - 0x49]
mov byte [rbp - 0x69], cl
mov byte [rax], 0
mov rax, qword [0x1402d7df8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x68], rcx
mov rax, qword [rax + 8]
movabs rcx, 0x622e14eb67289ee6
movabs rdx, 0x622e14eb67289ee6
xor rcx, rdx
cmp rax, rcx
je 0x14015dd83
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14018b55d
add rsp, 0x20
mov rax, qword [0x1402d7df8]
mov qword [rbp - 0x80], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 1
jge 0x14015dd4c
mov rdx, qword [rbp - 0x78]
movabs rax, 0xac409f5050ea02b7
movabs rcx, 0x53bf60afaf15fd48
xor rax, rcx
add rdx, rax
movabs rcx, 0x7028333397b40033
movabs rax, 0x7028333397b40033
xor rcx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14015dd8f
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0xc94925d330146002
sub rsp, 0x20
call fcn.140098a90
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015dd8f
mov rax, qword [rbp + 0x100]
mov cl, byte [rbp - 0x69]
mov byte [rax], cl
lea rsp, [rbp + 0x200]
pop rbx
pop rsi
pop rbp
ret
adc byte [rax - 0x1b160b4f], cl
out 0xff, al
push rsi
mov al, 0x26
xchg esp, eax
jmp 0x14015c5ca
hlt
div byte [rax + 0x1ee99426]
call 0x19a4fddad
mov byte [rax - 0x17], ah
jb 0x14015dd9d
cmp dword [rdx - 0x78], ebx
invalid
invalid
sbb esp, esi
pop rdi
imul ebp, ecx, 0xffffef9a
add byte [rdi], bl
test dword [rdi - 0xe7a17], ebp
call qword [0x129b43ae8]
adc eax, 0xe99e5d1c
invalid
movabs byte [0xfffff666e98ebd39], al
in al, dx
stosd dword [rdi], eax
ror byte [rdx - 0x68517], 1
push qword [rcx]
stc
xor ecx, edi
push qword [rcx]
jmp 0x14015d8f7
movabs dword [0xfffffcece905e1b6], eax
nop word cs:[rax + rax]