Function at 0x100405230
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
lea r15, str.pred_
lea r14, str.__type_s_prec_s
lea rdi, [0x100435099]
lea r12, [0x100435082]
mov rbx, rcx
mov rbp, rdx
mov esi, r8d
test rdx, rdx
je 0x1004054c2
nop
xor r13d, r13d
test esi, esi
jle 0x10040529f
nop word [rax + rax]
mov r9, rbx
mov r8d, 4
mov rcx, rdi
add r13d, 1
mov edx, 1
call fcn.100431b00
cmp r13d, esi
jne 0x100405280
mov r9, rbx
mov r8d, 6
mov edx, 1
mov rcx, r15
call fcn.100431b00
mov r9, qword [rbp + 0x30]
test r9, r9
je 0x100405560
mov r8, qword [rbp + 8]
lea rdx, str._s__s
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov eax, dword [rbp + 0x14]
mov r9, r12
mov r8d, eax
test ax, ax
je 0x10040531b
lea r9, [0x100435660]
xor ecx, ecx
mov rax, r9
jmp 0x1004052fe
cmp dx, 0xffff
je 0x10040530f
movzx edx, word [rax + 0x10]
add ecx, 1
add rax, 0x10
cmp r8w, dx
jne 0x1004052f8
movsxd rcx, ecx
shl rcx, 4
mov r9, qword [r9 + rcx + 8]
mov eax, dword [rbp + 0x10]
mov r8, r12
mov r10d, eax
test ax, ax
je 0x100405363
lea r8, [0x1004355c0]
xor ecx, ecx
mov rax, r8
jmp 0x100405346
cmp dx, 0xffff
je 0x100405357
movzx edx, word [rax + 0x10]
add ecx, 1
add rax, 0x10
cmp r10w, dx
jne 0x100405340
movsxd rcx, ecx
shl rcx, 4
mov r8, qword [r8 + rcx + 8]
mov rdx, r14
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
cmp byte [rbp + 0x18], 0
pxor xmm0, xmm0
mov ecx, dword [rbp + 0x20]
lea rax, [0x100435085]
lea r10, [0x100435086]
cvtss2sd xmm0, dword [rbp + 0x24]
movq r9, xmm0
cmovne r10, rax
lea rdx, [0x100433040]
xor eax, eax
nop
cmp ecx, dword [rdx]
je 0x1004054d8
add eax, 1
add rdx, 0x10
cmp eax, 0xb
jne 0x1004053a0
lea r8, [0x10043508a]
mov qword [rsp + 0x20], r10
movq xmm3, r9
lea rdx, str._cost_s_est_success_rate_.4g__sside_effects
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
movabs rax, 0xffffff0000
and rax, qword [rbp + 0x18]
jne 0x1004054f0
mov rdx, rbx
mov ecx, 0xa
xor r13d, r13d
call sub.msys_2.0.dll_fputc
test esi, esi
jle 0x10040541f
nop dword [rax]
mov r9, rbx
mov r8d, 4
mov rcx, rdi
add r13d, 1
mov edx, 1
call fcn.100431b00
cmp r13d, esi
jne 0x100405400
cmp qword [rbp + 0x110], 0
je 0x100405578
mov r8d, 6
mov edx, 1
lea rcx, str.left:_n
mov r9, rbx
call fcn.100431b00
mov rdx, qword [rbp + 0x110]
lea r8d, [rsi + 1]
mov rcx, rbx
call fcn.100405230
xor r13d, r13d
test esi, esi
jle 0x100405487
nop dword [rax]
mov r9, rbx
mov r8d, 4
mov rcx, rdi
add r13d, 1
mov edx, 1
call fcn.100431b00
cmp r13d, esi
jne 0x100405468
cmp qword [rbp + 0x118], 0
je 0x1004055fb
mov r9, rbx
mov r8d, 7
mov edx, 1
add esi, 1
lea rcx, str.right:_n
call fcn.100431b00
mov rbp, qword [rbp + 0x118]
test rbp, rbp
jne 0x100405270
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
shl rax, 4
lea rcx, [0x100433040]
mov r8, qword [rcx + rax + 8]
jmp 0x1004053bb
mov r9, rbx
mov r8d, 6
mov edx, 1
lea rcx, str.Needs
call fcn.100431b00
cmp byte [rbp + 0x1a], 0
jne 0x1004055c0
cmp byte [rbp + 0x1c], 0
je 0x1004055a8
lea r8, [0x100435085]
lea rdx, str._sinode
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
cmp byte [rbp + 0x1b], 0
je 0x1004053e8
lea r8, [0x100434ea8]
lea rdx, str._stype
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
jmp 0x1004053e8
mov rcx, qword [rbp + 8]
mov rdx, rbx
call fcn.100431ac0
jmp 0x1004052d5
cmp qword [rbp + 0x118], 0
mov r9, rbx
je 0x100405625
mov r8d, 9
mov edx, 1
lea rcx, str.no_left._n
call fcn.100431b00
jmp 0x10040545a
cmp byte [rbp + 0x1b], 0
je 0x1004053e8
lea r8, [0x100435085]
jmp 0x100405545
mov r9, rbx
mov r8d, 4
mov edx, 1
lea rcx, [0x1004350e7]
call fcn.100431b00
cmp byte [rbp + 0x1c], 0
je 0x1004055ec
lea r8, [0x100434ea8]
jmp 0x100405525
cmp byte [rbp + 0x1b], 0
je 0x1004053e8
jmp 0x10040553e
mov r9, rbx
mov r8d, 0xa
mov edx, 1
lea rcx, str.no_right._n
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.100431b00
mov r8d, 0xd
mov edx, 1
lea rcx, str.no_children._n
jmp 0x100405610