Function at 0x1401106a0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3e0
mov qword [rsp + 0x368], r9
mov qword [rsp + 0x340], r8
mov qword [rsp + 0x348], rdx
mov qword [rsp + 0x350], rcx
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x370], rax
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x360], rax
call fcn.1401122f3
mov r9, qword [rsp + 0x368]
mov rcx, rax
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x378], rcx
mov dword [r9 + 0x400], 1
cmp rax, 5
jge 0x140110989
mov rcx, qword [rsp + 0x370]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x330], rax
xor eax, eax
mov qword [rsp + 0x338], rax
mov rcx, qword [rsp + 0x330]
mov rax, qword [rsp + 0x338]
mov qword [rsp + 0x328], rax
cmp rax, rcx
je 0x1401107ee
mov rax, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x360]
mov r9, qword [rsp + 0x358]
mov r8, rax
add r8, r9
movzx edx, byte [rdx + r8]
mov r8d, dword [rcx + rdx*4]
mov r9d, r8d
and r9d, 1
shl r9d, 1
mov r10d, 0x6f8df462
xor r10d, 0x6f8df463
xor r8d, r10d
add r8d, r9d
mov dword [rcx + rdx*4], r8d
movabs rcx, 0xdf6b6ead27f79470
movabs rdx, 0xdf6b6ead27f79471
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x338], rax
jmp 0x140110755
mov rax, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x368]
mov r8, qword [rdx + 0x4f0]
xor r9d, r9d
sub r9, rax
sub r8, r9
mov qword [rdx + 0x4f0], r8
add rcx, 8
mov qword [rsp + 0x318], rcx
mov qword [rsp + 0x320], rax
mov rax, qword [rsp + 0x320]
mov qword [rsp + 0x310], rax
cmp rax, 0
jle 0x14011093a
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x350]
mov rcx, qword [rcx]
mov qword [rsp + 0x300], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x308], rax
jg 0x1401108b6
mov rcx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x300]
mov rax, r8
shl rax, 1
mov edx, 2
cmp r8, 0
cmovg rdx, rax
call fcn.140022e70
mov rax, qword [rsp + 0x348]
mov rax, qword [rax]
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x348]
mov r9, qword [rsp + 0x318]
mov r8, qword [rsp + 0x308]
mov rdx, rax
sub rdx, 0x7fff
mov edx, 0x7fff
cmovl rdx, rax
mov r10w, dx
mov r9, qword [r9]
mov word [r9 + r8*2 + 8], r10w
xor r9d, r9d
sub r9, 1
sub r8, r9
mov qword [rcx], r8
mov rcx, rax
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs r8, 0xb91d463443ab9386
movabs r9, 0x46e2b9cbbc546c79
xor r8, r9
xor rdx, r8
and rax, rdx
sub rax, rcx
mov qword [rsp + 0x320], rax
jmp 0x140110831
mov qword [rsp + 0x3d0], 0
mov qword [rsp + 0x3d8], 0
lea rcx, [rsp + 0x3d0]
call fcn.14002329d
mov qword [rsp + 0x3c0], 0
mov qword [rsp + 0x3c8], 0
lea rcx, [rsp + 0x3c0]
call fcn.14002329d
jmp 0x14011229c
lea rcx, [rsp + 0x3b0]
mov edx, 0x20000
call fcn.1400232cd
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x2a8], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x2b0], rax
lea rcx, [rsp + 0x3a0]
mov edx, 0x8000
call fcn.1400232cd
mov r9, qword [rsp + 0x370]
mov r8, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x368]
mov rcx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x358]
mov r10, qword [rsp + 0x3a0]
mov qword [rsp + 0x2b8], r10
mov r10, qword [rsp + 0x3a8]
mov qword [rsp + 0x2c0], r10
add r9, rax
mov qword [rsp + 0x2c8], r9
mov r9, r8
add r9, 0x18
mov qword [rsp + 0x2d0], r9
add r8, 0x10
mov qword [rsp + 0x2d8], r8
add rdx, 0x4f0
mov qword [rsp + 0x2e0], rdx
add rcx, 8
mov qword [rsp + 0x2e8], rcx
xor ecx, ecx
mov qword [rsp + 0x2f0], rcx
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x2f8]
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x2a0], rdx
cmp rax, rcx
jle 0x140112242
mov rax, qword [rsp + 0x2c8]
mov rcx, qword [rsp + 0x298]
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 4
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
cmp rax, rcx
jg 0x140110ea7
mov rax, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x2c8]
sub rcx, rax
xor r8d, r8d
sub r8, rcx
xor ecx, ecx
sub rcx, rdx
add r8, rcx
xor ecx, ecx
sub rcx, r8
mov qword [rsp + 0x278], rcx
xor rdx, 0xffffffffffffffff
add rax, rdx
add rax, 1
mov qword [rsp + 0x280], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x288], rax
xor eax, eax
mov qword [rsp + 0x290], rax
mov rcx, qword [rsp + 0x288]
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x270], rax
cmp rax, rcx
je 0x140110ba5
mov rax, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x360]
mov r8, qword [rsp + 0x280]
add r8, rax
movzx edx, byte [rdx + r8]
mov r9d, dword [rcx + rdx*4]
mov r8d, r9d
and r8d, 1
mov r10d, 0x79b64254
xor r10d, 0x79b64255
or r9d, r10d
add r8d, r9d
mov dword [rcx + rdx*4], r8d
add rax, 1
mov qword [rsp + 0x290], rax
jmp 0x140110b29
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x2e0]
mov rdx, rax
add rdx, qword [rcx]
mov qword [rcx], rdx
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x260], rax
mov ecx, dword [0x1401df5c0]
mov eax, dword [0x1401df5c4]
xor eax, 0xfc4eb514
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xcf68d355
xor edx, 0x30972caa
xor ecx, edx
and eax, ecx
mov ecx, 0x7df6680b
or ecx, 0x7df6680b
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x8698f0c7
xor edx, 0x79670f38
xor ecx, edx
and eax, ecx
mov ecx, 0xff1e716e
xor edx, edx
div ecx
mov ecx, 0x48b833ec
xor edx, edx
div ecx
cmp eax, 0xb3a8a983
ja 0x1401122ab
mov rcx, qword [rsp + 0x260]
mov r8d, dword [0x1401df5c8]
mov eax, dword [0x1401df5cc]
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0xa3309e07
xor r9d, 0x5ccf61f8
xor r8d, r9d
and edx, r8d
or eax, eax
xor eax, 0xffffffff
or edx, eax
mov eax, 0xb6ab3000
xor eax, 0x4954cfff
xor edx, eax
xor edx, 0xed5b47d0
or edx, 0xa8f7d6cb
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x101a3d04
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0xa93c443b
xor r8d, 0xb926793f
mov r9d, 0x1b0f1473
xor r9d, 0xe4f0eb8c
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
cmp rcx, 0
setg cl
mov byte [rsp + 0x25f], cl
cmp eax, 0x4f87ed78
jb 0x1401122ab
mov al, byte [rsp + 0x25f]
test al, 1
jne 0x140110cf4
jmp 0x140112242
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x350]
mov rcx, qword [rcx]
mov qword [rsp + 0x248], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x250], rax
jg 0x140110d5f
mov rcx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x248]
mov rax, r8
shl rax, 1
mov edx, 2
cmp r8, 0
cmovg rdx, rax
call fcn.140022e70
mov rax, qword [rsp + 0x348]
mov rax, qword [rax]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x240], rax
mov eax, dword [0x1401df5d0]
mov edx, dword [str.rD_]
xor edx, 0x1c6c8e4a
mov r8d, eax
and r8d, edx
mov ecx, 0x77de2199
xor ecx, 0x77de219b
imul ecx, r8d
add eax, edx
sub eax, ecx
add eax, 0x7c81ac8b
xor eax, 0x40a4bef5
mov ecx, eax
xor ecx, 0x44fe2a8e
mov edx, 0x2e64fbc1
xor edx, 0xd19b043e
xor ecx, edx
or eax, 0x44fe2a8e
and eax, ecx
cmp eax, 0xc2d918ba
jae 0x1401122b4
mov rcx, qword [rsp + 0x260]
mov r8, qword [rsp + 0x348]
mov r9, qword [rsp + 0x240]
mov r10, qword [rsp + 0x2e8]
mov eax, dword [0x1401df5d8]
xor edx, edx
div dword [0x1401df5dc]
mov edx, 0xa42613ae
xor edx, 0xba13cceb
and edx, eax
xor edx, 0xffffffff
add eax, 0x1e35df45
add eax, 1
add eax, edx
sub eax, 0x143c6cce
mov r11d, 0xa2421be6
xor r11d, 0x490c3851
mov edx, eax
xor edx, r11d
mov r11d, 0x109df391
xor r11d, 0xef620c6e
xor edx, r11d
and edx, 0xeb4e23b7
shl edx, 1
mov r11d, 0x80e30334
xor r11d, 0x6bad2083
sub edx, r11d
sub eax, edx
mov rdx, rcx
sub rdx, 0x7fff
mov edx, 0x7fff
cmovl rdx, rcx
mov r11w, dx
mov r10, qword [r10]
mov word [r10 + r9*2 + 8], r11w
add r9, 1
mov qword [r8], r9
sub rcx, rdx
mov qword [rsp + 0x238], rcx
cmp eax, 0x80484364
jbe 0x140110dcb
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x268], rax
jmp 0x140110bc6
mov rdx, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x360]
mov r8, qword [rsp + 0x358]
movabs r9, 0x1392a4b2a570bda1
mov rax, rdx
sub rax, r9
sub rax, r8
movabs r8, 0x1392a4b2a570bda1
add rax, r8
mov qword [rsp + 0x228], rax
mov r8w, 0xd256
xor r8w, 0xada9
and ax, r8w
mov word [rsp + 0x232], ax
call fcn.14011230e
mov ecx, eax
mov rax, qword [rsp + 0x378]
mov dword [rsp + 0x234], ecx
cmp byte [rax], 0
jne 0x140112242
mov rax, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x2c0]
mov r10, qword [rsp + 0x2b0]
mov si, word [rsp + 0x232]
mov r9, qword [rsp + 0x228]
mov r11d, dword [rsp + 0x234]
mov ebx, 0xffffffff
xor ebx, 0x1e35a7bd
mov edi, r11d
and edi, ebx
mov ecx, r11d
or ecx, ebx
xor ecx, 0xffffffff
imul ecx, edi
mov edi, r11d
and edi, 0x1e35a7bd
or r11d, 0x1e35a7bd
imul r11d, edi
add r11d, ecx
mov ecx, 0x7de81632
xor ecx, 0x7de8163d
shr r11d, cl
mov rcx, qword [rsp + 0x2c8]
mov r11d, r11d
mov di, word [r10 + r11*2 + 8]
movabs rbx, 0xd6d06af87b8c3327
movabs r14, 0xd6d06af87b8c4cd8
xor rbx, r14
and r9, rbx
mov word [rdx + r9*2 + 8], di
mov word [r10 + r11*2 + 8], si
mov dx, word [rdx + r9*2 + 8]
movabs r9, 0x495f0f9c4349f6b0
movabs r10, 0x495f0f9c4349f6b0
xor r9, r10
sub r9, r8
xor r8d, r8d
sub r8, 0x102
add r9, r8
xor r8d, r8d
sub r8, r9
mov r9, rcx
sub r9, r8
cmovl r8, rcx
mov qword [rsp + 0x1f0], r8
mov rcx, qword [rax]
movabs r9, 0xd2a73ce905d55e9f
movabs rax, 0x2d58c316fa2aa167
xor r9, rax
mov rax, r8
and rax, r9
or r8, 0xfffffffffffffff8
add rax, r8
mov qword [rsp + 0x1f8], rax
xor eax, eax
mov word [rsp + 0x206], dx
mov qword [rsp + 0x208], rcx
mov rcx, rax
mov qword [rsp + 0x210], rcx
mov rcx, rax
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], rax
mov ax, word [rsp + 0x206]
mov rcx, qword [rsp + 0x208]
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
mov r9, qword [rsp + 0x220]
mov qword [rsp + 0x1c8], r9
mov qword [rsp + 0x1d0], r8
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1e0], rcx
mov word [rsp + 0x1ee], ax
mov eax, dword [0x1401df5e0]
mov r8d, dword [0x1401df5e4]
xor r8d, 0xa3d17556
mov edx, 0x65fae3c8
xor edx, 0x9a051c37
mov ecx, eax
xor ecx, edx
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, 0x53155528
xor ecx, 0x53155528
mov edx, 0x8f4d68f7
xor edx, 0x40264495
sub ecx, edx
add eax, ecx
mov ecx, 0xd69b9f55
xor edx, edx
div ecx
or eax, 0x17c8262a
cmp eax, 0xf1d4d8f9
je 0x1401122bd
mov r8w, word [rsp + 0x1ee]
mov rdx, qword [rsp + 0x1e0]
mov eax, dword [0x1401df5e8]
mov ecx, eax
xor ecx, 0xb245a4c4
mov r9d, dword [0x1401df5ec]
xor eax, 0x4dba5b3b
and eax, r9d
not eax
not r9d
and ecx, r9d
not ecx
and eax, ecx
not eax
add eax, 0xd418168d
mov ecx, 0xd136043c
test rdx, rdx
setg dl
test r8w, r8w
setne r8b
and dl, r8b
mov byte [rsp + 0x1c7], dl
cmp eax, ecx
jae 0x140111137
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1c8]
mov dl, byte [rsp + 0x1c7]
test dl, 1
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jne 0x1401111d2
jmp 0x140111876
mov eax, dword [str.Bq_nL]
add eax, dword [0x1401df5f4]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfa7b6c50
mov r8d, 0xaf27f74e
xor r8d, 0x555c9b1e
mov ecx, 0x117230ed
xor ecx, 0xee8dcf12
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfa7b6c50
or eax, 0xfa7b6c50
imul eax, edx
add eax, ecx
imul eax, eax, 0x61e84fe1
imul eax, eax, 0x851dbda4
mov ecx, 0x60cb093c
xor ecx, 0xe0ddbaaa
cmp eax, ecx
jae 0x1401122c6
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1e0]
mov r10w, word [rsp + 0x1ee]
mov ax, word [rsp + 0x232]
mov r8w, ax
sub r8w, r10w
mov r9w, r8w
mov r8d, r9d
xor r8d, 0xffff8000
sub ax, r10w
mov r10d, dword [0x1401df5f8]
mov eax, dword [0x1401df5fc]
cmovb r9d, r8d
xor r10d, 0xed39f4ac
sub r10d, eax
mov eax, r10d
and r10d, 0x68623c68
add r10d, r10d
neg r10d
mov r8d, r10d
lea eax, [rax + r8 + 0x68623c68]
mov r8d, eax
not r8d
mov r10d, eax
and r10d, 0x7a9af38d
and r8d, 0x85650c72
imul r8d, r10d
mov r10d, eax
and r10d, 0x85650c72
or eax, 0x85650c72
imul eax, r10d
add eax, r8d
shr eax, 3
imul rax, rax, 0x23f9677b
shr rax, 0x3a
dec rcx
mov qword [rsp + 0x198], rcx
mov cx, r9w
mov r8d, r9d
movzx r8d, r8w
mov qword [rsp + 0x1a0], r8
test cx, cx
sete cl
sub rdx, r8
seta dl
or cl, dl
mov byte [rsp + 0x1af], cl
cmp eax, 0x304acc52
je 0x14011123d
mov rax, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x1c8]
mov dl, byte [rsp + 0x1af]
test dl, 1
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jne 0x140111876
jmp 0x140111360
mov rax, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x1a0]
sub rax, rcx
mov qword [rsp + 0x178], rax
call fcn.1401122f3
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x180], rax
xor eax, eax
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rcx
cmp rcx, rdx
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jg 0x14011164f
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x360]
call fcn.1401123fd
mov rcx, qword [rsp + 0x180]
mov rdx, rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x148], rdx
mov cl, byte [rcx]
mov dl, 0x40
xor dl, 0x40
cmp cl, dl
mov qword [rsp + 0x150], rax
jne 0x1401116f0
mov rcx, qword [rsp + 0x360]
mov rax, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x158]
movabs r8, 0xf5f1525068767a2f
sub rdx, r8
add rdx, rax
movabs rax, 0xf5f1525068767a2f
add rdx, rax
call fcn.1401123fd
mov rdx, qword [rsp + 0x148]
mov r8, rax
xor r8, rdx
xor r8, 0xffffffffffffffff
mov rcx, rdx
and rcx, r8
shl rcx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x140], rax
cmp rax, 0
je 0x14011160c
mov eax, dword [0x1401df600]
mov edx, dword [0x1401df604]
xor ecx, ecx
sub ecx, edx
add eax, ecx
imul r8d, eax, 0x42ac65f1
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x293c343f
mov edx, 0x4f88a617
xor edx, 0x66b49228
mov ecx, 0x125ce2e5
xor ecx, 0xeda31d1a
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x5ed65b7f
and ecx, 0x293c343f
and edx, 0x5ed65b7f
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0x30b6992a
mov ecx, 0x5a8f7ef1
xor ecx, 0x2f5eb53b
cmp eax, ecx
je 0x1401122cf
mov r9, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x140]
mov edi, dword [0x1401df608]
add edi, dword [0x1401df60c]
add edi, 0x991c673e
mov edx, 0x374273bc
xor edx, 0xc8bd8c43
mov eax, edi
xor eax, edx
mov r8d, 0xffffffff
xor r8d, 0x140588e8
mov r10d, 0xffffffff
xor r10d, 0xe0b7d12c
mov edx, eax
and edx, 0xe0b7d12c
and edi, r10d
mov r11d, r8d
and r11d, 0xe0b7d12c
mov esi, r10d
and esi, 0x140588e8
or edx, edi
or r11d, esi
xor edx, r11d
or eax, r8d
mov r8d, 0xe27817d0
xor r8d, 0x1d87e82f
xor eax, r8d
mov r8d, 0xe23ea603
xor r8d, 0x289772f
or r8d, r10d
and eax, r8d
or edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x40b17e07
mov r8d, 0xffffffff
xor r8d, 0x40b17e07
and edx, r8d
or eax, edx
tzcnt rcx, rcx
shr rcx, 3
mov r8, r9
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov qword [rsp + 0x138], rcx
cmp eax, 0x9c8b1760
jae 0x14011150d
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x150], rax
jmp 0x1401116f0
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
add rcx, 8
movabs rdx, 0x7219c3b6bed68cd0
movabs r8, 0x7219c3b6bed68cd8
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
jmp 0x1401113a2
mov rdx, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x168]
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rcx
cmp rcx, rdx
mov qword [rsp + 0x150], rax
jge 0x1401116f0
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x360]
mov r9, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x130]
mov cl, byte [rdx + rcx]
mov r8, rax
add r8, r9
cmp cl, byte [rdx + r8]
mov qword [rsp + 0x150], rax
jne 0x1401116f0
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
add rcx, 1
add rax, 1
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
jmp 0x14011164f
mov rax, qword [rsp + 0x378]
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x120], rcx
mov al, byte [rax]
mov cl, 0x57
xor cl, 0x57
cmp al, cl
jne 0x140112242
mov rax, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x198]
mov r8, qword [rsp + 0x120]
cmp rax, r8
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
jae 0x1401117a1
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x340]
mov r9, qword [rdx]
mov rdx, r8
sar rdx, 2
cmp r9, rax
cmovg rdx, r8
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x2d8]
mov r8, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], r8
cmp qword [rdx], rcx
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jle 0x140111876
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x100]
mov r10w, word [rsp + 0x1ee]
mov r9, qword [rsp + 0x2c0]
movzx r11d, r10w
mov r9w, word [r9 + r11*2 + 8]
cmp r10w, r9w
mov word [rsp + 0x206], r9w
mov qword [rsp + 0x208], r8
mov qword [rsp + 0x210], rdx
mov rdx, rax
mov qword [rsp + 0x218], rdx
mov rdx, rcx
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
jne 0x140111070
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov eax, dword [0x1401df610]
xor eax, 0xb9d22a8b
add eax, dword [0x1401df614]
and eax, 0x55d43c73
add eax, 0xba3f24da
mov ecx, 0x488a4a7
xor ecx, 0x2ad3394f
xor edx, edx
div ecx
mov ecx, 0x698029d7
xor ecx, 0x722d0e7e
cmp eax, ecx
je 0x1401122d8
mov rcx, qword [rsp + 0xe8]
mov edx, dword [0x1401df618]
mov r9d, dword [0x1401df61c]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
mov r10d, 0x71f3296e
xor r10d, 0x8e0cd691
xor eax, r10d
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, edx
and eax, 0xd659ccb5
mov r8d, 0xfb7e0d76
xor r8d, 0x481f289
xor eax, r8d
and edx, 0xd659ccb5
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
or eax, 0x188c84d2
mov edx, 0x58a71f0b
xor edx, 0x58a71f0b
mov r8d, 0x73c16361
xor r8d, 0x9480298a
sub edx, r8d
sub eax, edx
cmp rcx, 4
setg cl
mov byte [rsp + 0xdf], cl
cmp eax, 0x8f37cec5
je 0x1401118d3
mov al, byte [rsp + 0xdf]
test al, 1
jne 0x140111991
jmp 0x1401121d5
mov rax, qword [rsp + 0x2a0]
cmp rax, 0
mov qword [rsp + 0xd0], rax
jle 0x140111d9d
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0x298]
sub rax, rcx
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rax
cmp rax, rcx
je 0x140111ae5
mov eax, dword [0x1401df620]
mov ecx, dword [0x1401df624]
xor ecx, 0xc9f9ef52
and eax, ecx
mov ecx, 0xed9fedfb
xor ecx, 0x71e03bfe
xor edx, edx
div ecx
mov ecx, 0xf6e61f36
xor edx, edx
div ecx
or eax, 0xed02f511
mov ecx, 0x8d39810c
xor ecx, 0x5d3da979
cmp eax, ecx
jbe 0x1401122e1
mov rcx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x360]
mov r9, qword [rsp + 0xc0]
mov eax, dword [0x1401df628]
add eax, dword [0x1401df62c]
mov edx, eax
and edx, 0x7eb8c1fb
mov r10d, 0xa8e8e083
xor r10d, 0x57171f7c
xor edx, r10d
add eax, 0x7eb8c1fb
mov r10d, 0x4c76a616
xor r10d, 0x4c76a617
add eax, r10d
add eax, edx
xor edx, edx
sub edx, 0xc4781d86
sub eax, edx
mov r10d, 0x788066a
xor edx, edx
div r10d
mov rdx, qword [rsp + 0x368]
add r9, rcx
movzx r8d, byte [r8 + r9]
mov r9d, dword [rdx + r8*4]
add r9d, 1
mov dword [rdx + r8*4], r9d
add rcx, 1
mov qword [rsp + 0xb0], rcx
cmp eax, 0x637c5dd6
ja 0x140111a35
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xc8], rax
jmp 0x1401119d0
mov rax, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x2e0]
mov rdx, rax
add rdx, qword [rcx]
mov qword [rcx], rdx
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xa0], rcx
movabs rdx, 0x6ee291aa325aaf62
movabs rax, 0x6ee291aa325aaf62
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0xd0], rax
jle 0x140111d9d
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x350]
mov rcx, qword [rcx]
mov qword [rsp + 0x90], rcx
mov rax, qword [rax]
cmp rcx, rax
mov qword [rsp + 0x98], rax
jg 0x140111bc1
mov rcx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x90]
mov rax, r8
shl rax, 1
movabs r9, 0x4214d0aa6b75bcc8
movabs rdx, 0x4214d0aa6b75bcc8
xor r9, rdx
mov edx, 2
cmp r8, r9
cmovg rdx, rax
call fcn.140022e70
mov rax, qword [rsp + 0x348]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x88], rax
mov ecx, dword [0x1401df630]
mov eax, 0xb30c3261
xor eax, 0x282d7cdd
xor ecx, eax
mov edx, dword [0x1401df634]
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov edx, 0x27c9d68
xor edx, 0xfd836297
mov eax, ecx
xor eax, edx
mov r8d, 0x6247068f
xor r8d, 0x9db8f970
mov edx, ecx
xor edx, r8d
or eax, edx
and eax, 0x79cb764
mov edx, 0xf2d8c5c2
xor edx, 0xd273a3d
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x79cb764
mov r8d, 0xffffffff
xor r8d, 0x79cb764
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
imul ecx, eax, 0x1fc90f3
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8c47803d
or eax, edx
and ecx, 0x8c47803d
xor ecx, 0xffffffff
mov edx, 0x9ce328cf
xor edx, 0x631cd730
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x21d9dcc6
ja 0x1401122ea
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x348]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0x2e8]
mov eax, dword [0x1401df638]
xor edx, edx
div dword [0x1401df63c]
mov edx, eax
mov eax, 0x13af1865
xor eax, 0xb95d2844
xor edx, eax
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, 0x90087e89
add eax, edx
mov edx, 0xcea101bf
xor edx, 0xcea101bf
sub edx, eax
mov r11d, 0x92bfb06e
xor r11d, 0xb9f53fa3
mov eax, 0xb478fa52
xor eax, 0x4b8705ad
xor r11d, eax
mov eax, edx
xor eax, r11d
and eax, edx
mov rdx, rcx
sub rdx, 0x7fff
mov edx, 0x7fff
cmovl rdx, rcx
mov r11w, dx
mov r10, qword [r10]
mov word [r10 + r9*2 + 8], r11w
movabs r10, 0x81d0ae7c685772ba
add r9, r10
add r9, 1
movabs r10, 0x1910ec0c995f0bf4
movabs r11, 0x98c04270f108794e
xor r10, r11
sub r9, r10
mov qword [r8], r9
movabs r8, 0x7432565d6ed92ed1
add rcx, r8
sub rcx, rdx
movabs rdx, 0x7432565d6ed92ed1
sub rcx, rdx
mov qword [rsp + 0x80], rcx
cmp eax, 0x46779fef
jae 0x140111c92
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa8], rax
jmp 0x140111b06
mov rcx, qword [rsp + 0x348]
mov rax, qword [rsp + 0x350]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rdx
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx]
movabs rdx, 0xc57d075f4c9021e0
movabs r8, 0xc57d075f4c9021e0
xor rdx, r8
sub rdx, rcx
movabs rcx, 0x30514a4a23e7eb74
movabs r8, 0x30514a4a23e7eb74
xor rcx, r8
movabs r8, 0xdf1e07ad65cbc36f
movabs r9, 0xdf1e07ad65cbc36c
xor r8, r9
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rsp + 0x78], rcx
cmp rax, rcx
jge 0x140111e61
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
movabs rcx, 0xccc666ce4dfae107
movabs r8, 0xccc666ce4dfae106
xor rcx, r8
shl rax, cl
mov rcx, qword [rsp + 0x350]
mov r8, rax
sub r8, rdx
cmovg rdx, rax
call fcn.140022e70
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
movabs r8, 0xbb353ff8853b7b2f
movabs rcx, 0x44cac0077ac484d2
xor r8, rcx
mov rcx, rdx
and rcx, r8
shl rcx, 1
xor rdx, 0xfffffffffffffffd
add rdx, rcx
mov rcx, qword [0x1401eea50]
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x63], cl
mov cx, ax
mov word [rsp + 0x64], cx
mov ax, 0xffff
xor ax, 0xffff
xor edx, edx
sub dx, 1
sub ax, dx
sub cx, ax
call fcn.14010fdbc
mov cx, ax
mov rax, qword [rsp + 0x378]
mov word [rsp + 0x66], cx
cmp byte [rax], 0
jne 0x140112242
mov rax, qword [rsp + 0x348]
mov r9, qword [rsp + 0xe8]
mov r11w, word [rsp + 0x64]
mov rdx, qword [rsp + 0x2e8]
mov r14w, word [rsp + 0x66]
mov cl, byte [rsp + 0x63]
mov r8, qword [rsp + 0x368]
movzx r10d, cl
xor esi, esi
sub rsi, 0x101
sub r10, rsi
mov esi, dword [r8 + r10*4]
add esi, 0x2ad6c8e0
add esi, 1
mov edi, 0x8213276f
xor edi, 0xa8c5ef8f
sub esi, edi
mov dword [r8 + r10*4], esi
movzx r10d, r14w
mov esi, dword [r8 + r10*4 + 0x478]
mov edi, 0xffffffff
xor edi, 1
xor ebx, ebx
sub ebx, 1
sub edi, ebx
sub esi, edi
mov dword [r8 + r10*4 + 0x478], esi
movzx ecx, cl
mov r8w, cx
mov cx, 0x2b75
xor cx, 0x2b7d
shl r8w, cl
mov rcx, qword [rsp + 0x298]
or r14w, r8w
mov r8w, r14w
xor r8w, 0xffff
mov di, 0xffff
xor di, 0x8000
mov si, 0xffff
xor si, 0x1617
mov r10w, r8w
and r10w, 0x1617
and r14w, si
mov bp, 0x730a
xor bp, 0x651d
mov bx, di
and bx, bp
mov bp, si
and bp, 0x8000
or r10w, r14w
or bx, bp
xor r10w, bx
or r8w, di
mov di, 0x463a
xor di, 0xb9c5
xor r8w, di
or si, 0x1617
and r8w, si
or r10w, r8w
mov rdx, qword [rdx]
mov r8, qword [rax]
mov word [rdx + r8*2 + 8], r10w
movabs rsi, 0xc5147854b1bcb005
movabs r10, 0xc5147854b1bcb004
xor rsi, r10
mov r10, r8
add r10, rsi
mov word [rdx + r10*2 + 8], r11w
mov r10w, r9w
mov r11, r8
and r11, 2
movabs r9, 0x11aecf92651006fd
movabs rsi, 0x11aecf92651006ff
xor r9, rsi
imul r11, r9
mov r9, r8
xor r9, 2
add r9, r11
mov word [rdx + r9*2 + 8], r10w
mov rdx, r8
and rdx, 3
or r8, 3
add rdx, r8
mov qword [rax], rdx
mov eax, 1
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
cmp rdx, r8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jae 0x140112209
mov rcx, qword [rsp + 0x2c8]
mov rax, qword [rsp + 0x38]
mov rdx, rax
add rdx, 1
mov qword [rsp + 0x28], rdx
add rax, 5
cmp rax, rcx
jge 0x1401121b8
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x360]
mov ax, dx
xor ax, 0xffff
mov r9w, 0xffff
xor r9w, 0x7fff
mov r8w, 0xffff
xor r8w, 0x7073
or ax, r9w
or r8w, 0x7073
xor ax, 0xffff
and ax, r8w
mov word [rsp + 0x26], ax
call fcn.14011230e
mov r11, qword [rsp + 0x28]
mov r8, qword [rsp + 0x2c0]
mov dx, word [rsp + 0x26]
mov r9d, eax
mov rax, qword [rsp + 0x2b0]
mov r10d, r9d
xor r10d, 0xffffffff
and r10d, 0x1e35a7bd
mov esi, 0x349876a0
xor esi, 0x2aadd11d
mov ecx, 0x133f8e92
xor ecx, 0xecc0716d
xor esi, ecx
mov ecx, r9d
and ecx, esi
imul ecx, r10d
mov esi, 0x43abbb0
xor esi, 0x1a0f1c0d
mov r10d, r9d
and r10d, esi
or r9d, 0x1e35a7bd
imul r9d, r10d
add r9d, ecx
mov ecx, 0xf5551af6
xor ecx, 0xf5551af9
shr r9d, cl
mov ecx, r9d
mov ecx, ecx
mov r10w, word [rax + rcx*2 + 8]
mov rsi, 0xffffffffffffffff
xor rsi, 0x7fff
mov r9, r11
xor r9, rsi
and r9, r11
mov word [r8 + r9*2 + 8], r10w
mov word [rax + rcx*2 + 8], dx
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
add rax, 1
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
jmp 0x140112072
mov rcx, qword [rsp + 0x298]
mov rax, qword [rsp + 0x2a0]
movabs rdx, 0x22a62e83163d786
movabs r8, 0x22a62e83163d787
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
movabs rdx, 0x8ce8361354294f2e
movabs r8, 0x8ce8361354294f2f
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x2f0], rcx
mov qword [rsp + 0x2f8], rax
jmp 0x140110a68
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2b8]
mov qword [rsp + 0x390], rcx
mov qword [rsp + 0x398], rax
lea rcx, [rsp + 0x390]
call fcn.14002329d
mov rcx, qword [rsp + 0x2a8]
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x380], rcx
mov qword [rsp + 0x388], rax
lea rcx, [rsp + 0x380]
call fcn.14002329d
nop
add rsp, 0x3e0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x140110c3a
invalid
mov cl, 0x42
invalid
fcomp qword [rbx + 0x6ee95f0b]
out dx, eax
invalid
jmp qword [rcx + 0x16]
mov dl, bl
jae 0x1401122c6
cmc
invalid
mov dh, 4
mov al, 0x17
jmp 0x140111a35
adc eax, 0xe974e97c
lahf
stc
invalid