Function at 0x1400e2150
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
fld xword [r9]
mov ebx, dword [rbp + 0x1c0]
fld st(0)
fstp xword [rbp]
lea rsi, [rbp + 0x50]
mov rdi, r8
lea r15, [rbp + 0x80]
mov r9, rsi
mov qword [rbp + 0x1a0], rcx
mov rcx, r15
mov qword [rbp + 0x1a8], rdx
fstp xword [rbp + 0x50]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], ebx
mov rdx, qword [rbp + 0x1a8]
call method.std::optional_std::to_chars_result__std.__handle_special_value_long_double__char__char__long_double__std::chars_format__int_
cmp byte [rbp + 0x90], 0
je 0x1400e21f0
mov rax, qword [rbp + 0x1a0]
movdqa xmm1, xmmword [rbp + 0x80]
movups xmmword [rax], xmm1
mov rax, qword [rbp + 0x1a0]
lea rsp, [rbp + 0x158]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
fld xword [rbp]
xor edx, edx
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x48], rdx
fstp xword [rbp + 0x50]
mov rax, qword [rbp + 0x50]
mov r9, qword [rbp + 0x58]
mov r8, qword [rbp + 0x58]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x40]
shr r9, 0xf
mov qword [rbp - 0x18], rax
and r9d, 1
and r8d, 0x7fff
mov rdx, rax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0xf
mov dword [rsp + 0x20], 0x40
call sym._anonymous_namespace_::ryu::generic128::generic_binary_to_decimal_unsigned___int128__unsigned_int__bool__unsigned_int__unsigned_int__bool_
mov r12, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
movabs rax, 0x98a223fffffffff
cmp rax, r12
movabs rax, 0x4b3b4ca85a86c47a
sbb rax, r13
jb 0x1400e264c
movabs r10, 0x98a224000000000
mov r9d, 0x27
movabs r11, 0x4b3b4ca85a86c47a
movabs rcx, 0xcccccccccccccccd
movabs r8, 0xcccccccccccccccc
nop dword [rax]
mov r14, r10
add r14, r11
adc r14, 0
mov rax, r14
mul rcx
mov rax, rdx
and rdx, 0xfffffffffffffffc
shr rax, 2
add rdx, rax
sub r14, rdx
sub r10, r14
sbb r11, 0
mov rax, r10
mov r14, r11
imul rax, r8
imul r14, rcx
add r14, rax
mov rax, r10
mul rcx
mov r11, rdx
mov r10, rax
add r11, r14
shrd r10, r11, 1
shr r11, 1
sub r9d, 1
je 0x1400e2490
cmp r12, r10
mov rax, r13
sbb rax, r11
jb 0x1400e22a0
mov eax, r9d
mov ecx, dword [rbp + 0x70]
mov dword [rbp - 0x10], ecx
lea edx, [rcx + rax]
movzx ecx, byte [rbp + 0x74]
mov r8d, ecx
cmp ebx, 3
je 0x1400e2478
test ebx, ebx
je 0x1400e2400
cmp ebx, 1
je 0x1400e2486
mov ebx, dword [rbp - 0x10]
mov r9, rdi
sub r9, qword [rbp + 0x1a8]
test ebx, ebx
js 0x1400e24a0
mov rdx, r12
add eax, ecx
xor rdx, 1
add eax, ebx
or rdx, r13
je 0x1400e3afd
movsxd rdx, eax
cmp rdx, r9
jg 0x1400e245d
mov rdx, r12
or rdx, r13
je 0x1400e2afc
test r13, r13
je 0x1400e25b7
add eax, 1
mov rdi, rsp
cdqe
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.14000ea10
sub rsp, rax
call sym.fegetround
lea rbx, [rsp + 0x40]
mov r15d, eax
test eax, eax
jne 0x1400e35b7
fld xword [rbp]
mov r8, rsi
lea rdx, str._.0Lf
mov rcx, rbx
fstp xword [rbp + 0x50]
call sym.sprintf_char__char_const__::_
movsxd r12, eax
mov rcx, qword [rbp + 0x1a8]
mov r8, r12
mov rdx, rbx
call sym.memcpy
mov rax, qword [rbp + 0x1a0]
add r12, qword [rbp + 0x1a8]
mov qword [rax], r12
mov dword [rax + 8], 0
mov rsp, rdi
jmp 0x1400e21d1
cmp r9d, 1
je 0x1400e258f
mov r9d, 0xfffffffd
mov ebx, dword [rbp - 0x10]
sub r9d, eax
cmp ebx, r9d
jge 0x1400e2581
add eax, ecx
add eax, 1
lea ecx, [rdx - 1]
mov edx, ecx
neg edx
cmovs edx, ecx
mov ecx, 6
cmp edx, 0x3e7
jg 0x1400e2446
xor ecx, ecx
cmp edx, 0x63
setg cl
add ecx, 4
add eax, ecx
mov rdx, rdi
sub rdx, qword [rbp + 0x1a8]
mov eax, eax
cmp rdx, rax
jge 0x1400e2540
mov rax, qword [rbp + 0x1a0]
mov qword [rax], rdi
mov dword [rax + 8], 0x84
jmp 0x1400e21d1
lea r10d, [rdx + 3]
cmp r10d, 9
jbe 0x1400e2332
add eax, ecx
cmp r9d, 1
jne 0x1400e2421
jmp 0x1400e2424
mov eax, 1
mov r9d, 1
jmp 0x1400e2308
test edx, edx
mov esi, dword [rbp - 0x10]
mov r10d, 1
cmovle edx, r10d
sub ecx, esi
lea edx, [rcx + rdx + 1]
movsxd rdx, edx
cmp rdx, r9
jg 0x1400e245d
neg esi
mov ebx, esi
cmp esi, eax
jl 0x1400e265c
test r8b, r8b
je 0x1400e24e3
mov rsi, qword [rbp + 0x1a8]
mov byte [rsi], 0x2d
add rsi, 1
mov qword [rbp + 0x1a8], rsi
mov rsi, qword [rbp + 0x1a8]
mov r14d, 0x2e30
mov edx, 0x30
mov word [rsi], r14w
lea rcx, [rsi + 2]
mov esi, ebx
sub esi, eax
movsxd rsi, esi
mov r8, rsi
call sym.memset
add rsi, rax
cmp rdi, rsi
je 0x1400e3882
mov rax, r12
or rax, r13
jne 0x1400e2b06
mov byte [rsi], 0x30
xor eax, eax
add rsi, 1
mov rdi, qword [rbp + 0x1a0]
mov qword [rdi], rsi
mov qword [rdi + 8], rax
jmp 0x1400e21d1
movdqa xmm2, xmmword [rbp + 0x60]
movdqa xmm3, xmmword [rbp + 0x70]
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x1a8]
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x30], xmm3
call sym._anonymous_namespace_::ryu::generic128::generic_to_chars__anonymous_namespace_::ryu::generic128::floating_decimal_128__char_
mov rsi, qword [rbp + 0x1a0]
cdqe
add rax, qword [rbp + 0x1a8]
mov qword [rsi], rax
mov dword [rsi + 8], 0
jmp 0x1400e21d1
cmp ebx, 5
jle 0x1400e2332
jmp 0x1400e241f
mov ebx, dword [rbp - 0x10]
cmp ebx, 0xfffffffd
jl 0x1400e25a0
cmp ebx, 4
jle 0x1400e2332
lea eax, [rcx + 1]
jmp 0x1400e2424
sub eax, 1
movsxd rdx, eax
cmp r9, rdx
jl 0x1400e245d
bsr rcx, r12
mov ebx, dword [rbp - 0x10]
mov r9d, 0xaaaaaaab
lea edx, [rbx + rbx*4]
lea edx, [rdx + rdx + 2]
imul rdx, r9
shr rdx, 0x21
add edx, ecx
cmp edx, 0x3d
jg 0x1400e237c
test r8b, r8b
je 0x1400e25f8
mov rax, qword [rbp + 0x1a8]
mov byte [rax], 0x2d
add rax, 1
mov qword [rbp + 0x1a8], rax
cmp rdi, qword [rbp + 0x1a8]
je 0x1400e35e6
mov rax, r12
or rax, r13
jne 0x1400e26d2
mov rax, qword [rbp + 0x1a8]
xor r12d, r12d
mov byte [rax], 0x30
lea rdi, [rax + 1]
movsxd rsi, dword [rbp - 0x10]
mov edx, 0x30
mov rcx, rdi
mov r8, rsi
add rsi, rdi
call sym.memset
mov rax, qword [rbp + 0x1a0]
mov qword [rax], rsi
mov dword [rax + 8], r12d
jmp 0x1400e21d1
mov eax, 0x27
mov r9d, 0x27
jmp 0x1400e2308
test r8b, r8b
je 0x1400e2676
mov rax, qword [rbp + 0x1a8]
mov byte [rax], 0x2d
add rax, 1
mov qword [rbp + 0x1a8], rax
cmp rdi, qword [rbp + 0x1a8]
je 0x1400e3875
mov rax, r12
or rax, r13
jne 0x1400e2f37
mov rax, qword [rbp + 0x1a8]
xor esi, esi
mov byte [rax], 0x30
lea rdi, [rax + 1]
movsxd rax, dword [rbp - 0x10]
movsxd r8, ebx
lea r12, [rdi + rax]
lea rcx, [rdi + rax + 1]
add rdi, 1
mov rdx, r12
call sym.memmove
mov rax, qword [rbp + 0x1a0]
mov byte [r12], 0x2e
mov qword [rax], rdi
mov dword [rax + 8], esi
jmp 0x1400e21d1
xor eax, eax
mov edx, 9
cmp rdx, r12
mov rsi, rax
sbb rsi, r13
jae 0x1400e3b4d
mov edx, 0x63
mov rsi, rax
cmp rdx, r12
sbb rsi, r13
jae 0x1400e3b42
mov edx, 0x3e7
mov rsi, rax
cmp rdx, r12
sbb rsi, r13
jae 0x1400e3b37
mov edx, 0x270f
cmp rdx, r12
sbb rax, r13
jae 0x1400e3b6b
mov r11d, 1
mov qword [rbp - 0x30], r12
mov rcx, r12
mov rdx, r13
mov qword [rbp - 0x28], r13
lea rsi, [rbp + 0x10]
xor r14d, r14d
mov ebx, r11d
mov qword [rbp + 0x1b0], rdi
mov rdi, qword [rbp - 0x18]
mov qword [rbp - 0x18], r15
jmp 0x1400e278c
mov eax, 0xf423f
cmp rax, r15
mov rax, r14
sbb rax, r13
jae 0x1400e3390
mov eax, 0x98967f
cmp rax, r15
mov rax, r14
sbb rax, r13
jae 0x1400e3856
mov eax, 0x5f5e0ff
cmp rax, r15
mov rax, r14
sbb rax, r13
jae 0x1400e3837
mov qword [rbp + 0x40], rcx
mov r15, rcx
mov r13, rdx
mov rcx, rdi
mov qword [rbp + 0x48], rdx
mov rdx, rsi
add ebx, 4
mov qword [rbp + 0x10], 0x2710
mov qword [rbp + 0x18], 0
call sym.__udivti3
mov eax, 0x1869f
cmp rax, r15
mov rax, r14
movaps xmmword [rbp], xmm0
mov rcx, qword [rbp]
sbb rax, r13
mov rdx, qword [rbp + 8]
jb 0x1400e2750
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov r11d, ebx
mov rdi, qword [rbp + 0x1b0]
mov r15, qword [rbp - 0x18]
mov rax, rdi
mov r8d, r11d
sub rax, qword [rbp + 0x1a8]
cmp rax, r8
jl 0x1400e35e6
movabs rax, 0x3330323031303030
sub r11d, 1
movabs rdx, 0x3730363035303430
mov qword [rbp + 0x80], rax
movabs rax, 0x3131303139303830
mov qword [rbp + 0x88], rdx
movabs rdx, 0x3531343133313231
mov qword [rbp + 0x90], rax
movabs rax, 0x3931383137313631
mov qword [rbp + 0x98], rdx
movabs rdx, 0x3332323231323032
mov qword [rbp + 0xa0], rax
movabs rax, 0x3732363235323432
mov qword [rbp + 0xa8], rdx
movabs rdx, 0x3133303339323832
mov qword [rbp + 0xb0], rax
movabs rax, 0x3533343333333233
mov qword [rbp + 0xb8], rdx
movabs rdx, 0x3933383337333633
mov qword [rbp + 0xc0], rax
movabs rax, 0x3334323431343034
mov qword [rbp + 0xc8], rdx
movabs rdx, 0x3734363435343434
mov qword [rbp + 0xd0], rax
movabs rax, 0x3135303539343834
mov qword [rbp + 0xd8], rdx
movabs rdx, 0x3535343533353235
mov qword [rbp + 0xe0], rax
movabs rax, 0x3935383537353635
mov qword [rbp + 0xe8], rdx
movabs rdx, 0x3336323631363036
mov qword [rbp + 0xf0], rax
movabs rax, 0x3736363635363436
mov qword [rbp + 0xf8], rdx
movabs rdx, 0x3137303739363836
mov qword [rbp + 0x100], rax
movabs rax, 0x3537343733373237
mov qword [rbp + 0x108], rdx
movabs rdx, 0x3937383737373637
mov qword [rbp + 0x110], rax
movabs rax, 0x3338323831383038
mov qword [rbp + 0x118], rdx
movabs rdx, 0x3738363835383438
mov qword [rbp + 0x120], rax
movabs rax, 0x3139303939383838
mov qword [rbp + 0x128], rdx
movabs rdx, 0x3539343933393239
mov qword [rbp + 0x138], rdx
movabs rdx, 0x39393839373936
mov qword [rbp + 0x130], rax
movabs rax, 0x3935393439333932
mov qword [rbp + 0x139], rax
mov qword [rbp + 0x141], rdx
movabs rdi, 0xfffffffffffffff
mov qword [rbp], r8
movabs r14, 0x8f5c28f5c28f5c29
nop word [rax + rax]
mov rax, r12
mov rcx, r12
xor ebx, ebx
mov esi, 0x19
shrd rax, r13, 0x3c
and rcx, rdi
and rax, rdi
add rcx, rax
mov rax, r13
shr rax, 0x38
add rcx, rax
movabs rax, 0x47ae147ae147ae15
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 4
lea rax, [rdx + rdx*4]
mov rdx, r13
lea rax, [rax + rax*4]
sub rcx, rax
mov rax, r12
sub rax, rcx
sbb rdx, rbx
mov r10, rdx
movabs rdx, 0x28f5c28f5c28f5c2
imul rdx, rax
imul r10, r14
add r10, rdx
mul r14
mov r8, rax
and eax, 3
mov r9, rdx
mul rsi
add r9, r10
mov rdx, r13
mov rsi, qword [rbp + 0x1a8]
add rax, rcx
shrd r8, r9, 2
mov rcx, r12
add rax, rax
shr r9, 2
mov r12, r8
mov r8d, r11d
mov r13, r9
lea r9, [r15 + rax]
mov rbx, rax
mov rax, qword [rbp + 0x1a8]
movzx r9d, byte [r9 + 1]
mov byte [rax + r8], r9b
lea rax, [rbx + r15]
lea r8d, [r11 - 1]
sub r11d, 2
movzx eax, byte [rax]
mov byte [rsi + r8], al
mov eax, 0x270f
xor esi, esi
cmp rax, rcx
sbb rsi, rdx
jb 0x1400e29e0
mov eax, 0x3e7
xor esi, esi
mov r8, qword [rbp]
cmp rax, rcx
sbb rsi, rdx
jb 0x1400e3590
lea eax, [r12 + 0x30]
mov rdi, qword [rbp + 0x1a8]
xor r12d, r12d
mov byte [rdi], al
mov rdi, qword [rbp + 0x1a8]
add rdi, r8
jmp 0x1400e2622
mov ecx, 0xffffffff
jmp 0x1400e25bb
xor eax, eax
mov edx, 9
cmp rdx, r12
mov rbx, rax
sbb rbx, r13
jae 0x1400e3bcb
mov edx, 0x63
mov rbx, rax
cmp rdx, r12
sbb rbx, r13
jae 0x1400e3bc0
mov edx, 0x3e7
mov rbx, rax
cmp rdx, r12
sbb rbx, r13
jae 0x1400e3bb5
mov edx, 0x270f
cmp rdx, r12
sbb rax, r13
jae 0x1400e3be5
mov qword [rbp - 0x30], rsi
mov rdx, r12
mov rsi, qword [rbp - 0x18]
mov rax, r13
mov qword [rbp - 0x18], r15
mov r14d, 1
lea rbx, [rbp + 0x10]
mov r15, rdi
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r13
jmp 0x1400e2bbc
mov ecx, 0xf423f
cmp rcx, r13
mov rcx, r8
sbb rcx, rdi
jae 0x1400e38a8
mov ecx, 0x98967f
cmp rcx, r13
mov rcx, r8
sbb rcx, rdi
jae 0x1400e388c
mov ecx, 0x5f5e0ff
cmp rcx, r13
mov rcx, r8
sbb rcx, rdi
jae 0x1400e3ac3
mov qword [rbp + 0x40], rdx
mov r13, rdx
mov rcx, rsi
mov rdx, rbx
mov rdi, rax
mov qword [rbp + 0x48], rax
add r14d, 4
mov qword [rbp + 0x10], 0x2710
mov qword [rbp + 0x18], 0
call sym.__udivti3
mov ecx, 0x1869f
xor r8d, r8d
cmp rcx, r13
mov rcx, r8
movaps xmmword [rbp], xmm0
mov rdx, qword [rbp]
sbb rcx, rdi
mov rax, qword [rbp + 8]
jb 0x1400e2b80
mov rdi, r15
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
mov rax, rdi
mov r8d, r14d
sub rax, rsi
cmp r8, rax
jg 0x1400e387f
movabs rax, 0x3330323031303030
lea r10d, [r14 - 1]
movabs rdx, 0x3730363035303430
mov qword [rbp + 0x80], rax
movabs rax, 0x3131303139303830
mov qword [rbp + 0x88], rdx
movabs rdx, 0x3531343133313231
mov qword [rbp + 0x90], rax
movabs rax, 0x3931383137313631
mov qword [rbp + 0x98], rdx
movabs rdx, 0x3332323231323032
mov qword [rbp + 0xa0], rax
movabs rax, 0x3732363235323432
mov qword [rbp + 0xa8], rdx
movabs rdx, 0x3133303339323832
mov qword [rbp + 0xb0], rax
movabs rax, 0x3533343333333233
mov qword [rbp + 0xb8], rdx
movabs rdx, 0x3933383337333633
mov qword [rbp + 0xc0], rax
movabs rax, 0x3334323431343034
mov qword [rbp + 0xc8], rdx
movabs rdx, 0x3734363435343434
mov qword [rbp + 0xd0], rax
movabs rax, 0x3135303539343834
mov qword [rbp + 0xd8], rdx
movabs rdx, 0x3535343533353235
mov qword [rbp + 0xe0], rax
movabs rax, 0x3935383537353635
mov qword [rbp + 0xe8], rdx
movabs rdx, 0x3336323631363036
mov qword [rbp + 0xf0], rax
movabs rax, 0x3736363635363436
mov qword [rbp + 0xf8], rdx
movabs rdx, 0x3137303739363836
mov qword [rbp + 0x100], rax
movabs rax, 0x3537343733373237
mov qword [rbp + 0x108], rdx
movabs rdx, 0x3937383737373637
mov qword [rbp + 0x110], rax
movabs rax, 0x3338323831383038
mov qword [rbp + 0x118], rdx
movabs rdx, 0x3738363835383438
mov qword [rbp + 0x120], rax
movabs rax, 0x3139303939383838
mov qword [rbp + 0x128], rdx
movabs rdx, 0x3539343933393239
mov qword [rbp + 0x138], rdx
movabs rdx, 0x39393839373936
mov qword [rbp + 0x130], rax
movabs rax, 0x3935393439333932
mov qword [rbp + 0x139], rax
mov qword [rbp + 0x141], rdx
movabs rdi, 0xfffffffffffffff
mov qword [rbp - 0x10], r8
movabs r14, 0x8f5c28f5c28f5c29
nop word [rax + rax]
mov rax, r12
mov rcx, r12
xor ebx, ebx
shrd rax, r13, 0x3c
and rcx, rdi
and rax, rdi
add rcx, rax
mov rax, r13
shr rax, 0x38
add rcx, rax
movabs rax, 0x47ae147ae147ae15
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 4
lea rax, [rdx + rdx*4]
mov rdx, r13
lea rax, [rax + rax*4]
sub rcx, rax
mov rax, r12
sub rax, rcx
sbb rdx, rbx
mov r11, rdx
movabs rdx, 0x28f5c28f5c28f5c2
imul rdx, rax
imul r11, r14
add r11, rdx
mul r14
mov r9, rdx
xor edx, edx
mov r8, rax
and eax, 3
add r9, r11
imul r11, rdx, 0x19
mov qword [rbp], r11
mov r11d, 0x19
mul r11
mov r11, qword [rbp]
add rdx, r11
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd r8, r9, 2
shld rdx, rax, 1
add rax, rax
shr r9, 2
mov r12, r8
mov qword [rbp], rax
mov rax, qword [rbp]
mov r8d, r10d
mov qword [rbp + 8], rdx
mov rdx, r13
mov r13, r9
lea r9, [r15 + rax]
add rax, r15
movzx r9d, byte [r9 + 1]
mov byte [rsi + r8], r9b
movzx eax, byte [rax]
lea r8d, [r10 - 1]
sub r10d, 2
mov byte [rsi + r8], al
mov eax, 0x270f
cmp rax, rcx
mov eax, 0
sbb rax, rdx
jb 0x1400e2e10
mov eax, 0x3e7
mov r8, qword [rbp - 0x10]
cmp rax, rcx
mov eax, 0
sbb rax, rdx
jb 0x1400e381a
lea eax, [r12 + 0x30]
mov byte [rsi], al
add rsi, r8
xor eax, eax
jmp 0x1400e252d
xor eax, eax
mov edx, 9
cmp rdx, r12
mov rsi, rax
sbb rsi, r13
jae 0x1400e3b81
mov edx, 0x63
mov rsi, rax
cmp rdx, r12
sbb rsi, r13
jae 0x1400e3baa
mov edx, 0x3e7
mov rsi, rax
cmp rdx, r12
sbb rsi, r13
jae 0x1400e3b9f
mov edx, 0x270f
cmp rdx, r12
sbb rax, r13
jae 0x1400e3b76
mov r11d, 1
mov dword [rbp - 0x30], ebx
mov rcx, r12
mov rbx, qword [rbp - 0x18]
mov qword [rbp - 0x40], r12
mov rdx, r13
lea r14, [rbp + 0x10]
mov esi, r11d
mov qword [rbp - 0x18], r15
mov r15, rdi
mov qword [rbp - 0x38], r13
jmp 0x1400e2ff7
mov r8d, 0xf423f
mov r11, rax
cmp r8, r13
sbb r11, rdi
jae 0x1400e35f1
mov r11d, 0x98967f
mov r8, rax
cmp r11, r13
sbb r8, rdi
jae 0x1400e3adf
mov r11d, 0x5f5e0ff
mov r8, rax
cmp r11, r13
sbb r8, rdi
jae 0x1400e3aa5
mov qword [rbp + 0x40], rcx
mov r13, rcx
mov rdi, rdx
mov rcx, rbx
mov qword [rbp + 0x48], rdx
mov rdx, r14
add esi, 4
mov qword [rbp + 0x10], 0x2710
mov qword [rbp + 0x18], 0
call sym.__udivti3
mov eax, 0x1869f
cmp rax, r13
mov eax, 0
movaps xmmword [rbp], xmm0
mov rcx, qword [rbp]
mov r8, rax
mov rdx, qword [rbp + 8]
sbb r8, rdi
jb 0x1400e2fb8
mov rdi, r15
mov ebx, dword [rbp - 0x30]
mov r12, qword [rbp - 0x40]
mov r11d, esi
mov r13, qword [rbp - 0x38]
mov r15, qword [rbp - 0x18]
mov rax, rdi
mov r8d, r11d
sub rax, qword [rbp + 0x1a8]
cmp r8, rax
jg 0x1400e3875
movabs rax, 0x3330323031303030
sub r11d, 1
movabs rdx, 0x3730363035303430
mov qword [rbp + 0x80], rax
movabs rax, 0x3131303139303830
mov qword [rbp + 0x88], rdx
movabs rdx, 0x3531343133313231
mov qword [rbp + 0x90], rax
movabs rax, 0x3931383137313631
mov qword [rbp + 0x98], rdx
movabs rdx, 0x3332323231323032
mov qword [rbp + 0xa0], rax
movabs rax, 0x3732363235323432
mov qword [rbp + 0xa8], rdx
movabs rdx, 0x3133303339323832
mov qword [rbp + 0xb0], rax
movabs rax, 0x3533343333333233
mov qword [rbp + 0xb8], rdx
movabs rdx, 0x3933383337333633
mov qword [rbp + 0xc0], rax
movabs rax, 0x3334323431343034
mov qword [rbp + 0xc8], rdx
movabs rdx, 0x3734363435343434
mov qword [rbp + 0xd0], rax
movabs rax, 0x3135303539343834
mov qword [rbp + 0xd8], rdx
movabs rdx, 0x3535343533353235
mov qword [rbp + 0xe0], rax
movabs rax, 0x3935383537353635
mov qword [rbp + 0xe8], rdx
movabs rdx, 0x3336323631363036
mov qword [rbp + 0xf0], rax
movabs rax, 0x3736363635363436
mov qword [rbp + 0xf8], rdx
movabs rdx, 0x3137303739363836
mov qword [rbp + 0x100], rax
movabs rax, 0x3537343733373237
mov qword [rbp + 0x108], rdx
movabs rdx, 0x3937383737373637
mov qword [rbp + 0x110], rax
movabs rax, 0x3338323831383038
mov qword [rbp + 0x118], rdx
movabs rdx, 0x3738363835383438
mov qword [rbp + 0x120], rax
movabs rax, 0x3139303939383838
mov qword [rbp + 0x128], rdx
movabs rdx, 0x3539343933393239
mov qword [rbp + 0x138], rdx
movabs rdx, 0x39393839373936
mov qword [rbp + 0x130], rax
movabs rax, 0x3935393439333932
mov qword [rbp + 0x139], rax
mov qword [rbp + 0x141], rdx
mov dword [rbp - 0x18], ebx
mov r14, qword [rbp + 0x1a8]
movabs rdi, 0xfffffffffffffff
movabs rsi, 0x8f5c28f5c28f5c29
mov qword [rbp - 0x30], r8
nop dword [rax + rax]
mov rax, r12
mov rcx, r12
xor ebx, ebx
shrd rax, r13, 0x3c
and rcx, rdi
and rax, rdi
add rcx, rax
mov rax, r13
shr rax, 0x38
add rcx, rax
movabs rax, 0x47ae147ae147ae15
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rdx, rax
shr rdx, 4
lea rax, [rdx + rdx*4]
mov rdx, r13
lea rax, [rax + rax*4]
sub rcx, rax
mov rax, r12
sub rax, rcx
sbb rdx, rbx
mov r10, rdx
movabs rdx, 0x28f5c28f5c28f5c2
imul rdx, rax
imul r10, rsi
add r10, rdx
mul rsi
mov r9, rdx
xor edx, edx
mov r8, rax
and eax, 3
add r9, r10
imul r10, rdx, 0x19
mov qword [rbp], r10
mov r10d, 0x19
mul r10
mov r10, qword [rbp]
add rdx, r10
add rax, rcx
mov rcx, r12
adc rdx, rbx
shrd r8, r9, 2
shld rdx, rax, 1
add rax, rax
shr r9, 2
mov r12, r8
mov qword [rbp], rax
mov rax, qword [rbp]
mov r8d, r11d
mov qword [rbp + 8], rdx
mov rdx, r13
mov r13, r9
lea r9, [r15 + rax]
add rax, r15
movzx r9d, byte [r9 + 1]
mov byte [r14 + r8], r9b
movzx eax, byte [rax]
lea r8d, [r11 - 1]
sub r11d, 2
mov byte [r14 + r8], al
mov eax, 0x270f
cmp rax, rcx
mov eax, 0
sbb rax, rdx
jb 0x1400e3258
mov eax, 0x3e7
mov ebx, dword [rbp - 0x18]
mov r8, qword [rbp - 0x30]
cmp rax, rcx
mov eax, 0
sbb rax, rdx
jb 0x1400e37f0
lea eax, [r12 + 0x30]
mov rdi, qword [rbp + 0x1a8]
xor esi, esi
mov byte [rdi], al
mov rdi, qword [rbp + 0x1a8]
add rdi, r8
jmp 0x1400e269f
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov r11d, ebx
mov rdi, qword [rbp + 0x1b0]
mov r15, qword [rbp - 0x18]
mov rdx, rdi
lea eax, [r11 + 1]
sub rdx, qword [rbp + 0x1a8]
cmp rdx, rax
jl 0x1400e35e6
movabs rsi, 0x3330323031303030
mov edx, 0x63
mov r8, rax
movabs rdi, 0x3730363035303430
mov qword [rbp + 0x80], rsi
cmp rdx, r12
movabs rsi, 0x3131303139303830
mov edx, 0
mov qword [rbp + 0x88], rdi
sbb rdx, r13
movabs rdi, 0x3531343133313231
movabs rbx, 0x3935393439333932
mov qword [rbp + 0x90], rsi
movabs rsi, 0x3931383137313631
mov qword [rbp + 0x98], rdi
movabs rdi, 0x3332323231323032
mov qword [rbp + 0xa0], rsi
movabs rsi, 0x3732363235323432
mov qword [rbp + 0xa8], rdi
movabs rdi, 0x3133303339323832
mov qword [rbp + 0xb0], rsi
movabs rsi, 0x3533343333333233
mov qword [rbp + 0xb8], rdi
movabs rdi, 0x3933383337333633
mov qword [rbp + 0xc0], rsi
movabs rsi, 0x3334323431343034
mov qword [rbp + 0xc8], rdi
movabs rdi, 0x3734363435343434
mov qword [rbp + 0xd0], rsi
movabs rsi, 0x3135303539343834
mov qword [rbp + 0xd8], rdi
movabs rdi, 0x3535343533353235
mov qword [rbp + 0xe0], rsi
movabs rsi, 0x3935383537353635
mov qword [rbp + 0xe8], rdi
movabs rdi, 0x3336323631363036
mov qword [rbp + 0xf0], rsi
movabs rsi, 0x3736363635363436
mov qword [rbp + 0xf8], rdi
movabs rdi, 0x3137303739363836
mov qword [rbp + 0x100], rsi
movabs rsi, 0x3537343733373237
mov qword [rbp + 0x108], rdi
movabs rdi, 0x3937383737373637
mov qword [rbp + 0x110], rsi
movabs rsi, 0x3338323831383038
mov qword [rbp + 0x118], rdi
movabs rdi, 0x3738363835383438
mov qword [rbp + 0x120], rsi
movabs rsi, 0x3139303939383838
mov qword [rbp + 0x128], rdi
movabs rdi, 0x3539343933393239
mov qword [rbp + 0x130], rsi
movabs rsi, 0x39393839373936
mov qword [rbp + 0x138], rdi
mov qword [rbp + 0x141], rsi
mov qword [rbp + 0x139], rbx
jb 0x1400e29c2
mov rax, r12
add rax, r12
lea rdx, [r15 + rax]
mov rsi, rax
mov rax, qword [rbp + 0x1a8]
movzx edx, byte [rdx + 1]
mov byte [rax + 1], dl
lea rax, [rsi + r15]
movzx eax, byte [rax]
jmp 0x1400e2ae1
xor ecx, ecx
call sym.fesetround
fld xword [rbp]
mov rcx, rbx
mov r8, rsi
lea rdx, str._.0Lf
fstp xword [rbp + 0x50]
call sym.sprintf_char__char_const__::_
mov ecx, r15d
movsxd r12, eax
call sym.fesetround
jmp 0x1400e23c4
mov r12d, 0x84
jmp 0x1400e2622
mov rdi, r15
mov ebx, dword [rbp - 0x30]
mov r12, qword [rbp - 0x40]
mov r11d, esi
mov r13, qword [rbp - 0x38]
mov r15, qword [rbp - 0x18]
mov rdx, rdi
lea eax, [r11 + 1]
sub rdx, qword [rbp + 0x1a8]
cmp rdx, rax
jl 0x1400e3875
movabs rsi, 0x3330323031303030
mov edx, 0x63
mov r8, rax
movabs rdi, 0x3730363035303430
mov qword [rbp + 0x80], rsi
cmp rdx, r12
mov edx, 0
movabs rsi, 0x3131303139303830
mov qword [rbp + 0x88], rdi
sbb rdx, r13
movabs rdi, 0x3531343133313231
mov qword [rbp + 0x90], rsi
movabs rsi, 0x3931383137313631
mov qword [rbp + 0x98], rdi
movabs rdi, 0x3332323231323032
mov qword [rbp + 0xa0], rsi
movabs rsi, 0x3732363235323432
mov qword [rbp + 0xa8], rdi
movabs rdi, 0x3133303339323832
mov qword [rbp + 0xb0], rsi
movabs rsi, 0x3533343333333233
mov qword [rbp + 0xb8], rdi
movabs rdi, 0x3933383337333633
mov qword [rbp + 0xc0], rsi
movabs rsi, 0x3334323431343034
mov qword [rbp + 0xc8], rdi
movabs rdi, 0x3734363435343434
mov qword [rbp + 0xd0], rsi
movabs rsi, 0x3135303539343834
mov qword [rbp + 0xd8], rdi
movabs rdi, 0x3535343533353235
mov qword [rbp + 0xe0], rsi
movabs rsi, 0x3935383537353635
mov qword [rbp + 0xe8], rdi
movabs rdi, 0x3336323631363036
mov qword [rbp + 0xf0], rsi
movabs rsi, 0x3736363635363436
mov qword [rbp + 0xf8], rdi
movabs rdi, 0x3137303739363836
mov qword [rbp + 0x100], rsi
movabs rsi, 0x3537343733373237
mov qword [rbp + 0x108], rdi
movabs rdi, 0x3937383737373637
mov qword [rbp + 0x110], rsi
movabs rsi, 0x3338323831383038
mov qword [rbp + 0x118], rdi
movabs rdi, 0x3738363835383438
mov qword [rbp + 0x120], rsi
movabs rsi, 0x3139303939383838
mov qword [rbp + 0x128], rdi
movabs rdi, 0x3539343933393239
mov qword [rbp + 0x138], rdi
movabs rdi, 0x39393839373936
mov qword [rbp + 0x130], rsi
movabs rsi, 0x3935393439333932
mov qword [rbp + 0x139], rsi
mov qword [rbp + 0x141], rdi
jb 0x1400e3231
mov rax, r12
add rax, r12
lea rdx, [r15 + rax]
mov rsi, rax
mov rax, qword [rbp + 0x1a8]
movzx edx, byte [rdx + 1]
mov byte [rax + 1], dl
lea rax, [rsi + r15]
movzx eax, byte [rax]
jmp 0x1400e3376
mov r8, rax
mov rax, r12
add rax, r12
lea rdx, [r15 + rax]
lea rax, [rax + r15]
movzx edx, byte [rdx + 1]
mov byte [rsi + 1], dl
movzx eax, byte [rax]
jmp 0x1400e2f2b
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov r11d, ebx
mov rdi, qword [rbp + 0x1b0]
mov r15, qword [rbp - 0x18]
add r11d, 3
jmp 0x1400e27ee
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov r11d, ebx
mov rdi, qword [rbp + 0x1b0]
mov r15, qword [rbp - 0x18]
add r11d, 2
jmp 0x1400e27ee
mov esi, 0x84
jmp 0x1400e269f
mov rsi, rdi
mov eax, 0x84
jmp 0x1400e252d
mov rdi, r15
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
add r14d, 2
jmp 0x1400e2c1f
mov rdi, r15
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
mov rdx, rdi
lea eax, [r14 + 1]
sub rdx, rsi
cmp rdx, rax
jl 0x1400e387f
movabs rcx, 0x3330323031303030
mov edx, 0x63
movabs rbx, 0x3730363035303430
mov qword [rbp + 0x80], rcx
cmp rdx, r12
mov edx, 0
movabs rcx, 0x3131303139303830
mov qword [rbp + 0x88], rbx
sbb rdx, r13
movabs rbx, 0x3531343133313231
mov qword [rbp + 0x90], rcx
movabs rcx, 0x3931383137313631
mov qword [rbp + 0x98], rbx
movabs rbx, 0x3332323231323032
mov qword [rbp + 0xa0], rcx
movabs rcx, 0x3732363235323432
mov qword [rbp + 0xa8], rbx
movabs rbx, 0x3133303339323832
mov qword [rbp + 0xb0], rcx
movabs rcx, 0x3533343333333233
mov qword [rbp + 0xb8], rbx
movabs rbx, 0x3933383337333633
mov qword [rbp + 0xc0], rcx
movabs rcx, 0x3334323431343034
mov qword [rbp + 0xc8], rbx
movabs rbx, 0x3734363435343434
mov qword [rbp + 0xd0], rcx
movabs rcx, 0x3135303539343834
mov qword [rbp + 0xd8], rbx
movabs rbx, 0x3535343533353235
mov qword [rbp + 0xe0], rcx
movabs rcx, 0x3935383537353635
mov qword [rbp + 0xe8], rbx
movabs rbx, 0x3336323631363036
mov qword [rbp + 0xf0], rcx
movabs rcx, 0x3736363635363436
mov qword [rbp + 0xf8], rbx
movabs rbx, 0x3137303739363836
mov qword [rbp + 0x100], rcx
movabs rcx, 0x3537343733373237
mov qword [rbp + 0x108], rbx
movabs rbx, 0x3937383737373637
mov qword [rbp + 0x110], rcx
movabs rcx, 0x3338323831383038
mov qword [rbp + 0x118], rbx
movabs rbx, 0x3738363835383438
mov qword [rbp + 0x120], rcx
movabs rcx, 0x3139303939383838
mov qword [rbp + 0x128], rbx
movabs rbx, 0x3539343933393239
mov qword [rbp + 0x138], rbx
movabs rbx, 0x39393839373936
mov qword [rbp + 0x130], rcx
movabs rcx, 0x3935393439333932
mov qword [rbp + 0x139], rcx
mov qword [rbp + 0x141], rbx
jae 0x1400e3817
mov r10d, r14d
mov r8, rax
jmp 0x1400e2def
mov rdi, r15
mov ebx, dword [rbp - 0x30]
mov r12, qword [rbp - 0x40]
mov r11d, esi
mov r13, qword [rbp - 0x38]
mov r15, qword [rbp - 0x18]
add r11d, 3
jmp 0x1400e305d
mov rdi, r15
mov r12, qword [rbp - 0x10]
mov r13, qword [rbp - 8]
mov rsi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
add r14d, 3
jmp 0x1400e2c1f
mov rdi, r15
mov ebx, dword [rbp - 0x30]
mov r12, qword [rbp - 0x40]
mov r11d, esi
mov r13, qword [rbp - 0x38]
mov r15, qword [rbp - 0x18]
add r11d, 2
jmp 0x1400e305d
mov r10d, ebx
mov edx, 1
mov ecx, ebx
sar r10d, 6
shl rdx, 0x3f
shr rdx, cl
movsxd r10, r10d
lea rcx, [0x1400fd520]
and rdx, qword [rcx + r10*8]
jne 0x1400e25a8
movsxd rdx, eax
cmp rdx, r9
jg 0x1400e245d
jmp 0x1400e25b7
mov r11d, 1
jmp 0x1400e386c
mov r11d, 1
jmp 0x1400e33a6
mov rax, rdi
sub rax, qword [rbp + 0x1a8]
test rax, rax
jle 0x1400e35e6
mov r8d, 1
jmp 0x1400e2adc
mov r11d, 1
jmp 0x1400e384d
mov r11d, 1
jmp 0x1400e3aba
mov rax, rdi
sub rax, qword [rbp + 0x1a8]
test rax, rax
jle 0x1400e3875
mov r8d, 1
jmp 0x1400e3371
mov r11d, 1
jmp 0x1400e3af4
mov r11d, 1
jmp 0x1400e3606
mov r14d, 1
jmp 0x1400e389f
mov r14d, 1
jmp 0x1400e38bb
mov rax, rdi
sub rax, rsi
test rax, rax
jle 0x1400e387f
mov r8d, 1
jmp 0x1400e2f26
mov r14d, 1
jmp 0x1400e3ad6