Function at 0x408f60
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov ebp, dword [esp + 0x30]
cmp byte [ebp + 0x138], 0
je 0x4090ab
mov ecx, dword [ebp + 0x24]
xor edi, edi
mov edx, 1
mov ebx, dword [0x42dc6c]
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4]
nop
cmp byte [eax + edx - 0x15], 0x20
je 0x408f99
mov edi, edx
inc edx
cmp edx, 0xa
jle 0x408f90
xor esi, esi
cmp esi, edi
jl 0x408fcf
jmp 0x409010
mov edx, dword [0x42dbdc]
movsx ecx, al
mov ebx, dword [edx + 4]
dec ebx
test ebx, ebx
mov dword [edx + 4], ebx
js 0x408ff4
mov eax, dword [edx]
inc esi
mov byte [eax], cl
inc dword [edx]
cmp esi, edi
jge 0x409010
mov ecx, dword [ebp + 0x24]
mov ebx, dword [0x42dc6c]
lea eax, [ecx + ecx*4]
lea edx, [ebx + eax*4]
movzx eax, byte [edx + esi - 0x14]
cmp al, 0x20
jne 0x408fa7
mov edx, dword [0x42dbdc]
mov al, 0x5f
movsx ecx, al
mov ebx, dword [edx + 4]
dec ebx
test ebx, ebx
mov dword [edx + 4], ebx
jns 0x408fbb
mov dword [esp + 4], edx
inc esi
mov dword [esp], ecx
call sym.__flsbuf
cmp esi, edi
jl 0x408fc6
lea esi, [esi]
lea edi, [edi]
fld qword [ebp + 0xc8]
fldz
add dword [0x42da4c], edi
fcom st(1)
fnstsw ax
sahf
jae 0x4091a5
fstp st(0)
fnstcw word [esp + 0x1a]
fldln2
fld st(1)
fyl2x
movzx edi, word [esp + 0x1a]
or di, 0xc00
mov word [esp + 0x18], di
fmul qword [0x42a018]
fldcw word [esp + 0x18]
fistp dword [esp + 0x14]
fldcw word [esp + 0x1a]
mov edx, dword [esp + 0x14]
mov esi, edx
not esi
mov ebx, esi
sar ebx, 0x1f
and ebx, edx
cmp dword [0x42d0e4], ebp
je 0x409202
fstp qword [esp + 0xc]
mov edx, dword [0x42dbdc]
mov esi, str.:_.5f
mov dword [esp + 4], esi
lea ebp, [ebx + 7]
mov dword [esp + 8], ebp
mov dword [esp], edx
call sym._fprintf
mov ecx, dword [0x42da4c]
add ebx, ecx
lea eax, [ebx + 8]
mov dword [0x42da4c], eax
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x42dbdc]
mov ecx, dword [edx + 4]
dec ecx
mov dword [edx + 4], ecx
test ecx, ecx
js 0x4091ed
mov esi, dword [edx]
mov byte [esi], 0x28
inc dword [edx]
inc dword [0x42da4c]
mov ebx, dword [ebp]
mov ecx, dword [ebx + 4]
mov dword [esp], ecx
call sym._dnaml_treeout
mov ecx, dword [0x42d0e4]
mov ebx, dword [ebx]
cmp ecx, ebp
sete dl
cmp ebp, ebx
setne al
or eax, edx
test al, 1
je 0x409170
cmp ecx, ebp
je 0x409234
mov edx, dword [0x42dbdc]
mov edi, dword [edx + 4]
dec edi
mov dword [edx + 4], edi
test edi, edi
js 0x409257
mov eax, dword [edx]
mov byte [eax], 0x2c
inc dword [edx]
mov edx, dword [0x42da4c]
inc edx
cmp edx, 0x2d
mov dword [0x42da4c], edx
jle 0x4090d0
mov edx, dword [0x42dbdc]
mov ecx, dword [edx + 4]
dec ecx
mov dword [edx + 4], ecx
test ecx, ecx
js 0x40926c
mov esi, dword [edx]
mov byte [esi], 0xa
inc dword [edx]
mov ecx, dword [ebx + 4]
xor edi, edi
mov dword [0x42da4c], edi
mov dword [esp], ecx
call sym._dnaml_treeout
mov ecx, dword [0x42d0e4]
mov ebx, dword [ebx]
cmp ecx, ebp
sete dl
cmp ebp, ebx
setne al
or eax, edx
test al, 1
jne 0x4090f3
mov edx, dword [0x42dbdc]
mov ebx, dword [edx + 4]
dec ebx
mov dword [edx + 4], ebx
test ebx, ebx
js 0x409242
mov esi, dword [edx]
mov byte [esi], 0x29
inc dword [edx]
fld qword [ebp + 0xc8]
fldz
inc dword [0x42da4c]
fcom st(1)
fnstsw ax
sahf
jb 0x409029
fcomp st(1)
fnstsw ax
xor ebx, ebx
sahf
je 0x409065
fnstcw word [esp + 0x1a]
fld st(0)
fldln2
fxch st(1)
fchs
movzx edx, word [esp + 0x1a]
fyl2x
or dx, 0xc00
mov word [esp + 0x18], dx
fmul qword [0x42a018]
fldcw word [esp + 0x18]
fistp dword [esp + 0x14]
fldcw word [esp + 0x1a]
mov ecx, dword [esp + 0x14]
lea edx, [ecx + 1]
jmp 0x40905a
mov dword [esp + 4], edx
mov dword [esp], 0x28
call sym.__flsbuf
jmp 0x4090c7
fstp st(0)
mov dword [esp], 0x42a013
mov edi, dword [0x42dbdc]
mov ebx, 2
mov dword [esp + 8], ebx
mov ebp, 1
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edi
call sym._fwrite
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebp], ebx
jne 0x4090fb
jmp 0x409170
mov dword [esp + 4], edx
mov dword [esp], 0x29
call sym.__flsbuf
jmp 0x40918c
mov dword [esp + 4], edx
mov dword [esp], 0x2c
call sym.__flsbuf
jmp 0x409117
mov dword [esp + 4], edx
mov dword [esp], 0xa
call sym.__flsbuf
jmp 0x409145