Function at 0x140164420
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x4a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0xe8], rcx
mov eax, 0x10
mov qword [rbp + 0xc0], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov eax, 0x20
mov qword [rbp + 0xa0], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x70], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0xb0], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0xc0]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd0], rax
sub rsp, 0x20
call fcn.140171215
add rsp, 0x20
mov qword [rbp + 0xf0], rax
add rax, 0x60
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0x410], 0
lea rax, [rbp + 0x410]
add rax, 8
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x418], 0
lea rcx, [rbp + 0x3f8]
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
add rsp, 0x20
lea rcx, [rbp + 0x3e0]
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
add rsp, 0x20
lea rcx, [rbp + 0x3c8]
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
mov rcx, qword [rbp + 0xe8]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0x398], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x3a0], rax
lea rcx, [rbp + 0x410]
lea rdx, [rbp + 0x398]
sub rsp, 0x20
call fcn.140091110
mov rcx, qword [rbp + 0xf0]
add rsp, 0x20
mov al, 1
cmp byte [rcx + 0x60], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
movabs rcx, 0xd76a51a1ef78fbd1
movabs rax, 0xd76a51a1ef78fb31
xor rcx, rax
movabs rdx, 0x5165ad08fb1c2146
movabs rax, 0x5165ad08fb1c214e
xor rdx, rax
sub rsp, 0x20
call fcn.14001b340
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x40], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x378], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x380], rax
lea rcx, [rbp + 0x388]
lea rdx, [rbp + 0x378]
sub rsp, 0x20
call fcn.14001b4f8
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov r8, qword [rbp + 0x388]
mov rdx, qword [rbp + 0x390]
mov qword [rax], r8
mov qword [rax + 8], rdx
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
add rsp, 0x20
mov word [rbp + 0x376], 0x33e
lea rcx, [rbp + 0x376]
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x57], al
jne 0x140164976
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x48]
mov rdx, qword [rbp + 0xe8]
mov r8, qword [rdx]
mov qword [rbp + 0x360], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x368], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x350], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x358], rax
lea rdx, [rbp + 0x360]
lea r8, [rbp + 0x350]
sub rsp, 0x20
call fcn.14013b840
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
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 cl, byte [rax]
mov dl, 0xad
xor dl, 0xad
mov al, 1
cmp cl, dl
mov byte [rbp + 0x57], al
jne 0x140164976
mov rax, qword [rbp + 0x70]
cmp byte [rax + 0x10], 0
jne 0x1401648e2
mov word [rbp + 0x34e], 0xb75
lea rcx, [rbp + 0x34e]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x38], rcx
cmp byte [rax], 0
jne 0x1401648d8
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x320], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x328], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x310], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x318], rax
lea rcx, [rbp + 0x330]
lea rdx, [rbp + 0x320]
lea r8, [rbp + 0x310]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x3b
xor cl, 0x3b
cmp al, cl
jne 0x1401648d8
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x330]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x308], rax
lea rdx, [rbp + 0x2f8]
sub rsp, 0x20
call fcn.14005fec0
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd7
xor cl, 0xd7
cmp al, cl
je 0x1401648e2
mov al, 1
mov byte [rbp + 0x57], al
jmp 0x140164976
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
mov qword [rbp + 0x3f8], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x400], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x408], rax
sub rsp, 0x20
call fcn.14005fcd8
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rcx, qword [rbp + 0x3f8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x400]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x408]
mov qword [rax + 0x10], rcx
lea rcx, [rbp + 0x3f8]
sub rsp, 0x20
call fcn.14005fcd8
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rcx + 0x20], r8
mov r8, qword [rdx + 8]
mov qword [rcx + 0x28], r8
mov rdx, qword [rdx + 0x10]
mov qword [rcx + 0x30], rdx
mov al, byte [rax]
mov byte [rbp + 0x57], al
mov al, byte [rbp + 0x57]
mov byte [rbp + 0x37], al
mov eax, dword [0x1401e16d8]
mov edx, dword [0x1401e16dc]
mov ecx, 0xd521dc9a
xor ecx, 0xd521dc9a
sub ecx, edx
sub eax, ecx
xor eax, 0x60255ccf
xor eax, 0x8bace0b0
mov ecx, 0xae0513a4
xor ecx, 0x51faec5b
xor eax, ecx
mov edx, 0x11f54641
xor edx, 0x20a09c3f
mov ecx, 0x7d4fdc3b
xor ecx, 0x82b023c4
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xf237ab06
or eax, edx
or ecx, 0xf237ab06
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x3f1fdf55
ja 0x140165c67
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x70]
mov edx, dword [0x1401e16e0]
xor edx, 0x48dd1829
add edx, dword [0x1401e16e4]
mov r8d, edx
add r8d, 1
xor edx, 0xffffffff
or edx, 0xfb9742c
add edx, r8d
mov r9d, edx
xor r9d, 0x3abd0afc
xor r9d, 0xffffffff
mov r8d, 0x760d6ad7
xor r8d, 0x4cb0602b
and r8d, r9d
shl r8d, 1
sub r8d, 0x3abd0afc
sub edx, r8d
or edx, 0xb8e8da74
mov dword [rbp + 0x30], edx
mov dl, 0x7e
xor dl, 0x7e
mov byte [rax], dl
sub rsp, 0x20
call fcn.14005fcf0
mov rcx, qword [rbp + 0xd8]
mov eax, dword [rbp + 0x30]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x36], cl
cmp eax, 0xe56f3b54
jae 0x140165c67
mov cl, byte [rbp + 0x36]
mov al, 1
test cl, 1
mov byte [rbp + 0x2f], al
jne 0x140164a96
jmp 0x140164ab2
mov al, byte [rbp + 0x37]
mov rdx, qword [rbp + 0xd8]
mov cl, 0xf
xor cl, 0xf
mov byte [rdx], al
cmp al, cl
mov byte [rbp + 0x2f], al
je 0x140164ac0
mov al, byte [rbp + 0x2f]
mov byte [rbp + 0xff], al
jmp 0x140165adf
lea rcx, [rbp + 0x2e0]
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
add rsp, 0x20
mov ax, 0x7307
xor ax, 0x770b
mov word [rbp + 0x2de], ax
lea rcx, [rbp + 0x2de]
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x2e], al
jne 0x140164d6a
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x298], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x2a0], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x288], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x290], rax
lea rcx, [rbp + 0x2a8]
lea rdx, [rbp + 0x298]
lea r8, [rbp + 0x288]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rbp + 0x2a8]
mov qword [rbp + 0x2e0], rcx
mov rcx, qword [rbp + 0x2b0]
mov qword [rbp + 0x2e8], rcx
mov rcx, qword [rbp + 0x2b8]
mov qword [rbp + 0x2f0], rcx
mov cl, byte [rax]
mov dl, 0x72
xor dl, 0x72
mov al, 1
cmp cl, dl
mov byte [rbp + 0x2e], al
jne 0x140164d6a
mov al, byte [rbp + 0x2f0]
mov cl, 0xa6
xor cl, 0xa6
cmp al, cl
jne 0x140164cbd
mov ax, 0x8438
xor ax, 0x8c81
mov word [rbp + 0x286], ax
lea rcx, [rbp + 0x286]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x18], rcx
cmp byte [rax], 0
jne 0x140164cb3
mov r8, qword [rbp + 0x88]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x258], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x260], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x268]
lea rdx, [rbp + 0x258]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140164cb3
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x250], rax
lea rcx, [rbp + 0x2e0]
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.14005fec0
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
cmp byte [rax], 0
je 0x140164cbd
mov al, 1
mov byte [rbp + 0x2e], al
jmp 0x140164d6a
mov rax, qword [rbp + 0x2e0]
mov qword [rbp + 0x3e0], rax
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x3e8], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x3f0], rax
lea rcx, [rbp + 0x2e0]
sub rsp, 0x20
call fcn.14005fcd8
add rsp, 0x20
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x2c0], rax
mov rax, qword [rbp + 0x3e8]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0x3f0]
mov qword [rbp + 0x2d0], rax
lea rcx, [rbp + 0x3e0]
sub rsp, 0x20
call fcn.14005fcd8
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x2c0]
mov qword [rcx + 0x38], rdx
mov rdx, qword [rbp + 0x2c8]
mov qword [rcx + 0x40], rdx
mov rdx, qword [rbp + 0x2d0]
mov qword [rcx + 0x48], rdx
mov al, byte [rax]
mov byte [rbp + 0x2e], al
mov rax, qword [rbp + 0xd8]
mov cl, byte [rbp + 0x2e]
mov byte [rbp + 0x16], cl
mov byte [rax], 0
lea rcx, [rbp + 0x2e0]
sub rsp, 0x20
call fcn.14005fcf0
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x140164dbf
mov al, byte [rbp + 0x16]
mov rdx, qword [rbp + 0xd8]
mov cl, 0x8a
xor cl, 0x8a
mov byte [rdx], al
cmp al, cl
mov byte [rbp + 0x17], al
je 0x140164dcd
mov al, byte [rbp + 0x17]
mov byte [rbp + 0xff], al
jmp 0x140165adf
mov rcx, qword [rbp + 0x60]
mov word [rcx], 0x17b
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
mov rcx, qword [rbp + 0x90]
mov rax, qword [rbp + 8]
mov rdx, qword [rbp + 0xe8]
mov r8, qword [rdx]
mov qword [rbp + 0x230], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x238], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x220], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x228], rax
lea rdx, [rbp + 0x230]
lea r8, [rbp + 0x220]
sub rsp, 0x20
call fcn.14013b840
mov rdx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rax + 0x50], r8
mov r8, qword [rdx + 8]
mov qword [rax + 0x58], r8
mov rdx, qword [rdx + 0x10]
mov qword [rax + 0x60], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
mov word [rbp + 0x3c6], 0x865
lea rcx, [rbp + 0x3c6]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp], rcx
mov cl, byte [rax]
mov dl, 0xea
xor dl, 0xea
mov al, 1
cmp cl, dl
mov byte [rbp + 0xff], al
jne 0x140165adf
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp]
mov r8, qword [rbp + 0xe8]
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov r8, qword [rax]
mov qword [rbp + 0x210], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x218], rax
lea r8, [rbp + 0x210]
sub rsp, 0x20
call fcn.14013b840
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rcx + 0x68], r8
mov r8, qword [rdx + 8]
mov qword [rcx + 0x70], r8
mov rdx, qword [rdx + 0x10]
mov qword [rcx + 0x78], rdx
mov cl, byte [rax]
mov dl, 0xdc
xor dl, 0xdc
mov al, 1
cmp cl, dl
mov byte [rbp + 0xff], al
jne 0x140165adf
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x3b0], rax
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x3b8], rax
lea rcx, [rbp + 0x410]
sub rsp, 0x20
call fcn.14000fb15
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xb0]
add rsp, 0x20
mov rdx, qword [rbp + 0x3b0]
mov qword [rax + 0x10], rdx
mov rdx, qword [rbp + 0x3b8]
mov qword [rax + 0x18], rdx
mov edx, 0x18
sub rsp, 0x20
call fcn.140165cb0
add rsp, 0x20
mov word [rbp + 0x20e], 0x9a3
lea rcx, [rbp + 0x20e]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x10], rcx
mov cl, byte [rax]
mov dl, 0xf8
xor dl, 0xf8
mov al, 1
cmp cl, dl
mov byte [rbp - 1], al
jne 0x1401654f7
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp + 0xe8]
mov r8, qword [rdx]
mov qword [rbp + 0x1e0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x1e8], rdx
mov rdx, qword [rax]
mov qword [rbp + 0x1d0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d8], rax
lea rdx, [rbp + 0x1e0]
lea r8, [rbp + 0x1d0]
sub rsp, 0x20
call fcn.14013b840
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 1], al
jne 0x1401654f7
mov rax, qword [rbp + 0xb0]
cmp byte [rax + 0x10], 0
jne 0x14016544b
mov ecx, dword [0x1401e16e8]
or ecx, dword [0x1401e16ec]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xb20fa217
add eax, ecx
mov ecx, 0xf6ec45e2
xor ecx, 0xf6ec45e2
sub ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x2bd20526
mov r8d, 0x9144835c
xor r8d, 0xba96867a
mov eax, 0x1a362c00
xor eax, 0xe5c9d3ff
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x2bd20526
or ecx, 0x2bd20526
imul ecx, edx
add ecx, eax
mov edx, 0x8fb38f6c
xor edx, 0xc5b58845
mov eax, 0xfc2f9b8f
xor eax, 0x3d06470
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xb44e705
jae 0x140165c70
mov eax, dword [0x1401e16f0]
and eax, dword [0x1401e16f4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xfd23a04d
add ecx, eax
mov eax, 0x645d6643
xor eax, 0x645d6643
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xdce5e35f
add ecx, eax
mov eax, 0xfe3a95ca
xor eax, 0xfe3a95ca
sub eax, ecx
mov ecx, eax
and ecx, 0x8b459f6e
xor ecx, 0xffffffff
add eax, 0x8b459f6e
mov edx, 0xd0b0aea4
xor edx, 0xd0b0aea5
add eax, edx
add eax, ecx
mov dword [rbp - 0x24], eax
mov word [rbp + 0x1ce], 0x8ff
lea rcx, [rbp + 0x1ce]
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], rdx
mov cl, byte [rcx]
mov dl, 0x43
xor dl, 0x43
cmp cl, dl
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x2ab53a36
jb 0x140165c70
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1401651c8
jmp 0x1401653be
mov r8, qword [rbp + 0xb8]
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x1a0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x1a8], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x1b0]
lea rdx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe4
xor cl, 0xe4
cmp al, cl
jne 0x1401653be
mov ecx, dword [0x1401e16f8]
mov edx, dword [0x1401e16fc]
xor edx, 0xc97c70e7
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
xor eax, eax
sub eax, 0x988e8637
sub ecx, eax
or ecx, ecx
mov eax, 0xad114eb2
xor eax, 0x52eeb14d
xor ecx, eax
mov eax, 0x3c7fe05b
xor eax, 0x53af1efc
mov edx, 0xcf88ec3f
xor edx, 0x307713c0
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x6fd0fea7
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x8078d09b
xor edx, 0x7f872f64
xor eax, edx
and eax, 0xe7a03ce3
xor eax, 0xffffffff
mov edx, 0xd119670e
xor edx, 0x36b95bed
mov r8d, 0xe6e693b8
xor r8d, 0x19196c47
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xe7a03ce3
or edx, r8d
and ecx, edx
mov edx, 0xf56202e
xor edx, 0xf0a9dfd1
xor ecx, edx
and eax, ecx
mov ecx, 0xea9a6fae
xor ecx, 0x15659051
xor eax, ecx
mov ecx, 0xc50c9bdb
xor ecx, 0x44b80c0
cmp eax, ecx
jb 0x140165c79
mov rcx, qword [rbp + 0xb0]
mov eax, dword [0x1401e1700]
xor eax, 0x927f1926
mov edx, dword [0x1401e1704]
xor edx, 0xd98eb275
sub eax, edx
imul eax, eax, 0x5fddef2c
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x38b3f567
add edx, eax
xor eax, eax
sub eax, edx
or eax, 0xec314d5f
mov dword [rbp - 0x2c], eax
mov eax, 0xd7ff50e2
xor eax, 0x2aeb87c6
mov dword [rbp - 0x30], eax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x188], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x190], rax
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x198], rax
lea rdx, [rbp + 0x188]
sub rsp, 0x20
call fcn.14005fec0
mov rdx, qword [rbp + 0xd8]
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x25], dl
cmp eax, ecx
je 0x140165306
mov al, byte [rbp - 0x25]
test al, 1
jne 0x14016544b
jmp 0x1401653be
mov eax, dword [0x1401e1708]
imul eax, dword [0x1401e170c]
imul eax, eax, 0xf51af064
mov ecx, 0xe5cd9234
xor ecx, 0xdad2c296
xor edx, edx
div ecx
mov ecx, 0x19d80fbf
xor ecx, 0x391715f0
imul eax, ecx
cmp eax, 0x83f91649
ja 0x140165c82
mov ecx, dword [0x1401e1710]
mov edx, dword [0x1401e1714]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x4cb20c5e
xor edx, 0xb34df3a1
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xefa66adf
xor edx, edx
div ecx
xor eax, 0x3edae4a3
or eax, 0x1dcfe8a5
cmp eax, 0xcda16e58
je 0x1401653f9
mov al, 1
mov byte [rbp - 1], al
jmp 0x1401654f7
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rcx]
mov qword [rbp + 0x3c8], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x3d0], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x3d8], rax
sub rsp, 0x20
call fcn.14005fcd8
add rsp, 0x20
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x1f0], rax
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x3d8]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x3c8]
sub rsp, 0x20
call fcn.14005fcd8
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x1f0]
mov qword [rcx + 0x80], rdx
mov rdx, qword [rbp + 0x1f8]
mov qword [rcx + 0x88], rdx
mov rdx, qword [rbp + 0x200]
mov qword [rcx + 0x90], rdx
mov al, byte [rax]
mov byte [rbp - 1], al
mov al, byte [rbp - 1]
mov byte [rbp - 0x31], al
mov eax, dword [0x1401e1718]
mov r8d, dword [0x1401e171c]
xor r8d, 0x77fe46be
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
mov ecx, 0xcb774385
xor ecx, 0xa3cc7d5d
xor edx, edx
div ecx
mov ecx, 0x9ac462e8
xor ecx, 0x205f6af0
or eax, ecx
xor eax, 0x421c3858
cmp eax, 0xce7a090b
je 0x140165c8b
mov rcx, qword [rbp + 0xb0]
mov eax, dword [0x1401e1720]
xor eax, 0xd02bead2
imul eax, dword [0x1401e1724]
mov r8d, 0xae6ef56b
xor r8d, 0x64d73e9a
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0xd8]
mov r10d, 0xffffffff
xor r10d, 0x6c6021cc
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0x6c6021cc
or edx, 0x6c6021cc
imul edx, r9d
add edx, r8d
add edx, 0x8457fad1
mov dword [rbp - 0x38], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14005fcf0
mov rcx, qword [rbp + 0xd8]
mov eax, dword [rbp - 0x38]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x32], cl
cmp eax, 0xa93c443b
jae 0x140165c8b
mov cl, byte [rbp - 0x32]
mov al, 1
test cl, 1
mov byte [rbp - 0x39], al
jne 0x14016561c
jmp 0x140165633
mov al, byte [rbp - 0x31]
mov rcx, qword [rbp + 0xd8]
mov byte [rcx], al
cmp al, 0
mov byte [rbp - 0x39], al
je 0x140165641
mov al, byte [rbp - 0x39]
mov byte [rbp + 0xff], al
jmp 0x140165adf
mov eax, dword [0x1401e1728]
xor edx, edx
div dword [0x1401e172c]
mov ecx, 0xdd34d6ef
xor ecx, 0x32c930c0
mov edx, eax
xor edx, ecx
mov ecx, 0x2011da9f
xor ecx, 0xdfee2560
xor edx, ecx
mov ecx, 0x9474454d
xor ecx, 0x7b89a362
and ecx, edx
shl ecx, 1
sub ecx, 0xeffde62f
sub eax, ecx
mov ecx, eax
xor ecx, 0xac6b1ec7
mov edx, 0xffffffff
xor edx, 0xac6b1ec7
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0x6ecff8f0
cmp eax, 0x5639960f
ja 0x140165c94
mov eax, dword [0x1401e1730]
mov edx, dword [0x1401e1734]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x2e5cc994
xor ecx, 0x2e5cc994
or eax, ecx
sub eax, 0x1a803701
imul eax, eax, 0xefe667a8
mov dword [rbp - 0x4c], eax
mov word [rbp + 0x3ae], 0x93d
lea rcx, [rbp + 0x3ae]
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x4c]
mov qword [rbp - 0x48], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x3a], cl
cmp eax, 0x60dc8b37
ja 0x140165c94
mov cl, byte [rbp - 0x3a]
mov al, 1
test cl, 1
mov byte [rbp + 0xff], al
jne 0x140165744
jmp 0x140165adf
mov r8, qword [rbp + 0xc8]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x160], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x168], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x170]
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x170]
mov qword [rax + 0x98], rdx
mov rdx, qword [rbp + 0x178]
mov qword [rax + 0xa0], rdx
mov rdx, qword [rbp + 0x180]
mov qword [rax + 0xa8], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
mov eax, dword [0x1401e1738]
mov edx, dword [0x1401e173c]
xor edx, 0xa97b4abf
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
and ecx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x56c57e4c
xor edx, 0xa93a81b3
xor ecx, edx
mov edx, 0xf745ac54
xor edx, 0x8ba53ab
xor eax, edx
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf21c94b6
xor ecx, 0xc65c59e5
mov edx, 0xe4197ed3
xor edx, 0xd059b380
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x1e9b92a
xor edx, 0x46d1f149
and edx, ecx
mov r8d, 0x376846a6
xor r8d, 0x70500ec5
mov ecx, 0xf0ddd397
xor ecx, 0xf222c68
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xcfea874c
xor r8d, 0x88d2cf2f
mov edx, eax
and edx, r8d
or eax, 0x47384863
imul eax, edx
add eax, ecx
or eax, 0x4dca1f87
cmp eax, 0x1a87fa0e
jb 0x140165c9d
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x1401e1740]
xor eax, 0x82edd86e
xor edx, edx
div dword [0x1401e1744]
and eax, eax
xor eax, 0xffffffff
mov edx, 0xf142818d
and edx, 0xf142818d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
imul eax, eax, 0xe0037fe9
mov r8d, 0x22888ef1
xor edx, edx
div r8d
mov dword [rbp - 0x5c], eax
mov ax, 0x3a77
xor ax, 0x3fb9
mov word [rcx], ax
sub rsp, 0x20
call fcn.140065650
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x5c]
mov qword [rbp - 0x58], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x4d], cl
cmp eax, 0x62b96ac6
je 0x1401658ad
mov cl, byte [rbp - 0x4d]
mov al, 1
test cl, 1
mov byte [rbp + 0xff], al
jne 0x140165946
jmp 0x140165adf
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rcx]
mov qword [rbp + 0x138], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x140], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x128], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x148]
lea rdx, [rbp + 0x138]
lea r8, [rbp + 0x128]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x148]
mov qword [rax + 0xb0], rdx
mov rdx, qword [rbp + 0x150]
mov qword [rax + 0xb8], rdx
mov rdx, qword [rbp + 0x158]
mov qword [rax + 0xc0], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
mov word [rbp + 0x3ac], 0xb99
lea rcx, [rbp + 0x3ac]
sub rsp, 0x20
call fcn.140065650
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x68], rcx
mov cl, byte [rax]
mov dl, 0xe4
xor dl, 0xe4
mov al, 1
cmp cl, dl
mov byte [rbp + 0xff], al
jne 0x140165adf
mov rdx, qword [rbp + 0xd0]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xe8]
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 + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x110]
lea r8, [rbp + 0x100]
sub rsp, 0x20
call fcn.14013b840
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov rdx, qword [rbp + 0x110]
mov qword [rax + 0xc8], rdx
mov rdx, qword [rbp + 0x118]
mov qword [rax + 0xd0], rdx
mov rdx, qword [rbp + 0x120]
mov qword [rax + 0xd8], rdx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xff], al
jne 0x140165adf
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.140028920
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0xff], al
mov al, byte [rbp + 0xff]
mov byte [rbp - 0x69], al
mov eax, dword [0x1401e1748]
sub eax, dword [0x1401e174c]
mov ecx, 0x742f30f1
xor ecx, 0x742f30f1
mov edx, 0x1d7b957d
xor edx, 0x7a5d0476
sub ecx, edx
add eax, ecx
or eax, 0x8cada0ce
and eax, 0x1b9ef51
cmp eax, 0x109df391
jae 0x140165ca6
mov eax, dword [0x1401e1750]
mov ecx, 0xef2320d4
xor ecx, 0x8ea10f5c
xor eax, ecx
sub eax, dword [0x1401e1754]
mov ecx, 0x40830b9
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0x1857e9f7
xor eax, 0xffffffff
or ecx, 0x1857e9f7
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x19884e9a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0xd8]
mov dword [rbp - 0x70], ecx
mov cl, 0x1e
xor cl, 0x1e
mov byte [rax], cl
lea rcx, [rbp + 0x3c8]
sub rsp, 0x20
call fcn.14005fcf0
mov rcx, qword [rbp + 0xd8]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xd4
xor dl, 0xd4
cmp cl, dl
sete cl
mov byte [rbp - 0x6a], cl
cmp eax, 0x417b69a0
je 0x140165ca6
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x140165bc6
jmp 0x140165c5e
lea rcx, [rbp + 0x3e0]
sub rsp, 0x20
call fcn.14005fcf0
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140165c5e
lea rcx, [rbp + 0x3f8]
sub rsp, 0x20
call fcn.14005fcf0
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140165c5e
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x140165c52
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140165c52
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov cl, byte [rbp - 0x69]
xchg edi, eax
mov byte [rax], cl
lea rsp, [rbp + 0x420]
pop rbp
ret
xor eax, 0xe9324aed
jns 0x140165c5b
invalid
out dx, eax
test ecx, ecx
push rbp
jmp 0x140165110
invalid
mov byte [rbp - 0x5b], dh
invalid
ret
invalid
pop rdi
retf 0x4b12
test al, 0x8a
mov al, 0x43
jmp 0x140165b23