Function at 0xb9a1e0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [esp + 0xd0]
mov esi, dword [ebx + 0x9eee0]
call fcn.00bd3900
mov edx, dword [ebx + 0x9ef0c]
mov ecx, dword [ebx + 0x9eef8]
mov eax, dword [ebx + 0x9ef04]
add edx, dword [ebx + 0x9ef3c]
add eax, dword [ebx + 0x9ef08]
mov edi, dword [ebx + 0x397fc]
fild dword [ebx + 0x3a510]
fld dword [esi + 0x50]
fdiv st(1)
add eax, dword [ebx + 0x9ef10]
add eax, dword [ebx + 0x9ef14]
add eax, dword [ebx + 0x9ef18]
add eax, dword [ebx + 0x9ef1c]
add eax, dword [ebx + 0x9ef20]
add eax, dword [ebx + 0x9ef24]
add eax, dword [ebx + 0x9ef28]
add eax, dword [ebx + 0x9ef2c]
add eax, dword [ebx + 0x9ef30]
add eax, dword [ebx + 0x9ef34]
mov dword [ebx + 0x9ef48], edx
mov dword [ebx + 0x9ef40], ecx
mov dword [ebx + 0x9ef44], eax
fst dword [esi + 0x50]
fst dword [edi + 0x30]
fxch st(1)
fdivr dword [esi + 0x54]
fst dword [esi + 0x54]
fstp dword [edi + 0x34]
mov edi, dword [ebx + 0x21c]
test edi, edi
je 0xb9a4a2
mov edi, dword [ebx + 0x38f84]
cmp edi, 2
je 0xb9a7b0
test edi, edi
jne 0xb9a780
mov ebp, dword [ebx + 0x397f8]
mov edi, 0x50
mov dword [esp + 0x80], ebp
mov ebp, dword [ebx + 0x9efbc]
cmp dword [ebx + 0x9e694], 0
mov dword [esp + 0x88], ebp
mov ebp, dword [ebx + 0x9efb8]
mov dword [esp + 0x8c], ebp
mov ebp, dword [ebx + 0x9f50c]
mov dword [esp + 0x90], ebp
mov ebp, dword [ebx + 0x9f508]
mov dword [esp + 0x94], ebp
mov ebp, 0x2d
je 0xb9a32b
mov ebp, dword [esp + 0x88]
sub ebp, dword [esp + 0x8c]
mov dword [esp + 0x88], ebp
mov ebp, 0x73
cmp dword [esp + 0x88], 0
jle 0xb9a834
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + 0x9eef0]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x9eee8]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x9eeec]
fstp qword [esp + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x410]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 4], str.in:_d_out:_d_type:_c_q:_.2f_tex:_d_mv:_d_misc:_d_imb:_d_pmb:_d_smb:_d_d:_c__n
mov dword [esp + 8], eax
mov eax, dword [esi + 0xd8]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
test eax, eax
js 0xb9a880
mov edi, dword [ebx + 0x214]
test edi, edi
je 0xb9a4a4
mov eax, dword [ebx + 0x397f8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0xb9a4a4
mov edx, dword [ebx + 0x224]
test edx, edx
jne 0xb9a4a4
mov ebp, dword [ebx + 0x3a510]
mov edx, dword [ebx + 0x38f84]
test ebp, ebp
mov byte [esp + 0xac], dl
jle 0xb9a43a
mov ecx, dword [eax + 0xbdc]
xor eax, eax
mov edi, dword [esi + 0x1a0]
fnstcw word [esp + 0x9a]
fld dword [0x12687e0]
movzx edx, word [esp + 0x9a]
mov dh, 0xc
mov word [esp + 0x98], dx
fld st(0)
fmul dword [ecx + eax*4]
fldcw word [esp + 0x98]
fistp dword [esp + 0x9c]
fldcw word [esp + 0x9a]
mov edx, dword [esp + 0x9c]
rol dx, 8
mov word [edi + eax*2], dx
add eax, 1
cmp eax, ebp
jne 0xb9a408
fstp st(0)
mov eax, dword [esi + 0xe0]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
lea eax, [esp + 0xac]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
test eax, eax
je 0xb9a880
mov eax, dword [esi + 0xe0]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x3a510]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [esi + 0x1a0]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp eax, dword [ebx + 0x3a510]
jae 0xb9a4a4
jmp 0xb9a880
fstp st(0)
mov eax, dword [esi]
test eax, eax
je 0xb9a517
fld dword [0x12686bc]
fadd dword [esi + 0x50]
cmp dword [ebx + 0x38f84], 1
fmul dword [0x12686c0]
fstp qword [esp + 8]
fld dword [0x12686c4]
fstp qword [esp]
je 0xb9a7d0
call fcn.010887f0
fild dword [esp + 0xd4]
fmul qword [0x12686c8]
fmulp st(1)
fdiv qword [esi + 0x88]
fadd qword [esi + 0x90]
fld qword [esi + 0xa8]
fmul st(1), st(0)
fxch st(1)
fstp qword [esi + 0x90]
fld qword [esi + 0x18]
fdiv qword [esi + 0x10]
fadd qword [esi + 0xa0]
fmulp st(1)
fstp qword [esi + 0xa0]
mov eax, dword [esi + 4]
test eax, eax
je 0xb9a5e4
mov edi, dword [esi + 0x40]
fld qword [esi + 0x98]
fstp qword [esp + 0x80]
fild dword [edi + 0x2c]
fadd dword [0x12686bc]
fmul dword [0x12686c0]
fstp qword [esp + 8]
fld dword [0x12686c4]
fstp qword [esp]
call fcn.010887f0
fmul qword [0x12686c8]
fld qword [0x12686e0]
fxch st(1)
fcomi st(1)
fld st(1)
fcmovnb st(0), st(1)
fstp st(1)
fld dword [edi + 8]
fld st(0)
fld qword [0x12686f0]
fstp qword [esp + 8]
fld st(0)
fdiv st(3)
fstp qword [esp]
fxch st(2)
fstp qword [esp + 0x40]
fxch st(2)
fstp qword [esp + 0x50]
fstp qword [esp + 0x60]
fstp dword [esp + 0x70]
call fcn.010887f0
fild dword [edi + 0x10]
fld qword [esp + 0x50]
faddp st(1)
fmulp st(1)
fild dword [edi + 0xc]
fld1
fld dword [esp + 0x70]
fcompi st(1)
fld qword [esp + 0x40]
fld qword [esp + 0x60]
jbe 0xb9a800
fstp st(2)
fxch st(1)
fld1
fxch st(2)
fcomi st(2)
fcmovb st(0), st(2)
fstp st(2)
fdivrp st(1)
fsqrt
fild dword [edi + 0x14]
fadd qword [esp + 0x80]
faddp st(3)
fmulp st(1)
faddp st(1)
fstp qword [esi + 0x98]
mov eax, dword [ebx + 0x9e688]
test eax, eax
je 0xb9a5fb
cmp dword [ebx + 0x38f84], 1
je 0xb9a6f0
mov eax, dword [ebx + 0x260]
mov edi, dword [ebx + 0x9eee0]
mov esi, dword [eax + 0x9eee0]
mov eax, dword [edi + 0x84]
cmp eax, dword [ebx + 0x3a510]
jge 0xb9a674
jmp 0xb9a624
fstp st(0)
fstp st(0)
mov ebp, dword [edi + 8]
xor eax, eax
test ebp, ebp
je 0xb9a669
fld qword [esi + 0x78]
fadd qword [esi + 0x68]
fild dword [esp + 0xd4]
fsubp st(1)
fst qword [esi + 0x68]
fldz
fcompi st(1)
ja 0xb9a810
fld qword [esi + 0x60]
fldz
fxch st(2)
fcomi st(2)
jb 0xb9a7a0
fstp st(2)
fxch st(1)
fxch st(1)
fcomi st(1)
fcmovnb st(0), st(1)
fstp st(1)
fstp qword [esi + 0x68]
xor eax, eax
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x9c], eax
fild dword [esp + 0x9c]
fld dword [0x12686bc]
fadd dword [edi + 0x50]
fmul dword [0x12686c0]
fstp qword [esp + 8]
fld dword [0x12686c4]
fstp qword [esp]
fstp qword [esp + 0x40]
call fcn.010887f0
mov eax, dword [esi + 0x80]
mov edx, dword [ebx + 0x38f84]
fld dword [0x12687d0]
fld qword [esp + 0x40]
fxch st(1)
fcompi st(1)
ja 0xb9a620
fild dword [esp + 0xd4]
shl edx, 5
fstp qword [esp + 0x10]
add eax, edx
fstp qword [esp + 8]
fmul qword [0x12686c8]
fstp qword [esp]
call fcn.00b94f20
jmp 0xb9a624
mov eax, dword [ebx + 0x397f8]
mov ebp, dword [esp + 0xd4]
add ebp, dword [esi + 0x268]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x268], ebp
test eax, eax
je 0xb9a5fb
mov eax, dword [ebx + 0x39850]
mov edi, dword [esi + 0x264]
mov eax, dword [ebx + eax*4 + 0x39850]
fild dword [eax + 0x674]
fld dword [0x12686bc]
fadd dword [esi + 0x50]
fmul dword [0x12686c0]
fstp qword [esp + 8]
fld dword [0x12686c4]
fstp qword [esp]
fstp qword [esp + 0x40]
call fcn.010887f0
mov ecx, dword [esi + 0x260]
fld dword [0x12687d0]
fld qword [esp + 0x40]
fxch st(1)
fcompi st(1)
jbe 0xb9a8a2
fstp st(0)
fstp st(0)
mov dword [esi + 0x268], 0
jmp 0xb9a5fb
mov ebp, dword [ebx + 0x397f8]
cmp dword [ebp + 0x20], 1
mov dword [esp + 0x80], ebp
sbb edi, edi
and edi, 0x20
add edi, 0x42
jmp 0xb9a2c1
fstp st(0)
fstp st(0)
jmp 0xb9a664
mov edi, dword [ebx + 0x397f8]
cmp dword [edi], 1
mov dword [esp + 0x80], edi
sbb edi, edi
and edi, 0xffffffe0
add edi, 0x69
jmp 0xb9a2c1
call fcn.010887f0
fild dword [esp + 0xd4]
fmul qword [0x12686c8]
fmulp st(1)
fld dword [ebx + 0x208]
fabs
fmul qword [esi + 0x88]
fdivp st(1)
fadd qword [esi + 0x90]
jmp 0xb9a4f3
fstp st(0)
fxch st(1)
jmp 0xb9a5c0
fstp qword [esp + 0xc]
mov dword [esp + 8], str.VBV_underflow___.0f_bits__n
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.00b84fd0
fld qword [esi + 0x68]
jmp 0xb9a649
mov bp, 0x74
jne 0xb9a32b
mov ebp, dword [esp + 0x90]
sub ebp, dword [esp + 0x94]
mov dword [esp + 0x90], ebp
mov ebp, 0x73
cmp dword [esp + 0x90], 0
jg 0xb9a32b
cmp dword [esp + 0x90], 1
sbb ebp, ebp
and ebp, 0xffffffb9
add ebp, 0x74
jmp 0xb9a32b
mov dword [esp + 8], 0x126865c
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.00b84fd0
mov eax, 0xffffffff
jmp 0xb9a669
mov edx, ebp
mov eax, ebp
sar edx, 0x1f
idiv edi
mov dword [esp + 0x9c], eax
mov eax, ecx
fild dword [esp + 0x9c]
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fmul qword [0x12686c8]
fstp qword [esp]
call fcn.00b94f20
jmp 0xb9a770