Function at 0x70b300
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rbx, qword [rdx]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x70], r9d
test rbx, rbx
je 0x70b6e1
mov edi, r8d
mov r15d, dword [rdx + 8]
mov edx, 4
mov rcx, rdi
call sub.msvcrt.dll_calloc
mov r12, rax
test rax, rax
je 0x70bbdf
lea rdx, str.0123456789_
mov rcx, rbx
call sub.msvcrt.dll_strspn
cmp r15, rax
je 0x70b4a8
mov rcx, rbx
mov esi, 1
lea rbp, [rbx + r15]
jmp 0x70b38b
cmp rax, rbp
jae 0x70b39d
lea rcx, [rax + 1]
mov esi, edx
mov edx, 0x3a
call sub.msvcrt.dll_strchr
lea edx, [rsi + 1]
test rax, rax
jne 0x70b380
mov eax, edx
lea rcx, [rax + rax*2]
mov qword [rsp + 0x48], rax
shl rcx, 2
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x28], rax
test rax, rax
je 0x70b48a
movzx eax, byte [rbx]
sub eax, 0x30
cmp al, 9
ja 0x70b6f8
lea rax, [rsp + 0x90]
mov ebp, dword [rsp + 0x30]
mov dword [rsp + 0x38], esi
xor r13d, r13d
mov qword [rsp + 0x50], rdi
mov r15d, 1
mov rdi, rbx
mov rsi, rax
lea r14, [rsp + 0x88]
nop dword [rax]
mov rcx, rdi
xor r8d, r8d
mov rdx, r14
call sub.msvcrt.dll_strtol
mov rcx, qword [rsp + 0x88]
mov ebx, eax
cmp rcx, rdi
je 0x70b8b8
cmp byte [rcx], 0x2a
jne 0x70b8b8
test eax, eax
je 0x70bab0
add rcx, 1
xor r8d, r8d
mov rdx, rsi
mov qword [rsp + 0x88], rcx
call sub.msvcrt.dll_strtol
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x88]
cmp rcx, r8
je 0x70b46a
movzx edx, byte [rcx]
cmp dl, 0x3a
jbe 0x70b518
mov rbx, rdi
mov edi, dword [rsp + 0x70]
test edi, edi
jne 0x70ba58
nop dword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.00745380
mov rcx, r12
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00745380
mov eax, dword [rsp + 0x30]
xor esi, esi
lea r13, [rsp + 0x90]
lea ebp, [rax - 1]
test rdi, rdi
jne 0x70b4e2
jmp 0x70b6d8
cmp byte [rdx], 0x2c
jne 0x70b8f0
lea rbx, [rdx + 1]
add rsi, 1
cmp rdi, rsi
je 0x70b6d8
mov rdx, r13
mov r8d, 0xa
mov rcx, rbx
call sub.msvcrt.dll_strtoul
mov rdx, qword [rsp + 0x90]
cmp rdx, rbx
je 0x70b838
mov dword [r12 + rsi*4], eax
cmp rbp, rsi
jne 0x70b4c8
mov rbx, rdx
jmp 0x70b4d5
movabs r11, 0x400020100000001
bt r11, rdx
jae 0x70b46a
test eax, eax
je 0x70bb1e
mov r8d, r13d
mov rdi, qword [rsp + 0x28]
cmp ebp, ebx
lea r8, [r8 + r8*2]
cmova ebp, ebx
add r13d, 1
imul r15d, eax
lea r8, [rdi + r8*4]
mov dword [r8], ebx
mov dword [r8 + 4], eax
cmp dl, 0x29
je 0x70bb53
cmp dl, 0x20
je 0x70bb53
lea rdi, [rcx + 1]
jmp 0x70b400
lea rax, [rdi + rdi*8]
xor edx, edx
mov edi, dword [r15 + rax*8 + 0x34]
mov eax, dword [rsp + 0x30]
div edi
xor edx, edx
mov ebp, eax
lea rax, [rcx + rcx*8]
mov ecx, dword [r15 + rax*8 + 0x34]
mov eax, edi
mov dword [r14], ebp
div ecx
mov dword [r14 + 4], eax
cmp edi, ecx
jb 0x70ba08
cmp edi, dword [rsp + 0x30]
ja 0x70ba30
cmp ebx, ebp
cmova ebx, ebp
imul r12d, eax
add rsi, 1
add r14, 0xc
cmp r13, rsi
jne 0x70b990
mov r15d, r12d
mov esi, dword [rsp + 0x74]
mov r12, qword [rsp + 0x58]
mov ebp, ebx
mov rdi, qword [rsp + 0x78]
test r15d, r15d
jne 0x70b5ff
mov r8d, 0x10a
lea rdx, str.topology_synthetic.c
lea rcx, [0x0095f5da]
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [rsp + 0x30]
cmp r15d, eax
je 0x70bb70
xor edx, edx
div r15d
cmp eax, ebp
jne 0x70bb7c
lea rdx, [rsi + rsi*2]
mov rsi, qword [rsp + 0x28]
lea rdx, [rsi + rdx*4]
mov dword [rdx], 1
mov dword [rdx + 4], eax
cmp qword [rsp + 0x48], 0
je 0x70b69a
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x28]
mov r10d, 1
lea rax, [rax + rax*2]
mov r11, rsi
lea rbx, [rsi + rax*4]
mov esi, dword [rsp + 0x30]
nop word cs:[rax + rax]
mov r9d, dword [r11]
mov r8d, dword [r11 + 4]
xor ecx, ecx
test esi, esi
je 0x70b68d
nop dword [rax]
mov eax, ecx
xor edx, edx
div r9d
xor edx, edx
div r8d
imul edx, r10d
add dword [r12 + rcx*4], edx
add rcx, 1
cmp rcx, rdi
jne 0x70b670
add r11, 0xc
imul r10d, r8d
cmp r11, rbx
jne 0x70b660
mov rcx, qword [rsp + 0x28]
call fcn.00745380
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x30]
xor eax, eax
test ecx, ecx
je 0x70b6d8
mov ebx, dword [r12 + rax*4]
cmp ebx, edx
jae 0x70bbb1
test eax, eax
je 0x70b6ca
test ebx, ebx
je 0x70ba7a
add rax, 1
cmp rdi, rax
jne 0x70b6b2
nop dword [rax + rax]
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x10], r12
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x58], rbx
add r15, rbx
xor ebp, ebp
lea r13, [rsp + 0x90]
mov qword [rsp + 0x50], r12
lea r14, [rsp + 0x88]
mov r12, rbx
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x60], esi
mov rsi, qword [rsp + 0x28]
jmp 0x70b77f
cmp r8d, 0xc
jne 0x70b746
cmp r9d, 0xffffffff
je 0x70b746
cmp r9d, dword [rax + 4]
jne 0x70b7d0
mov eax, ebp
lea rax, [rax + rax*2]
mov dword [rsi + rax*4 + 8], edx
cmp edx, 0xffffffff
je 0x70bc1c
mov edx, 0x3a
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x70b928
cmp rax, r15
ja 0x70b928
lea r12, [rax + 1]
add ebp, 1
mov r9d, 0x28
mov r8, r13
mov rdx, r14
mov rcx, r12
call fcn.006ffb60
test eax, eax
js 0x70bade
mov r8d, dword [rsp + 0x88]
lea eax, [r8 - 0xe]
cmp eax, 3
jbe 0x70b870
mov r9d, dword [rbx + 0x30]
test r9d, r9d
je 0x70b7df
mov r9d, dword [rsp + 0x90]
lea rax, [rbx + 0x38]
xor edx, edx
cmp dword [rax], r8d
je 0x70b730
mov ecx, dword [rax + 0x40]
add rax, 0x48
add rdx, 1
test ecx, ecx
jne 0x70b7c7
mov rdi, qword [rsp + 0x28]
lea rax, [rbp + rbp*2]
mov r10, r12
mov r12, qword [rsp + 0x50]
mov dword [rdi + rax*4 + 8], 0xffffffff
mov r11d, dword [rsp + 0x70]
test r11d, r11d
je 0x70b480
mov qword [rsp + 0x30], r10
mov ecx, 2
call qword [fcn.00745b20]
mov r10, qword [rsp + 0x30]
lea rdx, str.Failed_to_find_level_for_synthetic_index_interleaving_loop_type__s_n
mov rcx, rax
mov r8, r10
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov r15d, dword [rsp + 0x70]
test r15d, r15d
je 0x70b48a
mov ecx, 2
call qword [fcn.00745b20]
mov r9, rbx
mov r8d, esi
lea rdx, str.Failed_to_read_synthetic_index__lu_at__s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b48a
mov r11d, dword [rsp + 0x70]
mov r10, r12
mov r12, qword [rsp + 0x50]
test r11d, r11d
je 0x70b480
mov qword [rsp + 0x30], r10
mov ecx, 2
call qword [fcn.00745b20]
mov r10, qword [rsp + 0x30]
lea rdx, str.Misc_object_type_disallowed_in_synthetic_index_interleaving_loop_type__s_n
mov rcx, rax
mov r8, r10
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov r13d, dword [rsp + 0x70]
test r13d, r13d
je 0x70b480
mov ecx, 2
call qword [fcn.00745b20]
mov r8, rdi
lea rdx, str.Failed_to_read_synthetic_index_interleaving_loop__s_without_number_before__n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov r14d, dword [rsp + 0x70]
test r14d, r14d
je 0x70b48a
mov ecx, 2
call qword [fcn.00745b20]
mov r9, rbx
mov r8d, esi
lea rdx, str.Missing_comma_after_synthetic_index__lu_at__s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b48a
mov esi, dword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
test esi, esi
je 0x70bb61
mov rax, qword [rsp + 0x28]
mov ebp, dword [rsp + 0x30]
xor r9d, r9d
mov dword [rsp + 0x74], esi
mov r15d, 1
mov qword [rsp + 0x78], rdi
mov r13d, esi
mov rsi, r9
mov r11, rax
add rax, 8
mov qword [rsp + 0x58], r12
mov r12d, r15d
mov qword [rsp + 0x50], rax
mov rax, qword [sym.imp.msvcrt.dll__assert]
mov r14, r11
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x68], rbx
mov ebx, ebp
mov qword [rsp + 0x60], rax
nop
mov edi, dword [r14 + 8]
mov rdx, qword [rsp + 0x50]
xor ecx, ecx
xor eax, eax
jmp 0x70b9ba
jae 0x70b9a9
cmp ecx, r8d
cmovb rcx, r8
add rax, 1
add rdx, 0xc
cmp r13, rax
je 0x70b578
mov r8d, dword [rdx]
cmp r8d, edi
jne 0x70b9a0
cmp rsi, rax
je 0x70b9a9
mov r9d, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x58]
test r9d, r9d
je 0x70b480
mov ecx, 2
call qword [fcn.00745b20]
mov r8, rbx
lea rdx, str.Invalid_duplicate_interleaving_loop_type_in_synthetic_index__s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov dword [rsp + 0x38], eax
mov r8d, 0x103
lea rdx, str.topology_synthetic.c
lea rcx, [0x0095f5d2]
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [rsp + 0x38]
jmp 0x70b5a9
mov dword [rsp + 0x38], eax
mov r8d, 0x104
mov rax, qword [rsp + 0x60]
lea rdx, str.topology_synthetic.c
lea rcx, str.step
call rax
mov eax, dword [rsp + 0x38]
jmp 0x70b5b3
mov ecx, 2
call qword [fcn.00745b20]
mov r8, rbx
lea rdx, str.Failed_to_read_synthetic_index_interleaving_loop__s_without_number_between__and_:_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x70b48a
mov ecx, 2
call qword [fcn.00745b20]
mov r8d, 0x3c
mov edx, 1
lea rcx, str.Invalid_index_interleaving_generates_duplicate_index_values_n
mov r9, rax
call sub.msvcrt.dll_fwrite
jmp 0x70b48a
mov ebp, dword [rsp + 0x70]
test ebp, ebp
je 0x70b480
mov ecx, 2
call qword [fcn.00745b20]
mov r8, rdi
lea rdx, str.Invalid_interleaving_loop_with_step_0_at__s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov ebx, dword [rsp + 0x70]
mov r10, r12
mov r12, qword [rsp + 0x50]
test ebx, ebx
je 0x70b480
mov qword [rsp + 0x30], r10
mov ecx, 2
call qword [fcn.00745b20]
mov r10, qword [rsp + 0x30]
lea rdx, str.Failed_to_read_synthetic_index_interleaving_loop_type__s_n
mov rcx, rax
mov r8, r10
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov esi, dword [rsp + 0x70]
test esi, esi
je 0x70b480
mov qword [rsp + 0x30], r8
mov ecx, 2
call qword [fcn.00745b20]
mov r8, qword [rsp + 0x30]
lea rdx, str.Invalid_interleaving_loop_with_number_0_at__s_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov esi, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x50]
jmp 0x70b5e0
mov ebx, dword [rsp + 0x30]
mov eax, ebx
cmp ebx, 1
jne 0x70b619
mov eax, esi
mov qword [rsp + 0x48], rax
jmp 0x70b62f
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x70b480
mov ecx, 2
call qword [fcn.00745b20]
mov r9d, dword [rsp + 0x30]
mov r8d, r15d
lea rdx, str.Invalid_index_interleaving_total_width__lu_instead_of__lu_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b480
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x70b48a
mov ecx, 2
call qword [fcn.00745b20]
mov r8d, ebx
lea rdx, str.Invalid_index_interleaving_generates_out_of_range_index__u_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
jmp 0x70b48a
cmp dword [rsp + 0x70], 0
je 0x70b6e1
mov ecx, 2
call qword [fcn.00745b20]
mov r8d, dword [rsp + 0x30]
lea rdx, str.Failed_to_allocate_synthetic_index_array_of_size__lu_n
mov rcx, rax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_fprintf
mov r10, r12
mov r12, qword [rsp + 0x50]
jmp 0x70b7f9