Function at 0x1400020d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
movaps xmmword [rsp + 0x2b0], xmm6
lea rax, [0x14012c847]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xdc5abe8be559213c
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x70]
call fcn.140001000
mov ecx, 0x8aa081a6
xor ecx, dword [rax]
mov dword [rsp + 0x30], ecx
lea rsi, [rsp + 0x70]
lea rdx, [rsp + 0x30]
mov r8d, 4
mov rcx, rsi
call fcn.1400ebf40
cmp byte [rsp + 0x88], 3
jne 0x140003c71
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
lea rax, [0x1401302a5]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xb04841260ea6384b
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001cd0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x76], 0
movabs rcx, 0x3e38386e4b4ca22a
xor rcx, qword [rax]
mov qword [rsp + 0x70], rcx
mov ecx, 0x1f897a74
xor ecx, dword [rax + 8]
mov dword [rsp + 0x78], ecx
movzx eax, word [rax + 0xc]
mov ecx, eax
shr ecx, 8
xor al, 0xf7
xor cl, 0xa0
mov byte [rsp + 0x7c], al
mov byte [rsp + 0x7d], cl
mov qword [rsp + 0x20], 0xe
lea rsi, [rsp + 0x290]
lea r9, [rsp + 0x70]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.1400ef6b0
mov rcx, rsi
call fcn.1400ce800
mov r8, rdx
lea rbx, [rsp + 0x70]
mov rcx, rbx
mov rdx, rax
call fcn.1400f16f0
cmp dword [rsp + 0x70], 2
jne 0x14000226d
mov rdi, qword [rsp + 0x78]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x14000225c
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002249
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dae0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dae0
call fcn.1400f1c50
cmp qword [rax], 0
je 0x1400022bf
add rax, 8
jmp 0x1400022c9
mov rdx, qword [rsp + 0x290]
test rdx, rdx
je 0x14000228d
mov rcx, qword [rsp + 0x298]
mov r8d, 1
call fcn.14000dae0
test r14, r14
je 0x1400022a3
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000dae0
movaps xmm6, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rax
xor edx, edx
call fcn.140005bc0
movups xmm0, xmmword [rax]
inc qword [rax]
xorps xmm1, xmm1
movaps xmmword [rsp + 0x1a0], xmm1
mov qword [rsp + 0x1b0], 0
lea rax, [0x1401321e0]
mov qword [rsp + 0x1b8], rax
movaps xmmword [rsp + 0x1c0], xmm0
lea rax, [0x14012f79e]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xc98fba0e67f1437f
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001a40
mov esi, dword [rax]
mov ecx, 4
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003c92
xor esi, 0x1ed86cc0
mov qword [rsp + 0x30], 4
mov qword [rsp + 0x38], rax
mov dword [rax], esi
mov qword [rsp + 0x40], 4
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400023c5
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1400023c5
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012dcdd]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xef700c91187b122a
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001b60
mov edi, dword [rax]
movzx esi, word [rax + 4]
mov ecx, 6
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003c99
mov ecx, esi
shr ecx, 8
xor cl, 0x99
xor sil, 0x43
xor edi, 0xd3ea73e8
mov qword [rsp + 0x30], 6
mov qword [rsp + 0x38], rax
mov dword [rax], edi
mov byte [rax + 4], sil
mov byte [rax + 5], cl
mov qword [rsp + 0x40], 6
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400024a4
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1400024a4
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012660c]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xcd65d2a1050a2c84
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001c10
mov rdi, qword [rax]
movzx esi, word [rax + 8]
movzx ebx, byte [rax + 0xa]
mov ecx, 0xb
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003ca0
shl ebx, 0x10
or esi, ebx
mov ecx, esi
shr ecx, 0x10
xor cl, 0x18
mov edx, esi
shr edx, 8
xor dl, 0x56
xor sil, 0x6d
movabs r8, 0xdcea31bc4aee02e
xor rdi, r8
mov qword [rsp + 0x30], 0xb
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov byte [rax + 8], sil
mov byte [rax + 9], dl
mov byte [rax + 0xa], cl
mov qword [rsp + 0x40], 0xb
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400025a0
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1400025a0
mov r8d, 1
call fcn.14000dae0
lea rax, [0x1401233df]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xffc13f2b15594c27
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400011e0
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003c75
xor esi, 0x4831fdf2
movabs rcx, 0x5994ada2a06e8941
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14000267d
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x14000267d
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012c7bb]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xce586e8b1bcc3594
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001330
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003c75
xor esi, 0x5584caa6
movabs rcx, 0xea98fce46a6e4147
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14000275a
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x14000275a
mov r8d, 1
call fcn.14000dae0
lea rax, [0x140123854]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xa27314ea6928691c
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400013a0
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
movzx ebx, byte [rax + 0x10]
mov ecx, 0x11
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003ca7
xor bl, 0xbb
movabs rcx, 0xd75c2ad8deecd397
xor rsi, rcx
movabs rcx, 0xb9c5ba363921e606
xor rdi, rcx
mov qword [rsp + 0x30], 0x11
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov qword [rax + 8], rsi
mov byte [rax + 0x10], bl
mov qword [rsp + 0x40], 0x11
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14000284a
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x14000284a
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012dd2e]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0x74dddae855bb10f2
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400014a0
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003c75
xor esi, 0x8ed80be5
movabs rcx, 0x3479816fc64a9a0a
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002927
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002927
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012b114]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xdb7a5cd28f04dd7b
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001140
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
mov ecx, 9
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003cae
xor bl, 0x5c
movabs rcx, 0x1d9c1ba86b62923a
xor rsi, rcx
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x38], rax
mov qword [rax], rsi
mov byte [rax + 8], bl
mov qword [rsp + 0x40], 9
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002a02
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002a02
mov r8d, 1
call fcn.14000dae0
lea rax, [0x14012298d]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xb1770464389818fe
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400015c0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx esi, word [rax + 0x10]
mov ecx, 0x12
mov edx, 1
call fcn.14000dad0
test rax, rax
je 0x140003cb5
mov qword [rsp + 0x1d0], r15
mov qword [rsp + 0x1d8], r14
mov ecx, esi
shr ecx, 8
xor cl, 0xb
xor sil, 0x68
movabs rdx, 0xcb066556e344b5a
xor rdi, rdx
movabs rdx, 0x2947a6d4181888d5
xor rbx, rdx
mov qword [rsp + 0x30], 0x12
mov qword [rsp + 0x38], rax
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov byte [rax + 0x10], sil
mov byte [rax + 0x11], cl
mov qword [rsp + 0x40], 0x12
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.1400057c0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002b0f
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002b0f
mov r8d, 1
call fcn.14000dae0
mov r9, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x1b8]
lea rcx, [r9 + 1]
movdqa xmm0, xmmword [r8]
test r9, r9
je 0x140002b4f
mov edx, 0x30
mov rax, rcx
mul rdx
jo 0x140002b4b
add r9, 0x11
add r9, rax
jae 0x140002b53
xor edx, edx
jmp 0x140002b58
xor edx, edx
jmp 0x140002b5e
mov edx, 0x10
mov r10, r8
sub r10, rax
lea rax, [r8 + 0x10]
pmovmskb r11d, xmm0
not r11d
add rcx, r8
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], r8
mov word [rsp + 0x138], r11w
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], r10
mov qword [rsp + 0x150], r9
mov qword [rsp + 0x158], rdx
test r15, r15
je 0x140003ab9
lea r12, [rsp + 0x1e0]
xorps xmm6, xmm6
xor eax, eax
mov qword [rsp + 0x178], rax
jmp 0x140002bdf
mov r12, rbx
mov rbx, r14
test r15, r15
je 0x140003ab9
movzx ecx, word [rsp + 0x138]
test cx, cx
je 0x140002c10
mov rax, qword [rsp + 0x130]
lea edx, [rcx - 1]
and edx, ecx
mov word [rsp + 0x138], dx
test rax, rax
jne 0x140002c60
jmp 0x140003ab9
mov rdx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
movdqa xmm0, xmmword [rdx]
pmovmskb ecx, xmm0
add rax, 0xfffffffffffffd00
add rdx, 0x10
cmp cx, 0xffff
je 0x140002c20
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x120], rdx
mov edx, 0xfffffffe
sub edx, ecx
not ecx
mov r8d, ecx
and r8d, edx
mov word [rsp + 0x138], r8w
dec r15
mov qword [rsp + 0x140], r15
tzcnt ecx, ecx
neg rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov rsi, qword [rax + rcx - 0x28]
test rsi, rsi
je 0x140003ab9
mov r14, rbx
mov rbx, r12
lea rdx, [rax + rcx]
add rdx, 0xffffffffffffffd0
mov rdi, qword [rax + rcx - 0x30]
mov r13, qword [rax + rcx - 0x18]
mov rbp, qword [rax + rcx - 0x10]
mov r12, qword [rax + rcx - 8]
mov r8, qword [rdx + 0x10]
lea rcx, [rsp + 0x220]
mov rdx, rsi
call fcn.1400ebf40
test rdi, rdi
je 0x140002cd4
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call fcn.14000dae0
movzx eax, byte [rsp + 0x238]
cmp eax, 2
je 0x140002e70
cmp eax, 3
jne 0x140002e50
mov rsi, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
mov qword [rsp + 0x20], r12
mov r12, rbx
mov rcx, rbx
mov rdx, rdi
mov r9, rbp
call fcn.1400ef6b0
test r13, r13
je 0x140002d32
mov r8d, 1
mov rcx, rbp
mov rdx, r13
call fcn.14000dae0
test rsi, rsi
mov rbx, r14
je 0x140002d4b
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call fcn.14000dae0
mov rcx, r12
call fcn.1400ce800
mov r8, rdx
mov rcx, rbx
mov rdx, rax
call fcn.1400f16f0
cmp dword [rsp + 0x70], 2
lea r14, [rsp + 0x30]
jne 0x140002e8f
mov rsi, qword [rsp + 0x78]
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x140002dbb
lea r13, [rsi - 1]
mov rcx, qword [rsi - 1]
mov rax, qword [rsi + 7]
call qword [rax]
mov rax, qword [rsi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002da8
mov r8, qword [rax + 0x10]
mov rcx, qword [r13]
call fcn.14000dae0
mov edx, 0x18
mov r8d, 8
mov rcx, r13
call fcn.14000dae0
mov rcx, r12
call fcn.1400ce800
mov r8, rdx
mov rcx, rbx
mov rdx, rax
call fcn.1400f16f0
cmp dword [rsp + 0x70], 2
jne 0x140002ec9
mov rdi, qword [rsp + 0x78]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140002e25
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002e12
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dae0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dae0
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x140002bd6
mov rcx, qword [rsp + 0x1e8]
mov r8d, 1
call fcn.14000dae0
jmp 0x140002bd6
mov rdx, qword [rsp + 0x220]
test rdx, rdx
je 0x140002e70
mov rcx, qword [rsp + 0x228]
mov r8d, 1
call fcn.14000dae0
test r13, r13
je 0x140002bd0
mov r8d, 1
mov rcx, rbp
mov rdx, r13
call fcn.14000dae0
jmp 0x140002bd0
mov rsi, qword [rsp + 0x1e8]
mov r13, qword [rsp + 0x1f0]
test r13, r13
je 0x140002fcf
js 0x140003c7c
mov edx, 1
mov rcx, r13
call fcn.14000dad0
test rax, rax
jne 0x140002fd4
jmp 0x140003c83
mov rcx, r12
call fcn.1400ce800
mov r13, rax
mov rbp, rdx
lea rax, [0x14012e062]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xea140c87da20d570
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001aa0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x73], 0
mov ecx, dword [rax]
mov edx, 0x77fe0899
xor ecx, edx
mov dword [rsp + 0x70], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0xf
xor dl, 0xe
mov byte [rsp + 0x74], cl
mov byte [rsp + 0x75], dl
xor al, 0x43
mov byte [rsp + 0x76], al
mov qword [rsp + 0x20], 7
lea rcx, [rsp + 0x200]
mov rdx, r13
mov r8, rbp
mov r9, rbx
call fcn.1400ef6b0
mov rcx, rbx
call fcn.1400ec080
cmp byte [rsp + 0x88], 2
je 0x140003c71
movdqu xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm0
mov rsi, qword [rsp + 0x208]
mov r13, qword [rsp + 0x210]
test r13, r13
lea r15, [rsp + 0x260]
je 0x14000307c
js 0x140003c7c
mov edx, 1
mov rcx, r13
call fcn.14000dad0
test rax, rax
jne 0x140003081
jmp 0x140003c83
mov eax, 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, rsi
mov r8, r13
call fcn.14012c7c0
mov qword [rsp + 0x80], r13
movzx eax, byte [rsp + 0x1f8]
mov byte [rsp + 0x88], al
call fcn.14000e240
mov byte [rsp + 0x30], al
mov rcx, rbx
call fcn.1400ce800
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.1400f4190
mov rbp, rax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x14000303f
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000dae0
test rbp, rbp
je 0x140002dbb
mov eax, ebp
and eax, 3
cmp eax, 1
jne 0x140002dbb
mov r13, rbp
dec r13
mov rcx, qword [rbp - 1]
mov rax, qword [rbp + 7]
call qword [rax]
mov rax, qword [rbp + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x140002d9b
jmp 0x140002da8
mov eax, 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, rsi
mov r8, r13
call fcn.14012c7c0
mov qword [rsp + 0x80], r13
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0x88], al
mov rcx, r14
call fcn.1400ce800
mov rsi, rax
mov rdi, rdx
mov rcx, rbx
call fcn.1400ce800
mov qword [rsp + 0x20], rdx
mov rcx, r15
mov rdx, rsi
mov r8, rdi
mov r9, rax
call fcn.1400f1aa0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400030f6
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000dae0
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x140003110
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.14000dae0
cmp qword [rsp + 0x260], 0
je 0x140003167
mov rdi, qword [rsp + 0x268]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140003167
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140003154
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dae0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dae0
lea rax, [0x14012a40a]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xa561ce13cb6d2bbb
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001760
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x33], 0
mov ecx, dword [rax]
mov edx, 0x1aaf78e1
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0x38
xor dl, 0x65
mov byte [rsp + 0x34], cl
mov byte [rsp + 0x35], dl
xor al, 0xd7
mov byte [rsp + 0x36], al
mov r8d, 7
mov rcx, rbx
mov rdx, r14
call fcn.1400f4920
mov rcx, rbx
mov edx, 0x8000000
call fcn.1400f6d70
lea rax, [0x14012b167]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xdb8d9d953fc23572
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001a10
mov word [rsp + 0x30], 0
movzx eax, word [rax]
mov ecx, eax
shr ecx, 8
xor al, 0xca
xor cl, 0x99
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], cl
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x14012c536]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xf0a9b14d3225031b
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400012d0
mov qword [rsp + 0x30], 0
mov rax, qword [rax]
movabs rcx, 0x8d772ef2c251090a
xor rax, rcx
mov qword [rsp + 0x30], rax
mov r8d, 8
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x14012844a]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x9e4bb77076c53cc9
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001030
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x33], 0
mov ecx, dword [rax]
mov edx, 0xa70510de
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0x71
xor dl, 0x98
mov byte [rsp + 0x34], cl
mov byte [rsp + 0x35], dl
xor al, 0xc4
mov byte [rsp + 0x36], al
mov r8d, 7
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x140129527]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xf398a3ce50ea2ca9
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001570
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x53
xor dl, 0x57
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 7
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x1401233a0]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xb5ebfaaf7b988aa1
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001910
mov dword [rsp + 0x30], 0
mov word [rsp + 0x34], 0
mov ecx, dword [rax]
mov edx, 0xdf7c7d0b
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx eax, word [rax + 4]
mov ecx, eax
shr ecx, 8
xor al, 0xc5
xor cl, 0x99
mov byte [rsp + 0x34], al
mov byte [rsp + 0x35], cl
mov r8d, 6
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x140131cf9]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x5a76ffbb92df95a5
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400014d0
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x2d
xor dl, 0xfc
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 0xa8
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x1401292c4]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x6ace5a26b8e27fea
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400017d0
mov byte [rsp + 0x30], 0
movzx eax, byte [rax]
xor al, 0xf8
mov byte [rsp + 0x30], al
mov r8d, 1
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x1401245b7]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4eabea0c7e8e8d08
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001270
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
not al
xor dl, 0x20
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 0xc9
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
lea rax, [0x140129b3e]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x20c2b8965fd423a5
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001c70
movaps xmmword [rsp + 0x160], xmm6
mov word [rsp + 0x170], 0
mov rcx, qword [rax]
movabs rdx, 0x720723a9c40a991d
xor rcx, rdx
mov qword [rsp + 0x160], rcx
mov rcx, qword [rax + 8]
movabs rdx, 0x5e4127a4583b5a90
xor rcx, rdx
mov qword [rsp + 0x168], rcx
movzx eax, word [rax + 0x10]
mov ecx, eax
shr ecx, 8
xor al, 0x3e
xor cl, 0xc5
mov byte [rsp + 0x170], al
mov byte [rsp + 0x171], cl
lea rax, [rsp + 0x160]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 0x12
call fcn.1400df820
mov r13, rax
lea rbp, [rax + 0x10]
mov rcx, qword [rax + 0x110]
cmp rcx, 0x3f
jae 0x140003639
lea rax, [rcx + 2]
mov qword [r13 + 0x110], rax
mov rdi, qword [r13 + rcx*4 + 0x10]
cmp rcx, 0x3d
jb 0x1400036ef
cmp rax, 0x3f
jne 0x140003a12
mov r15d, dword [r13 + 0x10c]
mov rsi, r13
add rsi, 0x120
call fcn.14000e240
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x140003a56
cmp qword [r13 + 0x160], rax
js 0x140003a56
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400dfb40
jmp 0x140003a64
jne 0x140003686
mov r15d, dword [r13 + 0x10c]
mov rsi, r13
add rsi, 0x120
call fcn.14000e240
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x1400036ca
cmp qword [r13 + 0x160], rax
js 0x1400036ca
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400dfb40
jmp 0x1400036d8
mov rsi, r13
add rsi, 0x120
call fcn.14000e240
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x1400036fd
cmp qword [r13 + 0x160], rax
js 0x1400036fd
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400dfb40
jmp 0x14000370b
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006930
mov edi, dword [rbp]
shl rdi, 0x20
or rdi, r15
mov eax, 1
lea r15, [rsp + 0x260]
lea rdx, [rax + 2]
mov rcx, qword [rsp + 0x178]
jmp 0x14000371b
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006930
mov rdi, qword [rbp]
mov eax, 2
mov edx, 4
xor ecx, ecx
mov qword [r13 + 0x110], rdx
mov rax, qword [r13 + rax*4 + 0x10]
or rcx, rax
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x258], rcx
lea rax, [rsp + 0x240]
mov qword [rsp + 0x260], rax
lea rax, [0x140006740]
mov qword [rsp + 0x268], rax
lea rax, [rsp + 0x250]
mov qword [rsp + 0x270], rax
lea rax, [0x140100c00]
mov qword [rsp + 0x278], rax
lea rax, [0x140132038]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 2
lea rcx, [rsp + 0x180]
mov rdx, r14
call fcn.1400feb80
dec qword [r13]
jne 0x1400037d3
dec qword [r13 + 8]
jne 0x1400037d3
mov edx, 0x170
mov r8d, 0x10
mov rcx, r13
call fcn.14000dae0
mov rsi, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
mov rcx, rbx
mov rdx, rsi
call fcn.1400f4a00
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x140003809
mov r8d, 1
mov rcx, rsi
call fcn.14000dae0
lea rax, [0x14012a875]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xd92ab305fc5f7070
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001530
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0xd1
xor dl, 0x50
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 6
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.1400f4a00
mov r13, qword [rsp + 0x208]
mov rbp, qword [rsp + 0x210]
test rbp, rbp
je 0x1400038a5
js 0x140003c7c
mov edx, 1
mov rcx, rbp
call fcn.14000dad0
mov rsi, rax
test rax, rax
jne 0x1400038aa
jmp 0x140003cc6
mov esi, 1
mov rcx, rsi
mov rdx, r13
mov r8, rbp
call fcn.14012c7c0
movzx eax, byte [rsp + 0x218]
mov qword [rsp + 0x180], rbp
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x190], rbp
mov byte [rsp + 0x198], al
lea rcx, [rsp + 0x180]
call fcn.1400ce800
mov rcx, rax
call fcn.1400f0e20
test rax, rax
je 0x140003c71
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.140102150
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], 0
mov rcx, r14
lea rdx, [rsp + 0x160]
lea r8, [0x140132000]
call fcn.140102490
mov rcx, r15
mov rdx, r14
call fcn.140106290
test al, al
jne 0x140003c71
mov rsi, qword [rsp + 0x168]
mov r8, qword [rsp + 0x170]
mov rcx, rbx
mov rdx, rsi
call fcn.1400f4a00
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x14000398f
mov r8d, 1
mov rcx, rsi
call fcn.14000dae0
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x1400039af
mov rcx, qword [rsp + 0x188]
mov r8d, 1
call fcn.14000dae0
mov rcx, r14
mov rdx, rbx
call fcn.1400f6d80
mov rcx, r14
call fcn.140001e90
mov rcx, rbx
call fcn.140001d50
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x1400039e5
mov r8d, 1
mov rcx, r13
call fcn.14000dae0
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x140003a05
mov rcx, qword [rsp + 0x1e8]
mov r8d, 1
call fcn.14000dae0
mov r15, qword [rsp + 0x140]
jmp 0x140002bd6
mov rsi, r13
add rsi, 0x120
call fcn.14000e240
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x140003a8f
cmp qword [r13 + 0x160], rax
js 0x140003a8f
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400dfb40
jmp 0x140003a9d
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006930
mov qword [r13 + 0x110], 1
mov eax, dword [r13 + 0x10]
shl rax, 0x20
or rax, r15
mov rcx, qword [rsp + 0x178]
lea r15, [rsp + 0x260]
jmp 0x140003727
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006930
mov qword [r13 + 0x110], 2
mov rax, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x178]
jmp 0x140003727
lea rcx, [rsp + 0x120]
call fcn.14000c280
lea rax, [0x140131259]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0x249739d66c6f3c18
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400012f0
mov ecx, 0x76179b04
xor ecx, dword [rax]
mov dword [rsp + 0x30], ecx
lea rsi, [rsp + 0x70]
lea rdx, [rsp + 0x30]
mov r8d, 4
mov rcx, rsi
call fcn.1400ebf40
cmp byte [rsp + 0x88], 3
jne 0x140003c71
mov rbx, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
lea rax, [0x140123939]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xf08d77f63398dd12
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001980
movabs rcx, 0x149e7aeabf0c331d
xor rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov ecx, 0xa3a9b66b
xor ecx, dword [rax + 8]
mov dword [rsp + 0x38], ecx
movzx eax, word [rax + 0xc]
mov ecx, eax
shr ecx, 8
xor al, 0xf9
xor cl, 7
mov byte [rsp + 0x3c], al
mov byte [rsp + 0x3d], cl
mov qword [rsp + 0x20], 0xe
lea rsi, [rsp + 0x70]
lea r9, [rsp + 0x30]
mov rcx, rsi
mov rdx, r14
mov r8, r15
call fcn.1400ef6b0
mov rcx, rsi
call fcn.1400ce800
lea r8, [0x140132030]
mov rcx, rax
xor r9d, r9d
call fcn.1400f3f30
mov r15, rax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140003be9
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000dae0
test r15, r15
je 0x140003c35
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x140003c35
mov rsi, r15
dec rsi
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax]
mov rax, qword [r15 + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140003c22
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000dae0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000dae0
test rbx, rbx
je 0x140003c4b
mov r8d, 1
mov rcx, r14
mov rdx, rbx
call fcn.14000dae0
mov rdx, qword [rsp + 0x290]
test rdx, rdx
mov r14, qword [rsp + 0x1d8]
mov r15, qword [rsp + 0x1d0]
jne 0x14000227a
jmp 0x14000228d
ud2
mov ecx, 0xc
jmp 0x140003cba
call fcn.1400f47e0
ud2
mov edx, 1
mov rcx, r13
call fcn.1401309a0
ud2
mov ecx, 4
jmp 0x140003cba
mov ecx, 6
jmp 0x140003cba
mov ecx, 0xb
jmp 0x140003cba
mov ecx, 0x11
jmp 0x140003cba
mov ecx, 9
jmp 0x140003cba
mov ecx, 0x12
mov edx, 1
call fcn.1401309a0
ud2
mov edx, 1
mov rcx, rbp
call fcn.1401309a0
ud2