Function at 0x14017ff30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x3d8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x100], rcx
mov eax, 0x10
mov qword [rbp + 0x158], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x130], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x138], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x140], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x148], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x150], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x158]
mov rcx, rsp
mov qword [rbp + 0x160], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x168], rax
sub rsp, 0x20
call fcn.140181e05
add rsp, 0x20
mov qword [rbp + 0x180], rax
add rax, 0x60
mov qword [rbp + 0x170], rax
mov edx, 8
sub rsp, 0x20
mov rcx, rdx
call fcn.1400133d1
add rsp, 0x20
mov qword [rbp + 0x178], rax
mov word [rbp + 0x356], 0x982
lea rcx, [rbp + 0x356]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x188], rcx
mov dl, byte [rax + 0x60]
mov r8b, 0x98
xor r8b, 0x98
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x197], cl
mov rcx, rax
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov rax, qword [rbp + 0x188]
mov rcx, qword [0x1401eb878]
mov rdx, qword [rcx]
mov qword [rbp + 0x310], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x318], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x300], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x308], rax
lea rcx, [rbp + 0x320]
lea rdx, [rbp + 0x310]
lea r8, [rbp + 0x300]
sub rsp, 0x20
call fcn.14008aa10
mov r8, qword [rbp + 0x170]
add rsp, 0x20
mov rax, qword [rbp + 0x320]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0xf8], rax
mov dl, 1
xor ecx, ecx
cmp byte [r8], 0
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0xf0]
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2e8], rax
lea rcx, [rbp + 0x2f0]
lea rdx, [rbp + 0x2e0]
sub rsp, 0x20
call fcn.14001d024
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0xe8], rax
movabs rdx, 0x65e99a0344fa7126
movabs rax, 0x65e99a0344fa7136
xor rdx, rax
sub rsp, 0x20
call fcn.14017c0b0
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov qword [rbp + 0x2d0], rdx
mov qword [rbp + 0x2d8], rax
lea rdx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.140138eaf
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xbf
xor cl, 0xbf
cmp al, cl
jne 0x14018059f
mov rax, qword [rbp + 0x108]
mov al, byte [rax]
mov cl, 0x3b
xor cl, 0x3a
and al, cl
mov cl, 0x1e
xor cl, 0x1e
cmp al, cl
jne 0x14018029c
jmp 0x140180684
mov ecx, dword [0x1401df468]
xor ecx, 0xbe222f
mov r8d, dword [0x1401df46c]
xor r8d, 0xff832ee9
mov eax, 0xffc43aef
xor eax, 0x3bc510
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x94617181
or edx, 0x94617181
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or ecx, 0x94617181
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xac700211
xor ecx, 0x5fd25558
or eax, ecx
xor ecx, ecx
sub ecx, 0xcef54e28
add eax, ecx
cmp eax, 0x93fd5cbd
ja 0x1401819bb
mov rcx, qword [rbp + 0x118]
mov eax, dword [0x1401df470]
imul eax, dword [0x1401df474]
mov edx, 0xddfd4b03
xor edx, 0x40235f52
add eax, edx
add eax, 0xa5db41b4
sub eax, 0x4a17db06
add eax, 0xc1645470
add eax, 0x4a17db06
mov dword [rbp + 0xcc], eax
mov eax, 0xf481c0b3
xor eax, 0x132f8c6
mov dword [rbp + 0xc8], eax
mov ax, 0xe70d
xor ax, 0xe4bd
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp + 0x170]
mov ecx, dword [rbp + 0xc8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xcc]
mov qword [rbp + 0xd0], r8
mov dl, byte [rdx]
mov r8b, 0x36
xor r8b, 0x36
cmp dl, r8b
sete dl
mov byte [rbp + 0xdf], dl
cmp eax, ecx
jae 0x140180330
mov al, byte [rbp + 0xdf]
test al, 1
jne 0x1401803e0
jmp 0x140180589
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
mov qword [rdx], r8
mov qword [rdx + 8], rax
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400b7cd0
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0xb8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xc0], rcx
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x140180589
movabs rdx, 0xc8e8fb6c739f13c8
movabs rax, 0xc8e8fb6c739f13c0
xor rdx, rax
lea rcx, [rbp + 0x2c8]
sub rsp, 0x20
call fcn.14017c0b0
mov rcx, qword [rbp + 0x100]
mov r8, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 0x18
mov r9, qword [r8]
mov qword [rbp + 0x2b8], r9
mov r8, qword [r8 + 8]
mov qword [rbp + 0x2c0], r8
mov qword [rbp + 0x2a8], rdx
mov qword [rbp + 0x2b0], rax
lea rdx, [rbp + 0x2b8]
lea r8, [rbp + 0x2a8]
sub rsp, 0x20
call fcn.140114830
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0xb0], rcx
mov al, byte [rax]
mov cl, 0xe2
xor cl, 0xe2
cmp al, cl
jne 0x14018052b
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.140090f9e
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xbc
xor cl, 0xbc
cmp al, cl
jne 0x14018052b
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov byte [rax + 0x28], 1
mov rax, qword [rbp + 0xc0]
cmp rax, 0
je 0x14018058e
mov rcx, qword [rbp + 0xc0]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xe460b1e021812c99
movabs rdx, 0xe460b1e021812c99
xor rcx, rdx
cmp rax, rcx
jne 0x14018058e
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
jmp 0x14018058e
jmp 0x14018059f
mov rax, qword [rbp + 0x170]
mov al, byte [rax]
cmp al, 0
je 0x140180684
sub rsp, 0x20
call fcn.14017cde2
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xa8], rax
mov ax, word [rax + 0x12]
mov cx, 0x12c4
xor cx, 0x12c5
cmp ax, cx
jle 0x140180655
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140180655
mov rax, qword [rbp + 0x170]
mov cl, 0x70
xor cl, 0x70
mov byte [rax], cl
sub rsp, 0x20
call fcn.14017cdf4
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rcx, qword [rbp + 0x170]
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov r8b, byte [rcx]
mov r9b, 0x26
xor r9b, 0x26
mov dl, 1
xor ecx, ecx
cmp r8b, r9b
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
sub rsp, 0x20
call fcn.14017cd40
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x170]
mov dl, byte [rcx]
xor ecx, ecx
cmp dl, 0
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov word [rbp + 0x354], 0x3ef
lea rcx, [rbp + 0x354]
sub rsp, 0x20
call fcn.1400629b3
mov rcx, qword [rbp + 0x170]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xa0], rdx
mov r8b, byte [rcx]
mov r9b, 0xa3
xor r9b, 0xa3
mov dl, 1
xor ecx, ecx
cmp r8b, r9b
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov r11d, dword [0x1401df478]
mov r10d, dword [0x1401df47c]
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x63859b13
mov ecx, eax
and ecx, 0x63859b13
and r11d, edx
mov esi, 0xb5b4543c
xor esi, 0xd631cf2f
mov r9d, r8d
and r9d, esi
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x63859b13
and eax, edx
or ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa8ce788e
mov r8d, 0xffffffff
xor r8d, 0xa8ce788e
and edx, r8d
or eax, edx
mov edx, 0xda8ed4e6
xor edx, 0x25712b19
xor eax, edx
mov edx, 0x213bbd15
xor edx, 0xdec442ea
xor ecx, edx
mov edx, 0x41029fd
xor edx, 0xacde5173
mov r8d, 0xc893b456
xor r8d, 0x376c4ba9
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x1c6321c5
xor edx, 0x619f0913
and edx, ecx
mov r8d, 0xe276bb69
xor r8d, 0x9f8a93bf
mov ecx, 0xc9e783f2
xor ecx, 0x36187c0d
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x96ffd159
xor r8d, 0xeb03f98f
mov edx, eax
and edx, r8d
or eax, 0x7dfc28d6
imul eax, edx
add eax, ecx
mov ecx, 0x789c95c1
xor edx, edx
div ecx
cmp eax, 0x7cc2cc90
jae 0x1401819c4
mov rax, qword [rbp + 0xa0]
mov edx, dword [0x1401df480]
xor edx, dword [0x1401df484]
sub edx, 0x51b70c37
mov r8d, 0x8646b4de
xor r8d, 0x79b94b21
mov ecx, edx
xor ecx, r8d
mov r8d, 0x69a8d01
xor r8d, 0x60a56e4c
and r8d, ecx
mov r9d, 0xffffffff
xor r9d, 0x663fe34d
mov ecx, edx
and ecx, r9d
imul ecx, r8d
mov r8d, edx
and r8d, 0x663fe34d
or edx, 0x663fe34d
imul edx, r8d
add edx, ecx
mov r8d, 0xf831003d
xor r8d, 0x13157ffa
mov ecx, edx
and ecx, r8d
xor ecx, 0xffffffff
and edx, 0xeb247fc7
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov dword [rbp + 0x84], ecx
mov rcx, qword [0x1401eb878]
mov rdx, qword [rcx]
mov qword [rbp + 0x288], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x290], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x278], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x280], rax
lea rcx, [rbp + 0x298]
lea rdx, [rbp + 0x288]
lea r8, [rbp + 0x278]
sub rsp, 0x20
call fcn.14008aa10
mov rcx, qword [rbp + 0x170]
mov eax, dword [rbp + 0x84]
add rsp, 0x20
mov rdx, qword [rbp + 0x298]
mov qword [rbp + 0x88], rdx
mov rdx, qword [rbp + 0x2a0]
mov qword [rbp + 0x90], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x9f], cl
cmp eax, 0x77db9209
je 0x140180807
mov rax, qword [rbp + 0xf8]
mov r8b, byte [rbp + 0x9f]
mov dl, 1
xor ecx, ecx
test r8b, 1
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x14018095f
jmp 0x1401816f0
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x258], rcx
mov qword [rbp + 0x260], rax
lea rcx, [rbp + 0x268]
lea rdx, [rbp + 0x258]
sub rsp, 0x20
call fcn.14001d024
add rsp, 0x20
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x340]
mov edx, 0x10
sub rsp, 0x20
call fcn.14017c0b0
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp + 0x248], rcx
mov qword [rbp + 0x250], rax
lea rcx, [rbp + 0x340]
lea rdx, [rbp + 0x248]
sub rsp, 0x20
call fcn.140138eaf
mov rax, qword [rbp + 0x170]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140180ccd
mov al, byte [rbp + 0x340]
or al, al
xor al, 0xff
mov cl, 0xff
xor cl, 1
mov dl, 0xfb
xor dl, 0xfa
mov r8b, 0x8f
xor r8b, 0x70
xor dl, r8b
and cl, dl
xor al, 0xff
xor cl, 0xff
and al, cl
mov cl, 0x45
xor cl, 0x45
cmp al, cl
jne 0x140180a3f
jmp 0x140180eb8
mov ax, 0xb7b9
xor ax, 0xb72a
mov word [rbp + 0x246], ax
lea rcx, [rbp + 0x246]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x68], rcx
mov al, byte [rax]
mov cl, 0xc6
xor cl, 0xc6
cmp al, cl
jne 0x140180cb2
mov rdx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x88]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x228]
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400b7cd0
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov rcx, qword [rbp + 0x228]
mov qword [rbp + 0x58], rcx
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x60], rcx
mov al, byte [rax]
mov cl, 0x18
xor cl, 0x18
cmp al, cl
jne 0x140180cb2
mov ecx, dword [0x1401df488]
mov edx, dword [0x1401df48c]
mov eax, 0xd7930d2f
xor eax, 0x6094b2e0
xor edx, eax
xor eax, eax
sub eax, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x26870fc8
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0xdd853f7f
or eax, 0x43e9e336
cmp eax, 0xf3d90d26
ja 0x1401819cd
mov eax, dword [0x1401df490]
xor eax, 0x2a809d62
and eax, dword [0x1401df494]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x5de0602f
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x7c10f1d2
xor ecx, 0xb3a2882
add eax, ecx
add eax, 0x4c51ee42
add eax, 0x6690e76b
sub eax, 0x4c51ee42
mov dword [rbp + 0x44], eax
mov eax, 0xf3bb3c0f
xor eax, 0x25a14697
mov dword [rbp + 0x40], eax
lea rcx, [rbp + 0x238]
mov edx, 8
sub rsp, 0x20
call fcn.14017c0b0
mov rcx, qword [rbp + 0x100]
mov r10, qword [rbp + 0x68]
mov r9, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x138]
mov r8, qword [rbp + 0x140]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 0x18
mov r11, qword [r10]
mov qword [rdx], r11
mov r10, qword [r10 + 8]
mov qword [rdx + 8], r10
mov qword [r8], r9
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140114830
mov rdx, qword [rbp + 0x170]
mov ecx, dword [rbp + 0x40]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x44]
mov qword [rbp + 0x48], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x57], dl
cmp eax, ecx
jae 0x140180b25
mov al, byte [rbp + 0x57]
test al, 1
jne 0x140180c0b
jmp 0x140180c3a
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.140090f9e
mov rax, qword [rbp + 0x170]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140180c3a
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov byte [rax + 0x28], 1
mov rax, qword [rbp + 0x60]
cmp rax, 0
je 0x140180cb7
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0xdf551f61eb95ed2b
movabs r8, 0x9f551f61eb95ed2b
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x140180cb7
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
jmp 0x140180cb7
jmp 0x140180ccd
mov rax, qword [rbp + 0x170]
mov al, byte [rax]
mov cl, 0x1e
xor cl, 0x1e
cmp al, cl
je 0x140180eb8
sub rsp, 0x20
call fcn.14017cde2
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x38], rax
cmp word [rax + 0x12], 1
jle 0x140180d73
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140180d73
mov rax, qword [rbp + 0x170]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14017cdf4
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rdx, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov r8b, byte [rdx]
mov r9b, 0xec
xor r9b, 0xec
mov dl, 1
cmp r8b, r9b
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
sub rsp, 0x20
call fcn.14017cd40
add rsp, 0x20
mov eax, dword [0x1401df498]
xor eax, dword [0x1401df49c]
mov ecx, eax
and ecx, 0x8dc9936c
xor ecx, 0xffffffff
add eax, 0x8dc9936c
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0xa6829dcd
mov edx, 0x6a9dc74f
xor edx, 0x956238b0
xor ecx, edx
or eax, 0xa6829dcd
and eax, ecx
or eax, 0x9a236e52
mov ecx, 0x9f004e69
xor ecx, 0xf9e8d02d
cmp eax, ecx
je 0x1401819d6
mov rcx, qword [rbp + 0x170]
mov eax, dword [0x1401df4a0]
mov edx, 0x74dd6be6
xor edx, 0xf393c7af
xor eax, edx
mov r8d, dword [0x1401df4a4]
mov edx, 0xd75b857a
xor edx, 0xcb3cb0eb
xor r8d, edx
xor eax, 0xffffffff
xor r8d, 0xffffffff
mov edx, 0xb3ca7d1d
xor edx, 0x458b8b26
mov r9d, 0x83074485
xor r9d, 0x7cf8bb7a
xor edx, r9d
or eax, r8d
or edx, 0xf641f63b
xor eax, 0xffffffff
and eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x534afe16
or edx, 0x534afe16
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0x50caf891
mov edx, eax
and edx, 0x43ffff29
xor edx, 0xffffffff
mov r8d, 0x1437d041
xor r8d, 0x57c82f68
add eax, r8d
add eax, 1
add eax, edx
mov cl, byte [rcx]
mov byte [rbp + 0x36], cl
cmp cl, 0
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0x36cd3bf4
je 0x1401819d6
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x90]
mov dl, byte [rbp + 0x36]
mov r8b, byte [rbp + 0x37]
test r8b, 1
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x140180eb8
jmp 0x1401816f0
mov rcx, qword [rbp + 0x110]
mov ax, 0x2a1d
xor ax, 0x2bc7
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0x28], r8
mov r8b, byte [rdx]
mov r9b, 0x12
xor r9b, 0x12
mov dl, 1
cmp r8b, r9b
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov rdx, qword [rbp + 0x148]
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x1401eb878]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x208], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x210], rax
lea rcx, [rbp + 0x218]
lea r8, [rbp + 0x208]
sub rsp, 0x20
call fcn.14008aa10
mov r8, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov rdx, qword [rbp + 0x218]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rbp + 0x220]
mov qword [rbp + 0x20], rdx
mov dl, 1
cmp byte [r8], 0
mov byte [rbp + 0x197], dl
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
jne 0x1401816f0
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x18]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.14001d024
add rsp, 0x20
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x330]
mov edx, 0x10
sub rsp, 0x20
call fcn.14017c0b0
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp + 0x1e8], rcx
mov qword [rbp + 0x1f0], rax
lea rcx, [rbp + 0x330]
lea rdx, [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140138eaf
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa2
xor cl, 0xa2
cmp al, cl
jne 0x1401814df
mov eax, dword [0x1401df4a8]
mov edx, dword [0x1401df4ac]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xadf69737
xor edx, 0x5db3ab75
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf0453c42
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x3e4fd84f
xor r8d, 0xce0ae40d
mov edx, eax
and edx, r8d
or eax, 0xf0453c42
imul eax, edx
add eax, ecx
mov ecx, 0x8acf37f3
xor ecx, 0x8d6e4a7e
sub eax, ecx
sub eax, 0xaa5abd22
cmp eax, 0xf6716901
ja 0x1401819df
mov eax, dword [0x1401df4b0]
mov ecx, dword [0x1401df4b4]
xor ecx, 0x28f6fd4e
xor edx, edx
div ecx
mov ecx, 0xff285be9
xor ecx, 0xc7cb9dd1
xor edx, edx
div ecx
and eax, 0x4cd502c3
mov r8d, 0xa0557cc2
xor r8d, 0x892a7ade
mov ecx, 0x66653cad
xor ecx, 0x999ac352
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, 0x297f061c
mov r8d, 0x2156f11f
xor r8d, 0x829f703
or eax, r8d
imul eax, edx
add eax, ecx
mov cl, byte [rbp + 0x330]
mov dl, 0xee
xor dl, 0xef
and cl, dl
cmp cl, 0
sete cl
mov byte [rbp + 7], cl
cmp eax, 0x4f9bffc3
je 0x1401819df
mov al, byte [rbp + 7]
test al, 1
jne 0x140181174
jmp 0x140181179
jmp 0x140181567
mov word [rbp + 0x1e6], 0x23a
lea rcx, [rbp + 0x1e6]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x170]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x1401814c9
mov eax, dword [0x1401df4b8]
and eax, dword [0x1401df4bc]
add eax, 0x288a86c2
mov ecx, 0xffffffff
xor ecx, 0x6b78938a
mov edx, eax
xor edx, ecx
and edx, eax
mov eax, 0x6805c932
xor eax, 0x4e75f19d
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x267038af
and edx, eax
mov eax, 0x765ad11
xor eax, 0x765ad13
imul eax, edx
sub eax, ecx
cmp eax, 0x47a50e0e
jae 0x1401819e8
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp + 0x18]
mov r11d, dword [0x1401df4c0]
mov r9d, dword [0x1401df4c4]
mov r10d, 0x1e6bcadd
xor r10d, 0xb902dcc7
xor r9d, r10d
add r11d, r9d
xor r11d, 0x62922782
mov r9d, r11d
xor r9d, 0x14f1848d
xor r9d, 0xffffffff
mov r10d, 0xd8b9adbb
xor r10d, 0xcc482936
or r11d, r10d
and r11d, r9d
mov r10d, r11d
xor r10d, 0x2ac4fa62
mov r9d, 0x53066da0
xor r9d, 0x79c297c2
mov esi, 0xd2e2f18
xor esi, 0xf2d1d0e7
xor r9d, esi
and r11d, r9d
mov r9d, 0x6ed7cb67
xor r9d, 0x6ed7cb65
imul r9d, r11d
sub r9d, r10d
mov dword [rbp - 0x24], r9d
mov qword [rdx], r8
mov qword [rdx + 8], rax
xor eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.1400b7cd0
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x170]
mov eax, dword [rbp - 0x24]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp - 0x20], r8
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x18], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x9f40a272
jbe 0x1401819e8
mov al, byte [rbp - 9]
test al, 1
jne 0x1401812ff
jmp 0x1401814c9
movabs rdx, 0x814aa568f9146bdf
movabs rax, 0x814aa568f9146bd7
xor rdx, rax
lea rcx, [rbp + 0x1d8]
sub rsp, 0x20
call fcn.14017c0b0
mov rcx, qword [rbp + 0x100]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 0x18
mov r9, qword [r8]
mov qword [rbp + 0x1c8], r9
mov r8, qword [r8 + 8]
mov qword [rbp + 0x1d0], r8
mov qword [rbp + 0x1b8], rdx
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0x1c8]
lea r8, [rbp + 0x1b8]
sub rsp, 0x20
call fcn.140114830
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x1401813c8
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140090f9e
mov rax, qword [rbp + 0x170]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401813c8
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov byte [rax + 0x28], 1
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x1401814ce
mov eax, dword [0x1401df4c8]
mov edx, dword [0x1401df4cc]
mov ecx, edx
and ecx, eax
mov r8d, 0x8e84b65f
xor r8d, 0x717b49a0
xor ecx, r8d
add eax, edx
mov edx, 0x5e01f6c5
xor edx, 0x5e01f6c4
add eax, edx
add eax, ecx
mov edx, 0x3f0f37f4
xor edx, 0x8ac28a93
mov ecx, 0xaeef4053
xor ecx, 0x5110bfac
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb5cdbd67
add eax, edx
sub eax, ecx
mov ecx, 0xb4ac7ed6
xor edx, edx
div ecx
mov ecx, 0xa499d398
xor ecx, 0x68e565f7
imul eax, ecx
cmp eax, 0x4b4cf01c
jbe 0x1401819f1
mov r8, qword [rbp - 0x18]
mov eax, dword [0x1401df4d0]
xor eax, dword [0x1401df4d4]
add eax, 0x9f6a4091
mov ecx, 0x2189cf8b
xor ecx, 0x3e57a362
imul eax, ecx
xor eax, 0x85b1abdd
mov ecx, 0x7294184
xor ecx, 0x5e6a4eb
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jb 0x1401819f1
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401814b3
jmp 0x1401814ce
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
jmp 0x1401814ce
jmp 0x1401814df
mov rax, qword [rbp + 0x170]
mov al, byte [rax]
cmp al, 0
je 0x140181567
sub rsp, 0x20
call fcn.14017cde2
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
cmp word [rax + 0x12], 1
jle 0x140181557
mov rax, qword [rbp - 0x40]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140181557
mov rax, qword [rbp + 0x170]
mov byte [rax], 0
sub rsp, 0x20
call fcn.14017cdf4
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp + 0x170]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14018171f
sub rsp, 0x20
call fcn.14017cd40
add rsp, 0x20
mov rax, qword [rbp + 0x170]
cmp byte [rax], 0
jne 0x14018171f
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
cmp byte [rax + 0x28], 0
je 0x14018171f
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov qword [rax], 0
mov ecx, 0x36c775e2
xor ecx, 0x36c775e3
mov dword [rax + 8], ecx
mov ecx, 0x17f
sub rsp, 0x20
call fcn.140062790
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x14018171f
mov rax, qword [rbp - 0x48]
movabs rdx, 0x57d9f46a2cdd48aa
movabs rcx, 0xa8260b95acdd48aa
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0xe9297999652d4444
movabs r8, 0xe9297999652d4446
xor rdx, r8
imul rcx, rdx
xor rax, 0xffffffff80000000
add rax, rcx
movabs rcx, 0xef04252ace018ee0
movabs rdx, 0x10fbdad5ce018ee0
xor rcx, rdx
cmp rax, rcx
jae 0x14018165c
mov rcx, qword [rbp - 0x48]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14018171f
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x178]
mov rcx, qword [rbp - 0x48]
mov dword [rax + 0xc], ecx
lea rcx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.140073ccf
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x170]
add rsp, 0x20
mov rdx, qword [rbp + 0x1a8]
mov qword [rcx + 0x10], rdx
mov rdx, qword [rbp + 0x1b0]
mov qword [rcx + 0x18], rdx
mov al, byte [rax]
mov cl, 0xc6
xor cl, 0xc6
cmp al, cl
jne 0x14018171f
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x100]
mov rcx, qword [0x1401eaf38]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401eaf40]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140027d11
add rsp, 0x20
jmp 0x14018171f
mov r8, qword [rbp + 0x170]
mov dl, byte [rbp + 0x197]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x1a0]
mov byte [r8], 0
mov byte [rbp - 0x61], dl
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
jmp 0x1401817cb
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xf8]
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x170]
mov dl, byte [r9]
mov byte [rbp - 0x62], dl
mov byte [r9], 0
cmp r8, 0
mov byte [rbp - 0x61], dl
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
je 0x1401817cb
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xf8]
mov dl, byte [rbp - 0x62]
mov r8, qword [rbp + 0x20]
mov r8, qword [r8]
movabs r9, 0x5f50136dd2f6ea02
movabs r10, 0x1f50136dd2f6ea02
xor r9, r10
and r8, r9
cmp r8, 0
mov byte [rbp - 0x61], dl
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
jne 0x1401817cb
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000eb2e
mov dl, byte [rbp - 0x62]
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov byte [rbp - 0x61], dl
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], rax
mov cl, byte [rbp - 0x61]
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rdx
mov byte [rbp - 0x63], cl
cmp rax, 0
je 0x14018190e
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
movabs rdx, 0x724b0b25a6f952e5
movabs rax, 0x8db4f4da5906ad1a
xor rdx, rax
mov rax, rcx
xor rax, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x14018190e
mov eax, dword [0x1401df4d8]
xor eax, 0xffccdf2d
mov r8d, dword [str.nsm]
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
sub eax, 0x61b68702
mov ecx, 0xffffffff
xor ecx, 0x17a60c39
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
imul eax, eax, 0xb43ed802
mov ecx, 0x4b649c52
xor ecx, 0x81cac562
cmp eax, ecx
jae 0x1401819fa
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x1401df4e0]
xor edx, edx
div dword [0x1401df4e4]
mov r8d, 0xdcef4d53
xor edx, edx
div r8d
xor eax, 0xa5b4c792
sub eax, 0xe1f80bc3
sub eax, 0x1af7fbad
add eax, 0xe1f80bc3
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14000eb2e
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0x331d4757
jb 0x1401819fa
jmp 0x14018190e
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x140181981
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x36678e16454b9561
xor rcx, r8
or rax, rdx
movabs rdx, 0x36678e16454b9561
or rcx, rdx
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x140181981
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov rcx, qword [rbp + 0x178]
sub rsp, 0x20
call fcn.140172210
mov rax, qword [rbp + 0x170]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401819b1
mov rax, qword [rbp + 0x170]
mov cl, byte [rbp - 0x63]
mov byte [rax], cl
lea rsp, [rbp + 0x358]
pop rsi
pop rbp
ret
sub al, ah
adc al, 0xb6
jmp 0x140180330
jnp 0x1401819f8
and eax, 0xee3ae9c6
invalid
int3
add dh, ch
loope 0x14018195b
jmp 0x140180dc8
jmp 0x140181a5f
or bh, byte [rdi + 0x62]
cmp ch, cl
adc bh, al
invalid
jae 0x140181a0e
int1
sbb cl, ch
push rdi
cli
invalid
xchg byte [rbp - 0x481609a7], ch
invalid
add eax, dword [rax]
add byte [rax - 0x75], cl
and al, 0x30
mov qword [rsp + 0x40], rax
add rax, 0x60
mov qword [rsp + 0x38], rax
call fcn.14017ff30
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x60], 0
je 0x140181a92
call fcn.14017cde2
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp word [rax + 0x12], 1
jle 0x140181a92
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140181a92
invalid
mov rax, qword [rsp + 0x38]
mov cl, 0x84
xor cl, 0x84
mov byte [rax], cl
call fcn.14017cdf4
mov rcx, rax
call fcn.14008f410
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0
jne 0x140181a92
call fcn.14017cd40
nop
add rsp, 0x48
ret