Function at 0x14002bd90
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov eax, dword [rsp + 0xa0]
lea r12d, [rax + 1]
mov eax, dword [rsp + 0xa8]
mov rbp, rcx
mov rcx, rdx
mov r13d, r9d
mov rbx, rdx
mov dword [rsp + 0x90], r8d
lea edi, [rax + 1]
call sym.strconv__dec_digits
mov edx, edi
mov esi, eax
sub edx, eax
xor eax, eax
cmp edi, esi
cmovg eax, edx
lea ecx, [rsi + rax + 8]
mov dword [rsp + 0x2c], eax
xor eax, eax
test ecx, ecx
cmovs ecx, eax
movsxd rcx, ecx
call sym.vcalloc_noscan
xor r8d, r8d
test r13b, r13b
mov r9d, dword [rsp + 0x2c]
mov r10, rax
je 0x14002be0b
mov byte [rax], 0x2d
mov r8d, 1
xor r11d, r11d
cmp esi, 1
setle r11b
cmp r12d, esi
jge 0x14002c008
mov eax, esi
lea rcx, [0x14003d7a0]
sub eax, r12d
lea edx, [rax - 1]
cdqe
movsxd rdx, edx
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rcx + rax*8]
mov rax, rbx
lea rdi, [rdx + rdx*4]
xor edx, edx
div rcx
add rdi, rbx
xor edx, edx
mov r13, rax
mov rax, rdi
div rcx
mov rbx, rax
cmp r13, rax
jb 0x14002c010
mov r15d, r12d
lea r13d, [r12 + r8]
sub r15d, r11d
lea r14d, [r15 - 1]
test r14d, r14d
jle 0x14002c060
mov dword [rsp + 0x2c], r12d
lea r11d, [r13 + 1]
mov ecx, r13d
movabs rdi, 0xcccccccccccccccd
sub r11d, r15d
mov rax, rbx
movsxd r12, ecx
sub ecx, 1
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rbx, rax
add ebx, 0x30
mov byte [r10 + r12], bl
mov rbx, rdx
cmp ecx, r11d
jne 0x14002be90
mov r12d, dword [rsp + 0x2c]
lea r8d, [r15 + r8 - 1]
mov eax, dword [rsp + 0xa0]
test eax, eax
je 0x14002bfce
test r12d, r12d
jle 0x14002beec
mov eax, r13d
add r8d, 1
sub eax, r14d
add r14d, 1
cdqe
mov byte [r10 + rax], 0x2e
sub r13d, r14d
js 0x14002bf1a
movabs rax, 0xcccccccccccccccd
movsxd r13, r13d
add r8d, 1
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rbx, rax
add ebx, 0x30
mov byte [r10 + r13], bl
test r9d, r9d
jle 0x14002bf39
add r9d, r8d
nop word [rax + rax]
movsxd rax, r8d
add r8d, 1
mov byte [r10 + rax], 0x30
cmp r8d, r9d
jne 0x14002bf28
lea eax, [r8 + 1]
movsxd rdx, r8d
lea r9d, [r8 + 2]
mov ecx, 0x2b
add esi, dword [rsp + 0x90]
cdqe
add rdx, r10
mov r11d, esi
add rax, r10
sub r11d, 1
js 0x14002c048
mov byte [rdx], 0x65
mov edx, r11d
mov byte [rax], cl
movsxd rax, r11d
sar edx, 0x1f
imul rax, rax, 0x66666667
sar rax, 0x22
sub eax, edx
lea edx, [rax + rax*4]
mov ecx, eax
mov eax, r11d
add edx, edx
mov ebx, ecx
sub eax, edx
movsxd rdx, ecx
sar ebx, 0x1f
imul rdx, rdx, 0x66666667
sar rdx, 0x22
sub edx, ebx
lea esi, [rdx + rdx*4]
mov ebx, edx
add esi, esi
sub ecx, esi
mov edx, ecx
cmp r11d, 0x63
jg 0x14002c030
add edx, 0x30
movsxd rcx, r9d
lea r8d, [r9 + 2]
add eax, 0x30
mov byte [r10 + rcx], dl
lea edx, [r9 + 1]
movsxd rdx, edx
mov byte [r10 + rdx], al
movsxd rax, r8d
mov byte [r10 + rax], 0
test r10, r10
je 0x14002c068
mov rax, rbp
mov dword [rbp + 0xc], 0
mov qword [rbp], r10
mov dword [rbp + 8], r8d
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12d, esi
jmp 0x14002be60
mov eax, dword [rsp + 0xa0]
add dword [rsp + 0x90], 1
lea r12d, [rax + 2]
jmp 0x14002be60
movsxd r9, r9d
add ebx, 0x30
mov byte [r10 + r9], bl
lea r9d, [r8 + 3]
jmp 0x14002bfb2
mov r11d, 1
mov ecx, 0x2d
sub r11d, esi
jmp 0x14002bf65
xor r14d, r14d
jmp 0x14002bec3
call sym.tos.part.0
nop
nop