Function at 0x14011f5a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xcc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x448], r9
mov qword [rbp + 0x3f8], r8
mov qword [rbp + 0x400], rdx
mov qword [rbp + 0x408], rcx
mov eax, 0x20
mov qword [rbp + 0x410], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x410]
mov rcx, rsp
mov qword [rbp + 0x418], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x420], rax
mov eax, 0x10
mov qword [rbp + 0x430], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x430]
mov rcx, rsp
mov qword [rbp + 0x428], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp + 0x430]
mov rcx, rsp
mov qword [rbp + 0x438], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x440], rax
sub rsp, 0x20
call fcn.14011c793
mov r9, qword [rbp + 0x448]
add rsp, 0x20
mov qword [rbp + 0x450], rax
movabs rax, 0x189dd702de3462f9
movabs rcx, 0x189dd702de3462f9
xor rax, rcx
mov qword [rbp + 0xc38], rax
lea rax, [rbp + 0xc38]
add rax, 8
mov qword [rbp + 0x458], rax
mov qword [rbp + 0xc40], 0
add r9, 0xfffffffffffffff6
cmp r9, 0xfffffffffffffff4
jae 0x14011f73f
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140013610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401f0a90]
mov qword [rcx], rax
lea rax, [0x1401efadc]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401efb40]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401efb48]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401efadc]
lea r8, [0x1401efae7]
lea r9, [0x1401efaef]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x5cf65522
call fcn.14001355a
add rsp, 0x30
jmp 0x140122172
mov rsi, qword [rbp + 0x3f8]
lea rcx, [rbp + 0xc28]
mov edx, 0x10
sub rsp, 0x20
call fcn.14011c8b6
mov r10, qword [rbp + 0x408]
mov r9, qword [rbp + 0x428]
mov r8, qword [rbp + 0x448]
mov rdx, qword [rbp + 0x418]
mov rcx, qword [rbp + 0x420]
mov rax, qword [rbp + 0x440]
add rsp, 0x20
mov r10, qword [r10]
mov qword [rbp + 0xc28], r10
mov r11, rsi
and r11, 0x3fffff
movabs r10, 0xf45d432e07bf79ef
movabs rdi, 0xf45d432e07bf79ed
xor r10, rdi
imul r11, r10
mov r10, rsi
xor r10, 0x3fffff
add r10, r11
shr r10, 0x16
movabs rdi, 0xe82ccbf05b1108be
movabs r11, 0xe82ccbf05b1108bf
xor rdi, r11
mov r11d, 1
cmp rsi, rdi
cmovl r10, r11
mov qword [rbp + 0x320], r10
movabs r11, 0x828f89874b15edab
movabs rsi, 0x828f89874b15edab
xor r11, rsi
mov qword [rbp + 0xc20], r11
movabs r11, 0x3d717212834690d5
add r10, r11
movabs r11, 0x32026f92f84112a
movabs rsi, 0xfcdfd906d07beed5
xor r11, rsi
add r10, r11
movabs r11, 0x3d717212834690d5
sub r10, r11
mov qword [rbp + 0x328], r10
cmp r8, 0xfffffffffffffffe
sete r10b
mov byte [rbp + 0x337], r10b
lea r10, [rbp + 0x728]
add r10, 0x4f0
mov qword [rbp + 0x338], r10
add r9, 8
mov qword [rbp + 0x340], r9
lea r9, [rbp + 0x718]
add r9, 8
mov qword [rbp + 0x348], r9
lea r9, [rbp + 0x708]
add r9, 8
mov qword [rbp + 0x350], r9
lea r9, [rbp + 0x6f8]
add r9, 8
mov qword [rbp + 0x358], r9
cmp r8, 7
setl r8b
mov byte [rbp + 0x367], r8b
mov r8, rdx
add r8, 8
mov qword [rbp + 0x368], r8
mov r8, rdx
add r8, 0x10
mov qword [rbp + 0x370], r8
add rdx, 0x18
mov qword [rbp + 0x378], rdx
lea rdx, [rbp + 0x728]
add rdx, 0x478
mov qword [rbp + 0x380], rdx
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x388], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp + 0x390], rdx
add rcx, 0x18
mov qword [rbp + 0x398], rcx
lea rcx, [rbp + 0x6a8]
add rcx, 8
mov qword [rbp + 0x3a0], rcx
lea rcx, [rbp + 0x688]
add rcx, 8
mov qword [rbp + 0x3a8], rcx
lea rcx, [rbp + 0x688]
add rcx, 0x10
mov qword [rbp + 0x3b0], rcx
lea rcx, [rbp + 0x688]
add rcx, 0x18
mov qword [rbp + 0x3b8], rcx
lea rcx, [rbp + 0x4b0]
add rcx, 8
mov qword [rbp + 0x3c0], rcx
lea rcx, [rbp + 0x4a0]
add rcx, 8
mov qword [rbp + 0x3c8], rcx
lea rcx, [rbp + 0x490]
add rcx, 8
mov qword [rbp + 0x3d0], rcx
lea rcx, [rbp + 0x480]
add rcx, 8
mov qword [rbp + 0x3d8], rcx
lea rcx, [rbp + 0x470]
add rcx, 8
mov qword [rbp + 0x3e0], rcx
add rax, 8
mov qword [rbp + 0x3e8], rax
xor eax, eax
mov qword [rbp + 0x3f0], rax
mov rcx, qword [rbp + 0x320]
mov rax, qword [rbp + 0x3f0]
mov qword [rbp + 0x318], rax
cmp rax, rcx
je 0x140122133
mov eax, dword [0x1401e2728]
mov ecx, dword [0x1401e272c]
xor ecx, 0x91a5b56c
sub eax, 0x77599bff
add eax, ecx
add eax, 0x77599bff
add eax, 0x31c04089
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb24ddc34
mov r8d, 0xffffffff
xor r8d, 0xb24ddc34
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xb24ddc34
or eax, 0xb24ddc34
imul eax, edx
add eax, ecx
sub eax, 0x5f5b3b7a
cmp eax, 0x9b47eb0c
je 0x1401221b3
mov rcx, qword [rbp + 0x418]
mov eax, dword [0x1401e2730]
mov r8d, dword [0x1401e2734]
mov edx, eax
and edx, r8d
or eax, r8d
add edx, eax
mov eax, edx
and eax, 0x413801f9
mov r8d, 0xed1d4b1d
xor r8d, 0xac254ae4
or edx, r8d
add eax, edx
mov edx, 0x65bbd30f
xor edx, 0xe8d43c11
imul eax, edx
xor eax, 0xd09601fe
mov dword [rbp + 0x310], eax
mov edx, 0x20
sub rsp, 0x20
call fcn.14011c8b6
mov rcx, qword [rbp + 0x420]
add rsp, 0x20
mov edx, 0x20
sub rsp, 0x20
call fcn.14011c8b6
mov r8, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x328]
mov rax, qword [rbp + 0x318]
add rsp, 0x20
mov rdx, rax
shl rdx, 0x16
mov qword [rbp + 0x300], rdx
sub r8, rdx
mov rdx, r8
sub rdx, 0x400000
mov edx, 0x400000
cmovl rdx, r8
mov qword [rbp + 0x308], rdx
cmp rax, rcx
sete al
mov byte [rbp + 0x2ff], al
movabs rax, 0xcfd2d09aaf92690b
movabs rcx, 0xcfd2d09aaf92690b
xor rax, rcx
mov qword [rbp + 0xc20], rax
lea rcx, [rbp + 0x728]
mov edx, 0x4f8
sub rsp, 0x20
call fcn.14011c8b6
mov r11, qword [rbp + 0x400]
mov r10, qword [rbp + 0x300]
mov rax, qword [rbp + 0x308]
add rsp, 0x20
lea rcx, [rbp + 0xc38]
lea rdx, [rbp + 0xc20]
mov r8, qword [0x1401f0e18]
lea r9, [rbp + 0x728]
sub rsp, 0x40
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rax
call fcn.140118510
mov rcx, qword [rbp + 0x450]
mov eax, dword [rbp + 0x310]
add rsp, 0x40
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x317], cl
cmp eax, 0xeeff20a8
ja 0x14011fa5d
mov cl, byte [rbp + 0x317]
xor eax, eax
mov qword [rbp + 0x2b0], rax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x2b8], rcx
mov rcx, rax
mov qword [rbp + 0x2c0], rcx
mov rcx, rax
mov qword [rbp + 0x2c8], rcx
mov rcx, rax
mov qword [rbp + 0x2d0], rcx
mov rcx, rax
mov qword [rbp + 0x2d8], rcx
mov rcx, rax
mov qword [rbp + 0x2e0], rcx
mov rcx, rax
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x14011fc36
jmp 0x140121fd3
mov al, byte [rbp + 0x337]
test al, 1
jne 0x14011ff17
jmp 0x14011fc49
mov eax, dword [0x1401e2738]
imul eax, dword [0x1401e273c]
and eax, 0x5b9f0464
mov edx, 0x9e550978
xor edx, 0x2fd1151e
mov ecx, 0x6dce8add
xor ecx, 0x92317522
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xb1841c66
add eax, edx
sub eax, ecx
sub eax, 0xaef457d8
mov ecx, 0xe375ce19
xor ecx, 0x17c1daf7
sub eax, ecx
add eax, 0xaef457d8
cmp eax, 0x69390681
je 0x1401221bc
mov rcx, qword [rbp + 0x338]
mov rdx, qword [rbp + 0x308]
mov r8d, dword [0x1401e2740]
mov eax, dword [0x1401e2744]
or r8d, r8d
mov r9d, 0xf09e1c8f
xor r9d, 0xf61e370
xor r8d, r9d
or eax, eax
mov r9d, 0xf745eeb9
xor r9d, 0x8ba1146
xor eax, r9d
or r8d, eax
xor r8d, 0xffffffff
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x54ee34a9
or r8d, 0x54ee34a9
xor r8d, 0xffffffff
xor eax, 0xffffffff
mov r9d, 0xd9c9f02f
xor r9d, 0x26360fd0
xor r8d, r9d
and eax, r8d
mov r8d, 0x43de39c0
xor r8d, 0x1ecfba82
imul eax, r8d
mov r8d, 0xdce0c60b
xor r8d, 0x7cd3011f
and eax, r8d
cvtsi2ss xmm0, rdx
cvtss2sd xmm0, xmm0
movsd xmm1, qword [0x1401efac0]
mulsd xmm0, xmm1
cvttsd2si rdx, xmm0
cmp qword [rcx], rdx
setl cl
mov byte [rbp + 0x2af], cl
cmp eax, 0x6509df90
jae 0x1401221bc
mov al, byte [rbp + 0x2af]
test al, 1
jne 0x14011ff17
jmp 0x14011fd85
mov r9, qword [rbp + 0x300]
mov r8, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x408]
mov rcx, qword [rbp + 0x308]
mov r10b, byte [rbp + 0x2ff]
sub rsp, 0x30
and r10b, 1
mov rax, rsp
mov byte [rax + 0x28], r10b
mov qword [rax + 0x20], rcx
lea rcx, [rbp + 0xc28]
call fcn.14011c474
mov rax, qword [rbp + 0x450]
add rsp, 0x30
mov cl, byte [rax]
mov dl, 0xb2
xor dl, 0xb2
xor eax, eax
mov qword [rbp + 0x2a0], rax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x2b8], rcx
mov rcx, rax
mov qword [rbp + 0x2c0], rcx
mov rcx, rax
mov qword [rbp + 0x2c8], rcx
mov rcx, rax
mov qword [rbp + 0x2d0], rcx
mov rcx, rax
mov qword [rbp + 0x2d8], rcx
mov rcx, rax
mov qword [rbp + 0x2e0], rcx
mov rcx, rax
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rcx, qword [rbp + 0x428]
mov rax, qword [rbp + 0x340]
mov qword [rcx], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.140025a20
mov rax, qword [rbp + 0x348]
add rsp, 0x20
mov qword [rbp + 0x718], 0
mov qword [rax], 0
lea rcx, [rbp + 0x718]
sub rsp, 0x20
call fcn.140029535
mov rcx, qword [rbp + 0x420]
call fcn.14011c7ae
mov rax, qword [rbp + 0x350]
add rsp, 0x20
mov qword [rbp + 0x708], 0
mov qword [rax], 0
lea rcx, [rbp + 0x708]
sub rsp, 0x20
call fcn.140025a20
mov rax, qword [rbp + 0x358]
add rsp, 0x20
movabs rcx, 0x16079fc4833cf4bc
movabs rdx, 0x16079fc4833cf4bc
xor rcx, rdx
mov qword [rbp + 0x6f8], rcx
mov qword [rax], 0
lea rcx, [rbp + 0x6f8]
sub rsp, 0x20
call fcn.140029535
mov rcx, qword [rbp + 0x418]
call fcn.14011c7ae
add rsp, 0x20
jmp 0x1401220f3
mov al, byte [rbp + 0x367]
mov rcx, qword [rbp + 0x308]
sub rcx, 0x801
setl cl
and al, cl
mov byte [rbp + 0x29f], al
test al, 1
jne 0x14011ff43
jmp 0x14011ffae
lea rcx, [rbp + 0x6d8]
mov edx, 0x20
sub rsp, 0x20
call fcn.14011c8b6
add rsp, 0x20
lea rcx, [0x1401efb00]
lea rdx, [rbp + 0x6d8]
sub rsp, 0x20
call fcn.14011c7f9
mov rax, qword [rbp + 0x418]
add rsp, 0x20
mov rcx, qword [rbp + 0x6d8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x6e0]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x6e8]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x6f0]
mov qword [rax + 0x18], rcx
jmp 0x140120079
mov rax, qword [rbp + 0x418]
movabs rdx, 0xfebbea33a1a5ac22
movabs rcx, 0xfebbea33a1a5ad3c
xor rdx, rcx
movabs r8, 0x9d575139052a3af5
movabs rcx, 0x9d575139052a3bf4
xor r8, rcx
movabs r9, 0xd48a3b4328006418
movabs rcx, 0xd48a3b4328006417
xor r9, rcx
lea rcx, [rbp + 0x728]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14011e130
mov rcx, qword [rbp + 0x450]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x290], rax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x2b8], rcx
mov rcx, rax
mov qword [rbp + 0x2c0], rcx
mov rcx, rax
mov qword [rbp + 0x2c8], rcx
mov rcx, rax
mov qword [rbp + 0x2d0], rcx
mov rcx, rax
mov qword [rbp + 0x2d8], rcx
mov rcx, rax
mov qword [rbp + 0x2e0], rcx
mov rcx, rax
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rcx, qword [rbp + 0x418]
mov rax, qword [rbp + 0x368]
mov rdx, qword [rcx]
mov qword [rbp + 0x270], rdx
mov rax, qword [rax]
mov qword [rbp + 0x278], rax
sub rsp, 0x20
call fcn.14002a62d
mov rax, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x370]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x280], rdx
mov rax, qword [rax]
mov qword [rbp + 0x288], rax
sub rsp, 0x20
call fcn.14002a640
mov al, byte [rbp + 0x29f]
add rsp, 0x20
test al, 1
jne 0x1401200ea
jmp 0x140120155
lea rcx, [rbp + 0x6b8]
mov edx, 0x20
sub rsp, 0x20
call fcn.14011c8b6
add rsp, 0x20
lea rcx, [0x1401efb20]
lea rdx, [rbp + 0x6b8]
sub rsp, 0x20
call fcn.14011c7f9
mov rax, qword [rbp + 0x420]
add rsp, 0x20
mov rcx, qword [rbp + 0x6b8]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x6c0]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x6c8]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp + 0x6d0]
mov qword [rax + 0x18], rcx
jmp 0x1401201f7
mov rax, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x380]
mov edx, 0x1e
mov r8d, 2
mov r9d, 0xf
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14011e130
mov r10, qword [rbp + 0x450]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x30
xor r9d, r9d
cmp byte [r10], 0
mov r10, r9
mov qword [rbp + 0x2b8], r10
mov r10, r9
mov qword [rbp + 0x2c0], r10
mov r10, r9
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rcx, qword [rbp + 0x420]
mov rax, qword [rbp + 0x388]
mov rdx, qword [rcx]
mov qword [rbp + 0x250], rdx
mov rax, qword [rax]
mov qword [rbp + 0x258], rax
sub rsp, 0x20
call fcn.14002a62d
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x390]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x260], rdx
mov rax, qword [rax]
mov qword [rbp + 0x268], rax
sub rsp, 0x20
call fcn.14002a640
mov al, byte [rbp + 0x29f]
add rsp, 0x20
test al, 1
jne 0x140120268
jmp 0x1401203c1
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x450]
mov rdx, qword [rbp + 0x408]
mov al, byte [rbp + 0x2ff]
and al, 1
movzx r8d, al
lea rcx, [rbp + 0xc28]
mov r9d, 1
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x450]
mov rdx, qword [rbp + 0x408]
lea rcx, [rbp + 0xc28]
mov r8d, 1
mov r9d, 2
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
je 0x1401214a0
jmp 0x140121fd3
mov rax, qword [rbp + 0x3a0]
movabs rcx, 0x4426c8a0a1cfe5ae
movabs rdx, 0x4426c8a0a1cfe5ae
xor rcx, rdx
mov qword [rbp + 0x6a8], rcx
mov qword [rax], 0
lea rcx, [rbp + 0x688]
mov edx, 0x20
sub rsp, 0x20
call fcn.14011c8b6
add rsp, 0x20
lea rcx, [rbp + 0x540]
mov edx, 0x13c
sub rsp, 0x20
call fcn.14011c8b6
mov rcx, qword [rbp + 0x270]
add rsp, 0x20
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x240], rax
xor eax, eax
mov qword [rbp + 0x248], rax
mov rcx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x238], rax
cmp rax, rcx
jne 0x140120547
mov eax, dword [0x1401e2748]
mov ecx, dword [0x1401e274c]
mov edx, 0xbf725816
xor edx, 0xd4efcfd5
xor ecx, edx
and eax, ecx
mov ecx, 0xf041f25f
xor edx, edx
div ecx
mov ecx, 0xa026fe99
xor ecx, 0xf771c36a
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xaac2815
mov edx, 0x3e5c1402
xor edx, 0x34f03c17
mov r8d, 0x41fc3591
xor r8d, 0xbe03ca6e
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0x26464503
jb 0x1401221c5
mov ecx, dword [0x1401e2750]
mov edx, dword [0x1401e2754]
or ecx, ecx
xor ecx, 0xffffffff
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
or ecx, 0x4fdc0f11
mov edx, 0xe324f32e
xor edx, 0x3bb16bb6
mov eax, ecx
and eax, edx
xor ecx, 0xd8959898
or eax, ecx
mov ecx, 0xa327f47f
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x250]
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp + 0x230], rcx
cmp eax, 0xa734f741
ja 0x1401204c3
mov rcx, qword [rbp + 0x240]
xor eax, eax
mov qword [rbp + 0x220], rcx
mov qword [rbp + 0x228], rax
jmp 0x1401206d9
mov ecx, dword [0x1401e2758]
mov edx, dword [0x1401e275c]
mov eax, 0x50c79b56
xor eax, 0x7ae802fb
xor edx, eax
mov eax, ecx
and eax, eax
mov r8d, 0x49a8fd66
xor r8d, 0xb6570299
xor eax, r8d
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
xor edx, 0xffffffff
mov r8d, 0x742d0c40
xor r8d, 0x8bd2f3bf
xor ecx, r8d
mov r8d, 0xe6bacece
xor r8d, 0x19453131
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x6f228ebf
xor edx, 0x90dd7140
xor ecx, edx
or eax, ecx
mov edx, 0x6c4f6687
xor edx, 0x93b09978
mov ecx, eax
xor ecx, edx
and ecx, 0x649397e1
mov edx, 0xdafbfaad
xor edx, 0xbe686d4c
mov r8d, 0xf4eccc91
xor r8d, 0xb13336e
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0xf7d93233
xor ecx, 0x8ab824f3
xor edx, edx
div ecx
mov ecx, 0x22220a18
xor edx, edx
div ecx
cmp eax, 0x8b040403
jae 0x1401221ce
mov rcx, qword [rbp + 0x238]
mov rdx, qword [rbp + 0x288]
mov r8d, dword [0x1401e2760]
mov eax, dword [0x1401e2764]
xor eax, 0x7627475a
sub r8d, eax
mov eax, 0x7f1be0b7
xor eax, 0x7f1be0b7
mov r9d, 0x6ee8f2d1
xor r9d, 0xc82e7610
sub eax, r9d
sub r8d, eax
or r8d, 0xfd677ee2
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x963224a9
and eax, r9d
or r8d, 0x963224a9
xor r8d, 0xffffffff
mov r9d, 0xd349f24e
xor r9d, 0x2cb60db1
xor eax, r9d
xor r8d, 0xffffffff
and eax, r8d
mov dl, byte [rdx + rcx + 8]
mov byte [rbp + rcx + 0x540], dl
movabs rdx, 0x55086ad91d2e57ce
movabs r8, 0x55086ad91d2e57cf
xor rdx, r8
add rcx, rdx
mov qword [rbp + 0x218], rcx
cmp eax, 0x5a539cab
je 0x1401221ce
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x248], rax
jmp 0x14012043f
mov rcx, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x208], rax
mov qword [rbp + 0x210], rdx
cmp rax, rcx
je 0x140120756
mov rax, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x268]
mov dl, byte [rdx + rax + 8]
mov byte [rbp + rcx + 0x540], dl
add rcx, 1
movabs rdx, 0xefc839744bbb1619
movabs r8, 0xefc839744bbb1618
xor rdx, r8
add rax, rdx
mov qword [rbp + 0x220], rcx
mov qword [rbp + 0x228], rax
jmp 0x1401206d9
mov rax, qword [rbp + 0x3a0]
mov r8, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x250]
mov rcx, rdx
and rcx, r8
or rdx, r8
add rcx, rdx
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x6a8], 0
mov qword [rax], 0
xor eax, eax
mov qword [rbp + 0x200], rax
mov rcx, qword [rbp + 0x1f8]
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1f0], rax
cmp rax, rcx
jge 0x140120ca7
mov rax, qword [rbp + 0x1f0]
mov al, byte [rbp + rax + 0x540]
mov byte [rbp + 0x1e7], al
xor eax, eax
mov qword [rbp + 0x1e8], rax
mov rcx, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x1c8], rax
movabs r8, 0xf122ad0e96595150
movabs r9, 0xf122ad0e96595151
xor r8, r9
add rax, r8
mov qword [rbp + 0x1d0], rax
add rax, rdx
mov qword [rbp + 0x1d8], rax
cmp rax, rcx
jge 0x14012084c
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1d8]
mov dl, byte [rbp + 0x1e7]
cmp byte [rbp + rcx + 0x540], dl
mov qword [rbp + 0x1e8], rax
je 0x1401207d4
mov rcx, qword [rbp + 0x1c8]
mov al, byte [rbp + 0x1e7]
test al, al
sete al
sub rcx, 2
setae cl
and al, cl
test al, 1
jne 0x140120874
jmp 0x14012097f
mov rcx, qword [rbp + 0x1c8]
mov al, 0x11
mov dl, 0x12
mov byte [rbp + 0x1c6], dl
cmp rcx, 0xa
mov byte [rbp + 0x1c7], al
jb 0x1401208a1
mov al, byte [rbp + 0x1c6]
mov byte [rbp + 0x1c7], al
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1d0]
mov al, byte [rbp + 0x1c7]
mov byte [rbp + 0x1b7], al
movabs rax, 0x2728858b1ba4a907
movabs r8, 0x2728858b1ba4a98d
xor rax, r8
cmp rcx, 0x8a
cmovb rax, rdx
mov qword [rbp + 0x1b8], rax
mov al, 0xfd
mov dl, 0xf5
mov byte [rbp + 0x1c4], dl
cmp rcx, 0xa
mov byte [rbp + 0x1c5], al
jb 0x14012090a
mov al, byte [rbp + 0x1c4]
mov byte [rbp + 0x1c5], al
mov dl, byte [rbp + 0x1b7]
mov al, byte [rbp + 0x1c5]
mov byte [rbp + 0x1a7], al
lea rcx, [rbp + 0x6a8]
sub rsp, 0x20
call fcn.140025b34
mov dl, byte [rbp + 0x1a7]
mov rax, qword [rbp + 0x1b8]
add rsp, 0x20
mov cl, al
xor eax, eax
sub al, cl
sub dl, al
lea rcx, [rbp + 0x6a8]
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp + 0x1f0]
mov rcx, qword [rbp + 0x1b8]
add rsp, 0x20
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rax, rdx
add rax, rcx
mov qword [rbp + 0x1a8], rax
jmp 0x140120b4c
mov dl, byte [rbp + 0x1e7]
lea rcx, [rbp + 0x6a8]
sub rsp, 0x20
call fcn.140025b34
mov rcx, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x1f0]
add rsp, 0x20
cmp rcx, 2
mov qword [rbp + 0x1a8], rax
jbe 0x140120b4c
mov rax, qword [rbp + 0x1c8]
mov ecx, 6
xor edx, edx
div rcx
mov rcx, rax
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x188], rcx
mov ecx, 6
xor edx, edx
div rcx
mov qword [rbp + 0x190], rdx
xor eax, eax
mov qword [rbp + 0x198], rax
mov rcx, qword [rbp + 0x188]
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x180], rax
cmp rax, rcx
je 0x140120a71
lea rcx, [rbp + 0x6a8]
mov edx, 0x10
sub rsp, 0x20
call fcn.140025b34
add rsp, 0x20
lea rcx, [rbp + 0x6a8]
mov edx, 3
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp + 0x180]
add rsp, 0x20
movabs rcx, 0x5502b242264b2799
movabs rdx, 0x5502b242264b2798
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x198], rax
jmp 0x1401209f4
mov rax, qword [rbp + 0x190]
movabs rcx, 0x506f84f11b855d4d
movabs rdx, 0x506f84f11b855d4f
xor rcx, rdx
cmp rax, rcx
jbe 0x140120ae4
lea rcx, [rbp + 0x6a8]
mov edx, 0x10
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp + 0x190]
add rsp, 0x20
mov dl, al
add dl, 0xfd
lea rcx, [rbp + 0x6a8]
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp + 0x1c8]
add rsp, 0x20
mov qword [rbp + 0x178], rax
jmp 0x140120b0d
mov rax, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x190]
mov rcx, rax
xor rcx, rdx
xor rdx, 0xffffffffffffffff
and rax, rdx
shl rax, 1
sub rax, rcx
mov qword [rbp + 0x178], rax
mov rcx, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x178]
movabs rdx, 0x754f287be3faa7c9
movabs r8, 0x8c966ff7ee978ddf
xor rdx, r8
add rax, rdx
add rax, rcx
movabs rcx, 0xf9d9478c0d6d2a16
sub rax, rcx
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x170], rax
mov eax, dword [0x1401e2768]
mov r8d, dword [0x1401e276c]
mov ecx, 0x67505bc1
xor ecx, 0x8cd7f3b0
xor r8d, ecx
mov ecx, 0xadf4df2f
xor ecx, 0x520b20d0
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
imul eax, eax, 0xd39c144d
mov ecx, 0xffffffff
xor ecx, 0xf2c5b0f9
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x1b0a16dd
sub eax, 0x9cecf4
sub eax, 0x1b0a16dd
mov ecx, 0x897d29f3
xor ecx, 0x71a43cd9
cmp eax, ecx
jae 0x1401221d7
mov rcx, qword [rbp + 0x170]
mov r9d, dword [0x1401e2770]
xor r9d, 0x948772f6
mov r8d, dword [0x1401e2774]
mov edx, r8d
xor edx, 0xffffffff
mov eax, r9d
and eax, edx
mov edx, r9d
xor edx, r8d
add r9d, edx
sub r9d, eax
add r9d, 0x6a050383
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x6a0ca961
mov r8d, 0x5cc66af1
xor r8d, 0x36cac390
mov edx, 0xe6e7db8d
xor edx, 0x19182472
xor r8d, edx
and r9d, r8d
mov edx, 0xe91fec0a
xor edx, 0x272f88f8
mov r10d, 0xb489c6b
xor r10d, 0xf4b76394
xor edx, r10d
mov r10d, 0x63b03565
xor r10d, 0x9bc9c04
and edx, r10d
and r8d, 0xce3064f2
or eax, r9d
or edx, r8d
xor eax, edx
and eax, 0xefabd163
mov rdx, rcx
and rdx, 1
shl rdx, 1
xor rcx, 1
add rcx, rdx
mov qword [rbp + 0x168], rcx
cmp eax, 0xdf2cf004
jae 0x140120bce
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x200], rax
jmp 0x140120799
lea rcx, [rbp + 0x4f0]
mov edx, 0x4c
sub rsp, 0x20
call fcn.14011c8b6
mov rax, qword [rbp + 0x3a0]
add rsp, 0x20
mov rcx, qword [rbp + 0x6a8]
mov qword [rbp + 0x150], rcx
mov rax, qword [rax]
mov qword [rbp + 0x158], rax
xor eax, eax
mov qword [rbp + 0x160], rax
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x148], rax
cmp rax, rcx
jge 0x140120d5d
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x158]
mov cl, byte [rcx + rax + 8]
movzx edx, cl
mov r8d, dword [rbp + rdx*4 + 0x4f0]
add r8d, 1
mov dword [rbp + rdx*4 + 0x4f0], r8d
cmp cl, 0xf
seta cl
and cl, 1
movzx ecx, cl
mov edx, ecx
add rax, 1
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, rdx
add rax, rcx
mov qword [rbp + 0x160], rax
jmp 0x140120ce8
lea rcx, [rbp + 0x4f0]
mov r8d, 0x13
mov r9d, 7
lea rax, [rbp + 0x688]
sub rsp, 0x30
mov rdx, r8
mov qword [rsp + 0x20], rax
call fcn.14011e130
mov rax, qword [rbp + 0x450]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140121388
mov rax, qword [rbp + 0x3a8]
mov rcx, qword [rbp + 0x688]
mov qword [rbp + 0x120], rcx
mov rax, qword [rax]
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x688]
sub rsp, 0x20
call fcn.14002a62d
mov rax, qword [rbp + 0x3b8]
mov rcx, qword [rbp + 0x3b0]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x130], rdx
mov rax, qword [rax]
mov qword [rbp + 0x138], rax
sub rsp, 0x20
call fcn.14002a640
add rsp, 0x20
lea rcx, [rbp + 0x4c0]
mov edx, 0x26
sub rsp, 0x20
call fcn.14011c8b6
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x140], rax
mov rcx, qword [rbp + 0x140]
mov qword [rbp + 0x110], rcx
mov eax, 0x13
cmp rcx, 0x13
mov qword [rbp + 0x118], rax
je 0x140120e7a
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x138]
mov rdx, qword [0x1401f0e10]
movzx edx, byte [rdx + rax]
movzx ecx, byte [rcx + rdx + 8]
mov word [rbp + rax*2 + 0x4c0], cx
add rax, 1
mov qword [rbp + 0x140], rax
jmp 0x140120e20
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x108], rax
movabs rcx, 0x7567e8a0fd3ec7f0
movabs rdx, 0x7567e8a0fd3ec7f0
xor rcx, rdx
sub rcx, rax
movabs rax, 0xaefd854f0024ca6d
movabs rdx, 0xaefd854f0024ca6d
xor rax, rdx
movabs rdx, 0x22a518d583230119
movabs r8, 0xdd5ae72a7cdcfee6
xor rdx, r8
sub rax, rdx
add rcx, rax
movabs rax, 0x588ed75273eb8ed4
movabs rdx, 0x588ed75273eb8ed4
xor rax, rdx
sub rax, rcx
cmp word [rbp + rax*2 + 0x4c0], 0
mov qword [rbp + 0x118], rax
je 0x140120e7a
mov rdx, qword [rbp + 0x408]
mov al, byte [rbp + 0x2ff]
and al, 1
movzx r8d, al
lea rcx, [rbp + 0xc28]
mov r9d, 1
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140121388
mov rdx, qword [rbp + 0x408]
lea rcx, [rbp + 0xc28]
mov r8d, 2
mov r9d, 2
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140121388
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x270]
mov r8d, eax
add r8d, 0xfffffeff
movabs r9, 0xb60b5bb41d59ad7f
movabs rax, 0xb60b5bb41d59ad7a
xor r9, rax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140121388
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x250]
mov ecx, 0x3ec55808
xor ecx, 0xc13aa7f7
mov r8d, eax
and r8d, ecx
or eax, 0xffffffff
add r8d, eax
lea rcx, [rbp + 0xc28]
mov r9d, 5
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140121388
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x108]
mov r8d, eax
add r8d, 0xfffffffc
movabs r9, 0x914d238090228308
movabs rax, 0x914d23809022830c
xor r9, rax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x60
xor cl, 0x60
cmp al, cl
jne 0x140121388
mov rcx, qword [rbp + 0x108]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xf8], rax
xor eax, eax
mov qword [rbp + 0x100], rax
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x100]
mov qword [rbp + 0xe8], rcx
xor eax, eax
cmp rcx, rdx
mov qword [rbp + 0xf0], rax
je 0x140121124
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0x408]
movzx r8d, word [rbp + rax*2 + 0x4c0]
movabs r9, 0xab4f81d2e991fc2e
movabs rax, 0xab4f81d2e991fc2d
xor r9, rax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov rcx, qword [rbp + 0x450]
mov rax, qword [rbp + 0xe8]
add rsp, 0x20
mov cl, byte [rcx]
add rax, 1
cmp cl, 0
mov qword [rbp + 0x100], rax
je 0x140121092
jmp 0x140121388
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xe0], rax
cmp rax, qword [rbp + 0x6a8]
jge 0x1401213fd
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x138]
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x3a0]
mov rcx, qword [rcx]
mov cl, byte [rcx + r9 + 8]
mov byte [rbp + 0xdf], cl
movzx ecx, cl
movzx r8d, word [r8 + rcx*2 + 8]
movzx eax, byte [rax + rcx + 8]
mov r9d, eax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov rax, qword [rbp + 0x450]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1a
xor cl, 0x1a
cmp al, cl
jne 0x140121388
mov al, byte [rbp + 0xdf]
mov rcx, qword [rbp + 0xe0]
mov edx, ecx
and edx, 1
xor rcx, 1
lea rcx, [rcx + rdx*2]
mov qword [rbp + 0xd0], rcx
sub al, 0x10
je 0x14012120e
jmp 0x1401211d9
mov al, byte [rbp + 0xdf]
sub al, 0x11
je 0x140121273
jmp 0x1401211ec
mov rax, qword [rbp + 0xd0]
mov cl, byte [rbp + 0xdf]
sub cl, 0x12
mov qword [rbp + 0xc8], rax
je 0x14012130f
jmp 0x140121375
mov rdx, qword [rbp + 0x408]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x3a0]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
lea rcx, [rbp + 0xc28]
mov r9d, 2
sub rsp, 0x20
call fcn.140117b30
mov rcx, qword [rbp + 0x450]
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xd2
xor dl, 0xd2
add rax, 2
cmp cl, dl
mov qword [rbp + 0xc8], rax
je 0x140121375
jmp 0x140121388
mov rdx, qword [rbp + 0x408]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x3a0]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
lea rcx, [rbp + 0xc28]
mov r9d, 3
sub rsp, 0x20
call fcn.140117b30
mov rcx, qword [rbp + 0x450]
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov cl, byte [rcx]
movabs r8, 0x2a3d460623b6a6c9
movabs rdx, 0x2a3d460623b6a6cb
xor r8, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0x2212140fdf4b9779
movabs r9, 0x2212140fdf4b977b
xor r8, r9
imul rdx, r8
xor rax, 2
add rax, rdx
cmp cl, 0
mov qword [rbp + 0xc8], rax
je 0x140121375
jmp 0x140121388
mov rdx, qword [rbp + 0x408]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x3a0]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
lea rcx, [rbp + 0xc28]
mov r9d, 7
sub rsp, 0x20
call fcn.140117b30
mov rcx, qword [rbp + 0x450]
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xcf
xor dl, 0xcf
xor r8d, r8d
sub r8, 2
sub rax, r8
cmp cl, dl
mov qword [rbp + 0xc8], rax
jne 0x140121388
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xf0], rax
jmp 0x140121124
mov rax, qword [rbp + 0x278]
mov rcx, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x288]
mov r8, qword [rbp + 0x280]
mov r9, qword [rbp + 0x258]
mov r10, qword [rbp + 0x250]
mov r11, qword [rbp + 0x268]
mov rsi, qword [rbp + 0x260]
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jmp 0x140121fd3
mov rax, qword [rbp + 0x3c0]
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
mov qword [rbp + 0x4b0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4b0]
sub rsp, 0x20
call fcn.140025a20
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x3c8]
add rsp, 0x20
mov qword [rbp + 0x4a0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4a0]
sub rsp, 0x20
call fcn.140029535
add rsp, 0x20
lea rcx, [rbp + 0x688]
sub rsp, 0x20
call fcn.14011c7ae
mov rcx, qword [rbp + 0x438]
add rsp, 0x20
mov rax, qword [rbp + 0x6a8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x6b0]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140025a20
add rsp, 0x20
mov rcx, qword [rbp + 0x300]
xor eax, eax
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
jmp 0x1401214bc
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rcx
mov rcx, qword [rbp + 0xc20]
mov qword [rbp + 0xb0], rcx
cmp rax, rcx
jge 0x140121cd8
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x458]
mov rax, qword [rax]
mov qword [rbp + 0x90], rax
mov ax, word [rax + rcx*2 + 8]
mov word [rbp + 0x9e], ax
cmp ax, 0xffff
jg 0x140121948
mov r12, qword [rbp + 0x278]
mov r10, qword [rbp + 0x268]
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x450]
mov r13, qword [rbp + 0xa8]
mov r9, qword [rbp + 0xa0]
mov cx, word [rbp + 0x9e]
mov rax, qword [rbp + 0x90]
mov r8, r9
and r8, 1
shl r8, 1
movabs r11, 0xc92b85efca658a78
movabs rdx, 0xc92b85efca658a79
xor r11, rdx
mov rdx, r9
xor rdx, r11
add rdx, r8
mov r8w, word [rax + rdx*2 + 8]
mov rdx, r9
and rdx, 2
or r9, 2
add rdx, r9
mov ax, word [rax + rdx*2 + 8]
mov r15w, cx
shr r15w, 8
mov dx, r15w
add dx, 1
xor r15w, 0xffff
mov r9w, 0xb77a
xor r9w, 0xb705
or r15w, r9w
add r15w, dx
and cx, 0xff
movzx edx, r15w
mov r9d, edx
mov rdx, qword [0x1401f0db8]
movzx edx, byte [rdx + r9]
mov r14d, edx
mov rdx, qword [0x1401f0dc0]
mov bx, ax
sub bx, word [rdx + r9*2]
movzx ecx, cx
mov r11d, ecx
mov rcx, qword [0x1401f0da0]
movzx ecx, byte [rcx + r11]
mov r9d, ecx
mov rcx, qword [0x1401f0da8]
mov cx, word [rcx + r11*2]
sub r8w, 0x480a
sub r8w, cx
add r8w, 0x480a
movabs rdx, 0x736c374ee6531d86
movabs rcx, 0x736c374ee6531d85
xor rdx, rcx
mov rcx, qword [rbp + 0xa0]
add rcx, rdx
mov rdx, qword [rbp + 0x408]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rbp + 0x288]
movzx eax, ax
add r13, rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x58], r13
xor r13d, r13d
sub r13w, 0x101
sub r15w, r13w
movzx r15d, r15w
movzx r12d, word [r12 + r15*2 + 8]
movzx ecx, byte [rcx + r15 + 8]
mov qword [rbp + 0x60], rcx
movzx ebx, bx
mov r15d, ebx
shl r15, cl
mov rcx, qword [rbp + 0x60]
mov rbx, r15
and rbx, r12
xor r15, r12
or rbx, r15
add rcx, r14
mov qword [rbp + 0x68], rcx
movzx eax, word [rax + r11*2 + 8]
mov r14d, eax
shl r14, cl
mov rcx, qword [rbp + 0x68]
mov rax, rbx
or rax, r14
xor rax, 0xffffffffffffffff
or rbx, r14
xor rbx, 0xffffffffffffffff
or rax, rbx
movabs rbx, 0x3a92fe3b5ce54c49
movabs r14, 0xc56d01c4a31ab3b6
xor rbx, r14
xor rax, rbx
movzx r10d, byte [r10 + r11 + 8]
mov r11d, r10d
xor r10d, r10d
sub r10, rcx
movabs rcx, 0x23f8951dc4fa98c7
movabs rbx, 0x23f8951dc4fa98c7
xor rcx, rbx
sub rcx, r11
add r10, rcx
xor ecx, ecx
sub rcx, r10
mov qword [rbp + 0x70], rcx
movzx r8d, r8w
mov r10d, r8d
shl r10, cl
mov rcx, qword [rbp + 0x70]
mov r8, r10
and r8, rax
xor r8, 0xffffffffffffffff
add rax, r10
add rax, 1
add rax, r8
mov qword [rbp + 0x78], rax
movabs r8, 0x4a0275ff2734d88b
movabs r10, 0x4a0275ff2734d88b
xor r8, r10
sub r8, rcx
movabs rcx, 0x42420b3d48b0594
movabs r10, 0x42420b3d48b0594
xor rcx, r10
sub rcx, r9
add r8, rcx
movabs rcx, 0x140e99c2b8ed1c96
movabs r9, 0x140e99c2b8ed1c96
xor rcx, r9
sub rcx, r8
mov qword [rbp + 0x80], rcx
mov r8, rcx
sub r8, 0x20
mov r9d, 0x20
cmovl r9, rcx
mov qword [rbp + 0x88], r9
mov r8d, eax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
sub rdx, r8
mov qword [rbp + 0x38], rdx
cmp rdx, 0
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jle 0x14012192d
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x50]
mov rbx, qword [rbp + 0x58]
mov r14, qword [rbp + 0x450]
mov r9, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x408]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x88]
shr rax, cl
mov r8d, eax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov r14b, byte [r14]
mov r15b, 0x67
xor r15b, 0x67
cmp r14b, r15b
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
jmp 0x1401214bc
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
mov cx, word [rbp + 0x9e]
movzx ecx, cx
mov qword [rbp + 8], rcx
add rax, 1
mov qword [rbp + 0x10], rax
xor ecx, ecx
xor eax, eax
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x24], ecx
mov rcx, rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x18]
mov r8d, dword [rbp + 0x24]
mov r9, qword [rbp + 0x28]
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], r9
mov dword [rbp - 4], r8d
mov qword [rbp], rdx
cmp rax, rcx
je 0x140121be2
mov rax, qword [rbp - 0x10]
mov ecx, dword [rbp - 4]
mov r8, qword [rbp + 0x288]
mov rdx, qword [rbp + 0x400]
mov r9, qword [rbp]
mov r10, rdx
add r10, r9
mov qword [rbp - 0x40], r10
movzx edx, byte [rdx + r9]
movzx r8d, byte [r8 + rdx + 8]
mov r9d, r8d
mov qword [rbp - 0x38], r9
xor r9, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub r9, r8
mov r8, rax
sub r8, r9
movabs r9, 0xbd01388dc8fb45c8
movabs r10, 0xbd01388dc8fb45e8
xor r9, r10
cmp r8, r9
mov qword [rbp - 0x30], rdx
mov dword [rbp - 0x24], ecx
mov qword [rbp - 0x20], rax
jle 0x140121ade
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x450]
mov r9, qword [rbp - 0x10]
mov r8d, dword [rbp - 4]
mov rdx, qword [rbp + 0x408]
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jne 0x140121fd3
mov rax, qword [rbp - 0x40]
movzx eax, byte [rax]
mov edx, eax
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x30], rdx
mov dword [rbp - 0x24], ecx
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp]
mov r9, qword [rbp - 0x38]
mov r10, qword [rbp + 0x278]
mov r11, qword [rbp - 0x30]
mov edx, dword [rbp - 0x24]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x48], rcx
movzx r10d, word [r10 + r11*2 + 8]
shl r10, cl
mov rcx, qword [rbp - 0x48]
mov esi, r10d
mov r10d, 0xfe812691
xor r10d, 0x17ed96e
mov r11d, esi
xor r11d, r10d
mov r10d, edx
and r10d, r11d
mov r11d, edx
xor r11d, esi
add edx, r11d
sub edx, r10d
add rcx, r9
movabs r9, 0x3ef343ed42c990fb
movabs r10, 0x3ef343ed42c990fb
xor r9, r10
sub r9, r8
movabs r8, 0x88204b0e4f411095
movabs r10, 0x88204b0e4f411095
xor r8, r10
movabs r10, 0xa19bde9ec5977df4
movabs r11, 0xa19bde9ec5977df5
xor r10, r11
sub r8, r10
add r9, r8
xor r8d, r8d
sub r8, r9
mov r9, 0xffffffffffffffff
xor r9, 1
movabs r10, 0x8387fca6e4223eec
movabs r11, 0x8387fca6e4223eec
xor r10, r11
movabs r11, 0x5319910348958169
movabs rsi, 0x5319910348958168
xor r11, rsi
sub r10, r11
sub r9, r10
sub rax, r9
mov qword [rbp + 0x18], r8
mov dword [rbp + 0x24], edx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jmp 0x140121982
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x10]
movabs r8, 0x7c27f1cc3b9750d5
movabs r9, 0x7c27f1cc3b9750d5
xor r8, r9
cmp rdx, r8
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jle 0x14012192d
mov rsi, qword [rbp + 0x260]
mov rdi, qword [rbp + 0x10]
mov rbx, qword [rbp]
mov r14, qword [rbp + 0x450]
mov r9, qword [rbp - 0x10]
mov r8d, dword [rbp - 4]
mov rdx, qword [rbp + 0x408]
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov r14b, byte [r14]
mov r15b, 0x78
xor r15b, 0x78
cmp r14b, r15b
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
je 0x14012192d
jmp 0x140121fd3
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xb0]
cmp rax, rcx
je 0x140121e13
mov rsi, qword [rbp + 0x260]
movabs rcx, 0x28377bab0d5d029c
movabs rax, 0x28377bab0d5d02dc
xor rcx, rax
movabs rdx, 0x1e0f57df1e62ebf0
movabs rax, 0x1e0f57df1e62ebf8
xor rdx, rax
sub rsp, 0x20
call fcn.140013610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401f0a90]
mov qword [rcx], rax
lea rax, [0x1401efadc]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401efb40]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401efb48]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x611c81385a8dc472
movabs rdx, 0x9ee37ec7f524d24f
xor rax, rdx
lea rdx, [0x1401efadc]
lea r8, [0x1401efae7]
lea r9, [0x1401efaef]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001355a
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x30
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jmp 0x140121fd3
mov rax, qword [rbp + 0x288]
mov al, byte [rax + 0x108]
mov byte [rbp - 0x49], al
mov cl, 0xe8
xor cl, 0xe8
cmp al, cl
jne 0x140121f30
mov rsi, qword [rbp + 0x260]
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140013610
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401f0a90]
mov qword [rcx], rax
lea rax, [0x1401efadc]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401efb40]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401efb48]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xfdab4cecb00437e5
movabs rdx, 0x254b313576f38c7
xor rax, rdx
lea rdx, [0x1401efadc]
lea r8, [0x1401efae7]
lea r9, [0x1401efaef]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14001355a
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x30
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
jmp 0x140121fd3
mov rcx, qword [rbp + 0x278]
mov rsi, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x408]
mov al, byte [rbp - 0x49]
movzx r8d, word [rcx + 0x208]
movzx eax, al
mov r9d, eax
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117b30
mov r11, qword [rbp + 0x268]
mov r10, qword [rbp + 0x250]
mov r9, qword [rbp + 0x258]
mov r8, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x270]
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], r11
mov qword [rbp + 0x2c8], r10
mov qword [rbp + 0x2d0], r9
mov qword [rbp + 0x2d8], r8
mov qword [rbp + 0x2e0], rdx
mov qword [rbp + 0x2e8], rcx
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2c0]
mov r8, qword [rbp + 0x2c8]
mov r9, qword [rbp + 0x2d0]
mov r10, qword [rbp + 0x2d8]
mov r11, qword [rbp + 0x2e0]
mov rsi, qword [rbp + 0x2e8]
mov rdi, qword [rbp + 0x2f0]
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x68], r11
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x80], r8
mov qword [rbp + 0x490], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x490]
sub rsp, 0x20
call fcn.140025a20
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x3d8]
add rsp, 0x20
mov qword [rbp + 0x480], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x480]
sub rsp, 0x20
call fcn.140029535
mov rcx, qword [rbp + 0x420]
call fcn.14011c7ae
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x3e0]
add rsp, 0x20
mov qword [rbp + 0x470], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x470]
sub rsp, 0x20
call fcn.140025a20
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x3e8]
mov rcx, qword [rbp + 0x440]
add rsp, 0x20
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140029535
mov rcx, qword [rbp + 0x418]
call fcn.14011c7ae
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012212e
mov rax, qword [rbp + 0x318]
movabs rcx, 0x3d582e754fa529e6
movabs rdx, 0x3d582e754fa529e6
xor rcx, rdx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp + 0x3f0], rax
jmp 0x14011f9da
jmp 0x140122172
lea rcx, [rbp + 0xc28]
sub rsp, 0x20
call fcn.140117df0
mov rax, qword [rbp + 0x450]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140122172
mov rcx, qword [rbp + 0x408]
mov rdx, qword [rbp + 0xc28]
sub rsp, 0x20
call fcn.140015730
add rsp, 0x20
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0x460], rax
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x468], rax
lea rcx, [rbp + 0x460]
sub rsp, 0x20
call fcn.140029535
nop
lea rsp, [rbp + 0xc48]
pop rbx
pop rdi
call qword [rax + 0x48a58d48]
or al, 0
add byte [rbx + 0x5f], bl
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ja 0x14012220a
movsb byte [rdi], byte [rsi]
add cl, ch
movabs eax, dword [0xe986c412adffffd8]
lodsd eax, dword [rsi]
adc al, ah
xchg cl, ch
loopne 0x14012219d
invalid
pop rsp
test eax, 0xf5e98b0a
loop 0x1401221cc
invalid
jmp [rbx - 0x1658f6e2]
stosd dword [rdi], eax
invalid
cmpsb byte [rsi], byte [rdi]
xor esi, dword [rcx + 0x75]
jmp 0x140120bce
out 0x41, al