Function at 0x140178660
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x320
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x168], rdx
mov qword [rbp + 0x158], rcx
mov qword [rbp + 0xe8], rcx
mov eax, 0x10
mov qword [rbp + 0x140], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x180], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0xf0], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, 0x20
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x130], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x138], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x140]
mov rcx, rsp
mov qword [rbp + 0x148], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
sub rsp, 0x20
call fcn.140189826
mov rcx, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0x188], rax
add rax, 0x50
mov qword [rbp + 0x160], rax
mov edx, 0x18
sub rsp, 0x20
call fcn.1401783e0
mov rdx, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x180]
add rsp, 0x20
movabs rax, 0x31b251aff36da925
movabs r8, 0x31b251aff36da925
xor rax, r8
mov qword [rcx], rax
mov rax, rcx
add rax, 8
mov qword [rbp + 0x170], rax
mov qword [rcx + 8], 0
mov qword [rbp + 0x290], 0
lea rax, [rbp + 0x290]
add rax, 8
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x298], 0
mov rax, qword [rdx]
mov qword [rbp + 0x280], rax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x288], rax
lea rdx, [rbp + 0x280]
sub rsp, 0x20
call fcn.14001a950
mov rcx, qword [rbp + 0x180]
add rsp, 0x20
mov edx, 0x5c
sub rsp, 0x20
call fcn.140048292
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
xor eax, eax
cmp byte [rcx + 0x50], 0
mov rcx, rax
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov rax, qword [rbp + 0x180]
mov rcx, qword [rax]
mov qword [rbp + 0x260], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x268], rax
mov r8b, 0xfb
xor r8b, 0xa7
movabs r9, 0x4f436defb3e4b7ea
movabs rax, 0xb0bc92104c1b4815
xor r9, rax
lea rcx, [rbp + 0x270]
lea rdx, [rbp + 0x260]
sub rsp, 0x20
call fcn.140041e70
mov rdx, qword [rbp + 0x160]
add rsp, 0x20
mov rcx, qword [rbp + 0x270]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0xe0], rax
mov dl, byte [rdx]
mov r8b, 0x83
xor r8b, 0x83
cmp dl, r8b
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov rax, qword [0x140216760]
mov qword [rbp + 0x290], rax
mov rax, qword [str._g__]
mov qword [rbp + 0x298], rax
mov ecx, 0x3e2
sub rsp, 0x20
call fcn.140068140
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov qword [rbp + 0xc8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0xd0], rax
jne 0x140178d20
mov r9, qword [rbp + 0xc8]
mov r8, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe0]
mov rdx, rcx
add rdx, 8
xor eax, eax
cmp rcx, 0
cmove rdx, rax
mov qword [rbp + 0xb0], rdx
lea rcx, [rbp + 0x250]
sub rsp, 0x20
call fcn.140179e70
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rcx, qword [rbp + 0x250]
mov qword [rbp + 0xb8], rcx
mov rcx, qword [rbp + 0x258]
mov qword [rbp + 0xc0], rcx
mov cl, byte [rax]
mov dl, 0x37
xor dl, 0x37
xor eax, eax
cmp cl, dl
mov qword [rbp + 0xd0], rax
jne 0x140178d20
mov rcx, qword [rbp + 0xf0]
mov word [rcx], 0x5af
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xa8], rdx
mov cl, byte [rcx]
mov dl, 0x86
xor dl, 0x86
cmp cl, dl
mov qword [rbp + 0xd0], rax
jne 0x140178d20
mov eax, dword [0x14020a9c0]
add eax, dword [0x14020a9c4]
mov ecx, 0xb32f1077
xor ecx, 0xd35cc277
add eax, ecx
add eax, 0xa2a236bd
mov ecx, 0x5d5e6473
xor ecx, 0x3d2db673
sub eax, ecx
add eax, 0x8e6a7694
sub eax, 0x97862e68
sub eax, 0x8e6a7694
imul eax, eax, 0xe190f0cb
mov ecx, 0x3c986f06
xor ecx, 0x2667147a
cmp eax, ecx
jbe 0x140179e1d
mov rdx, qword [rbp + 0xb8]
mov r9, qword [rbp + 0xa8]
mov eax, dword [0x14020a9c8]
xor eax, 0x2afc4bea
mov r10d, dword [0x14020a9cc]
xor r10d, 0xc3148f6b
mov r8d, 0x2ec08e3b
xor r8d, 0xd13f71c4
mov ecx, eax
xor ecx, r8d
mov r8d, r10d
and r8d, ecx
mov r11d, r10d
xor r11d, 0xffffffff
mov ecx, eax
and ecx, r11d
imul ecx, r8d
mov r8d, eax
and r8d, r10d
or eax, r10d
imul eax, r8d
add eax, ecx
mov ecx, 0x3bddbb83
xor ecx, 0xa9431975
add eax, ecx
imul eax, eax, 0x5dd54ec7
sub eax, 0xd90172b7
mov ecx, 0x2c329cec
xor ecx, 0xdcaf1a11
mov r8, qword [r9]
mov r9, qword [r9 + 8]
mov qword [rbp + 0x98], r9
cmp rdx, r8
sete dl
mov byte [rbp + 0xa7], dl
cmp eax, ecx
jae 0x140179e1d
mov al, byte [rbp + 0xa7]
test al, 1
jne 0x140178b83
jmp 0x140178ddd
mov rax, qword [rbp + 0xb8]
cmp rax, 0
je 0x140178c57
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xc0]
add rdx, 8
mov qword [rbp + 0x78], rdx
add rax, 8
mov qword [rbp + 0x80], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x88], rax
xor eax, eax
mov qword [rbp + 0x90], rax
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x70], rax
cmp rax, rcx
je 0x140178c57
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x78]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
movabs r8, 0x5e77a11206d129
movabs r9, 0x5e77a11206d128
xor r8, r9
movabs r9, 0xd0e97a201c091559
movabs r10, 0x2f1685dfe3f6eaa6
xor r9, r10
xor r8, r9
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rax, r8
cmp cl, dl
mov qword [rbp + 0x90], rax
je 0x140178bd5
jmp 0x140178ddd
mov ecx, 0xb07
sub rsp, 0x20
call fcn.140068140
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x68], rdx
cmp byte [rcx], 0
mov qword [rbp + 0xd0], rax
jne 0x140178d20
mov rcx, qword [rbp + 0xf8]
mov r9, qword [rbp + 0x68]
mov r8, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.140179e70
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp + 0x58], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x60], rdx
cmp byte [rcx], 0
mov qword [rbp + 0xd0], rax
jne 0x140178d20
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x58]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x290]
sub rsp, 0x20
call fcn.140015990
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x50], rax
mov ecx, dword [0x14020a9d0]
sub ecx, dword [0x14020a9d4]
sub ecx, 0x329f0dd1
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9de3f6a4
mov edx, 0xd6ef8f3a
xor edx, 0x4b0c799e
mov r8d, 0xa1a056f9
xor r8d, 0x5e5fa906
xor edx, r8d
and ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0xf51fdef7
xor eax, 0xffffffff
and ecx, 0xf51fdef7
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe73dece8
xor ecx, 0x918c88d2
cmp eax, ecx
jae 0x140179e26
mov eax, dword [0x14020a9d8]
xor edx, edx
div dword [0x14020a9dc]
add eax, 0xe932ebc1
mov ecx, 0x7d95b7fa
xor ecx, 0xa996aa81
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x271850a7
shl ecx, 1
add eax, 0x271850a7
sub eax, ecx
cmp eax, 0xe5121633
je 0x140178d91
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x48], rax
jmp 0x140178ea8
mov cx, 0x3729
xor cx, 0x3330
sub rsp, 0x20
call fcn.140068140
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x40], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x48], rax
jne 0x140178ea8
mov rcx, qword [rbp + 0x108]
mov r9, qword [rbp + 0x40]
mov r8, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.140179e70
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp + 0x30], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x38], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x48], rax
jne 0x140178ea8
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 0x240], rcx
mov qword [rbp + 0x248], rax
lea rcx, [rbp + 0x290]
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.140015990
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x28], rax
cmp rax, 0
je 0x140178ef6
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
movabs rcx, 0xf3ed8ffbe095bd2b
movabs rdx, 0xb3ed8ffbe095bd2b
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140178ef6
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x160]
cmp byte [rax], 0
je 0x140179486
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
mov byte [rax], 0
mov edx, 0x18
sub rsp, 0x20
call fcn.1401783e0
mov rcx, qword [rbp + 0x110]
call fcn.1401785e1
mov rax, qword [rbp + 0x160]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017935e
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x110]
mov r8, qword [rdx]
mov qword [rcx], r8
mov r8, qword [rdx + 8]
mov qword [rcx + 8], r8
mov rdx, qword [rdx + 0x10]
mov qword [rcx + 0x10], rdx
mov rax, qword [rax]
mov qword [rbp + 0x20], rax
cmp rax, 0
je 0x1401791c5
mov ecx, dword [0x14020a9e0]
mov r8d, dword [0x14020a9e4]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x6382ce39
xor r9d, 0x9c7d31c6
mov edx, ecx
xor edx, r9d
or eax, edx
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
mov edx, 0x85f8fb4e
xor edx, 0x7a0704b1
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xfc4d71d9
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x3df58c05
or edx, 0x3df58c05
mov r8d, 0xf946ee6c
xor r8d, 0x6b91193
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0x93e9c0e5
xor r8d, 0x6c163f1a
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3df58c05
and ecx, edx
mov edx, 0x67c0aa1c
xor edx, 0x983f55e3
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd5dcf670
xor ecx, 0x2a23098f
xor eax, ecx
mov ecx, 0x3af4cf04
xor ecx, 0xacff7941
mov edx, 0x1b791bd9
xor edx, 0xe486e426
xor ecx, edx
mov edx, 0x1ac2fea3
xor edx, 0x6c19d450
mov r8d, 0x6a6b5c1f
xor r8d, 0x9594a3e0
xor edx, r8d
or eax, ecx
mov ecx, 0x42ae0da8
xor ecx, 0x3475275b
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x311373bb
xor ecx, 0xf0671724
cmp eax, ecx
ja 0x140179e2f
mov eax, dword [0x14020a9e8]
xor eax, 0x5f193208
xor eax, dword [0x14020a9ec]
mov ecx, 0xa06b9d3
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x20]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xf5aaa1cc
xor ecx, 0xd0bce2bc
mov r8d, 0xd65e3bc
xor r8d, 0xf29a1c43
xor ecx, r8d
mov r8d, 0xffffffff
xor r8d, 0x25164370
and ecx, r8d
or eax, ecx
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x940d20f2
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x940d20f2
mov r9d, 0xffe39335
xor r9d, 0x6beeb3c7
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0xfe4c14c0
xor ecx, 0x8c04672
mov r8, qword [rdx]
movabs r9, 0x84a50fe7d087cc29
movabs rdx, 0xc4a50fe7d087cc29
xor r9, rdx
mov rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
movabs r10, 0x4000000000000000
xor r9, r10
or r8, r9
and rdx, r8
movabs r8, 0x49490a9d0a20d239
movabs r9, 0xb6b6f562f5df2dc6
xor r8, r9
xor rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp + 0x1f], dl
cmp eax, ecx
jae 0x140179e2f
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1401791b4
jmp 0x1401791c5
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xd8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140019e10
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
cmp rax, 0
je 0x14017934c
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
or rax, rax
movabs rcx, 0xe576467900f01f1c
movabs rdx, 0x1a89b986ff0fe0e3
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0x89715381f2f3f212
movabs r8, 0x768eac7e0d0c0ded
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x737397fcc2d0ebcb
movabs r8, 0x8c8c68033d2f1434
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14017934c
mov ecx, dword [0x14020a9f0]
imul ecx, dword [0x14020a9f4]
and ecx, 0xba960757
mov eax, 0xd364b973
xor eax, 0xc29ea6c1
add ecx, eax
mov eax, ecx
and eax, 0x38a155df
xor eax, 0xffffffff
mov edx, 0x3489bb32
xor edx, 0xc28eeed
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x251b82cd
xor ecx, 0x54de9b04
cmp eax, ecx
ja 0x140179e38
mov rcx, qword [rbp + 0x10]
mov edx, dword [0x14020a9f8]
xor edx, dword [0x14020a9fc]
mov eax, edx
add eax, 1
xor edx, 0xffffffff
mov r8d, 0xeae8c801
xor r8d, 0x270ae00c
or edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x3bffe5b3
and edx, 0x3bffe5b3
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x45adbc3e
xor edx, edx
div r8d
mov dword [rbp + 0xc], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x9e16d81f
jae 0x1401792d7
jmp 0x14017934c
sub rsp, 0x20
call fcn.14017a116
add rsp, 0x20
jmp 0x140179e0d
mov eax, dword [0x14020aa00]
mov edx, dword [0x14020aa04]
xor edx, 0x649d1ff3
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
mov edx, 0x3d0ec380
xor edx, 0x6047ed6e
mov eax, ecx
and eax, edx
mov edx, 0x219731ce
xor edx, 0x7cde1f20
xor ecx, edx
or eax, ecx
mov ecx, 0x528fde52
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xbacc87e2
xor edx, 0x744126da
mov eax, 0x6a4c9634
xor eax, 0x95b369cb
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x478749e7
xor ecx, 0x81b4262a
cmp eax, ecx
jae 0x140179e41
mov ecx, dword [0x14020aa08]
mov edx, dword [0x14020aa0c]
xor edx, 0x7b6def42
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9940af6b
mov r8d, 0x8a40bfa7
xor r8d, 0x130010cc
mov ecx, 0xf04c248c
xor ecx, 0xfb3db73
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9940af6b
mov r8d, 0xfb1b223b
xor r8d, 0x625b8d50
or eax, r8d
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x9b14d93a
add eax, ecx
mov ecx, 0x87c7f4f4
xor ecx, 0x87c7f4f4
mov edx, 0xbdb84126
xor edx, 0x5b941150
sub ecx, edx
add eax, ecx
cmp eax, 0xc06f8c43
je 0x140179e41
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jmp 0x140179c4d
mov ecx, 0xf7
sub rsp, 0x20
call fcn.140068140
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp], r8
cmp byte [rdx], 0
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov r8, qword [rbp]
mov rcx, qword [0x140288d38]
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x238], rax
lea rdx, [rbp + 0x230]
sub rsp, 0x20
call fcn.14006015c
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 8], r8
cmp byte [rdx], 0
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov cx, 0xede0
xor cx, 0xea7b
sub rsp, 0x20
call fcn.140068140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x160]
mov qword [rbp - 0x10], rcx
mov al, byte [rax]
mov cl, 0x94
xor cl, 0x94
cmp al, cl
jne 0x14017976c
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
cmp rax, rcx
je 0x14017984b
mov rcx, qword [rbp - 8]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x18], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1401795af
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x14017976c
mov r8, qword [rbp - 0x18]
mov rcx, qword [0x140288d38]
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x228], rax
lea rdx, [rbp + 0x220]
sub rsp, 0x20
call fcn.140061d29
mov rax, qword [rbp + 0x160]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14017976c
mov rcx, qword [rbp + 0x128]
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x120]
movabs r8, 0x985e28032c93a112
movabs r9, 0x985e28032c93a112
xor r8, r9
mov qword [rax], r8
mov qword [rax + 8], 0
mov r8d, 1
sub rsp, 0x20
call fcn.1400495a6
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x28], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14017976c
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp - 0x28]
add rdx, qword [rbp + 0x290]
sub rsp, 0x20
call fcn.14001b8a0
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x120]
add rsp, 0x20
mov rax, qword [rbp + 0x290]
mov qword [rdx], rax
mov rax, qword [rbp + 0x298]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14017a140
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14017a140
mov rax, qword [rbp + 0x120]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x210], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x218], rax
lea rcx, [rbp + 0x290]
lea rdx, [rbp + 0x210]
sub rsp, 0x20
call fcn.140015990
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp rax, 0
je 0x140179846
mov rcx, qword [rbp - 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xa0269cfe8985a5d2
movabs rdx, 0xa0269cfe8985a5d2
xor rcx, rdx
cmp rax, rcx
jne 0x140179846
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
jmp 0x140179846
mov ecx, dword [0x14020aa10]
mov edx, dword [0x14020aa14]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
and ecx, 0xf5e803e8
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x749647f1
and eax, edx
mov edx, 0xbed2b6b2
xor edx, 0x412d494d
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x749647f1
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xc1660b43
xor edx, 0x3e99f4bc
xor ecx, edx
and eax, ecx
mov ecx, 0x5ebe7a07
xor edx, edx
div ecx
mov ecx, 0xbe38dd72
xor ecx, 0xf0a292e4
cmp eax, ecx
ja 0x140179e4a
mov ecx, dword [0x14020aa18]
xor ecx, 0x5e46b887
mov edx, dword [0x14020aa1c]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
xor ecx, ecx
sub ecx, 0xd83dc6f
sub eax, ecx
mov ecx, 0xd92fcef1
xor ecx, 0x16dd23c
sub eax, ecx
add eax, 0x5dec1588
cmp eax, 0xcd26f994
ja 0x1401797e3
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jmp 0x140179c4d
jmp 0x1401798f9
mov ecx, 0x2fc
sub rsp, 0x20
call fcn.140068140
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 0x30], r8
cmp byte [rdx], 0
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x148]
mov rcx, qword [0x140288d38]
mov rax, qword [rbp + 0x290]
mov qword [rdx], rax
mov rax, qword [rbp + 0x298]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140061d29
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xcb
xor r8b, 0xcb
cmp dl, r8b
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
cmp qword [rbp + 0x290], 0
jne 0x14017990c
jmp 0x1401799dc
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x1f0], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x1f0]
mov r9d, 1
lea rax, [0x140216730]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.140041390
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
add rsp, 0x30
mov r8, qword [rbp + 0x200]
mov qword [rbp - 0x40], r8
mov r8, qword [rbp + 0x208]
mov qword [rbp - 0x38], r8
cmp byte [rdx], 0
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jne 0x140179c4d
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x290]
lea rdx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.140015990
add rsp, 0x20
mov rax, qword [rbp + 0x290]
cmp rax, 0
jne 0x140179a61
lea rcx, [rbp + 0x1c8]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401783e0
add rsp, 0x20
lea rcx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.1401785e1
mov rax, qword [rbp + 0x160]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140179a40
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x1c8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x1d0]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x1d8]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
jmp 0x140179c4d
mov eax, dword [0x14020aa20]
imul eax, dword [0x14020aa24]
add eax, 0xf9b38ab
mov r8d, 0x5c6a7132
xor r8d, 0xde83aa50
mov ecx, 0x19861833
xor ecx, 0xe679e7cc
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, 0x82e9db62
or eax, 0x82e9db62
imul eax, edx
add eax, ecx
add eax, 0xe37cd3a9
sub eax, 0x948ecafa
mov ecx, 0x77abc4c3
xor ecx, 0x94d7176a
sub eax, ecx
cmp eax, 0x31e8c7a8
je 0x140179e53
mov ecx, dword [0x14020aa28]
mov eax, dword [0x14020aa2c]
mov edx, 0x9df0eb62
xor edx, 0x2e35251f
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x2566c0da
mov edx, 0xffffffff
xor edx, 0x2566c0da
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x68f4ed16
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x150]
mov r9d, 0xffffffff
xor r9d, 0xa5b217bc
mov r8d, ecx
and r8d, r9d
mov edx, ecx
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, ecx
and r8d, 0xa5b217bc
mov r9d, 0x27623cc6
xor r9d, 0x82d02b7a
or ecx, r9d
imul ecx, r8d
add ecx, edx
mov dword [rbp - 0x48], ecx
mov ecx, 0x1923d8ae
xor ecx, 0x75631dc2
mov dword [rbp - 0x4c], ecx
mov rcx, qword [rbp + 0x290]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x298]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x290]
sub rsp, 0x20
call fcn.140011160
add rsp, 0x20
lea rcx, [rbp + 0x1b0]
mov edx, 0x18
sub rsp, 0x20
call fcn.1401783e0
mov rdx, qword [rbp + 0x150]
add rsp, 0x20
lea rcx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.140178601
mov rdx, qword [rbp + 0x160]
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xcf
xor r8b, 0xcf
cmp dl, r8b
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
je 0x140179ad2
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140179c0a
jmp 0x140179c31
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x1b0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x1b8]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x1c0]
mov qword [rax + 0x10], rcx
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x198]
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rcx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x140179d0d
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
movabs rdx, 0x31fe1339493499ae
movabs rax, 0xce01ecc6b6cb6651
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4d7c80ce2760d60c
movabs rdx, 0x4d7c80ce2760d60c
xor rcx, rdx
cmp rax, rcx
jne 0x140179d0d
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1a8], rax
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.140019e10
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140179e0d
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140179e0d
mov ecx, dword [0x14020aa30]
mov edx, dword [0x14020aa34]
xor edx, 0xa64c5307
mov eax, ecx
and eax, edx
mov r8d, 0xdaa2a8cd
xor r8d, 0x255d5732
xor eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xeeefbb30
xor edx, 0x111044cf
xor ecx, edx
or eax, ecx
xor eax, 0xe71aca65
add eax, 0x2824489f
add eax, 0x249e1e7e
cmp eax, 0x6096cf55
je 0x140179e5c
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x14020aa38]
xor eax, 0xb37275db
xor edx, edx
div dword [0x14020aa3c]
sub eax, 0x392b82ec
sub eax, 0xa6e48a6b
add eax, 0x99f7c8e1
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x25fcd534
jbe 0x140179dc4
jmp 0x140179e0d
mov rax, qword [rbp + 0xe8]
lea rsp, [rbp + 0x2a0]
pop rbp
ret
int1
add cl, byte [rbp - 0x135816fe]
invalid
mov word [rdi + rdx], es
invalid
sbb ah, dl
test eax, 0xf261e9d8
invalid
invalid
xor r14b, byte [r13 - 0xa781621]
invalid
xchg eax, eax
int1
or al, 0xe9
nop
stc
invalid
hlt
int 0xbf
mov r8b, 0xe9
pop rdi
invalid