Function at 0x6fd025a0
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.6fd3b0d0
mov edx, dword [ebx + 0x9ef0c]
mov edi, dword [ebx + 0x9eef8]
mov eax, dword [ebx + 0x9ef04]
add edx, dword [ebx + 0x9ef3c]
add eax, dword [ebx + 0x9ef08]
mov ecx, 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], edi
mov dword [ebx + 0x9ef44], eax
fst dword [esi + 0x50]
fst dword [ecx + 0x30]
fxch st(1)
fdivr dword [esi + 0x54]
fst dword [esi + 0x54]
fstp dword [ecx + 0x34]
mov ecx, dword [ebx + 0x21c]
test ecx, ecx
je 0x6fd02863
mov ecx, dword [ebx + 0x38f84]
cmp ecx, 2
je 0x6fd02c70
test ecx, ecx
jne 0x6fd02c40
mov ecx, dword [ebx + 0x397f8]
mov ebp, 0x50
mov dword [esp + 0x80], ecx
mov ecx, dword [ebx + 0x9efbc]
cmp dword [ebx + 0x9e694], 0
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x9efb8]
mov dword [esp + 0x8c], ecx
mov ecx, dword [ebx + 0x9f50c]
mov dword [esp + 0x90], ecx
mov ecx, dword [ebx + 0x9f508]
mov dword [esp + 0x94], ecx
mov ecx, 0x2d
je 0x6fd026eb
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x8c]
mov dword [esp + 0x88], ecx
mov ecx, 0x73
cmp dword [esp + 0x88], 0
jle 0x6fd02cf4
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edi
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], ebp
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 fcn.6fcfcf60
test eax, eax
js 0x6fd02d60
mov edi, dword [ebx + 0x214]
test edi, edi
je 0x6fd02865
mov eax, dword [ebx + 0x397f8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x6fd02865
mov edx, dword [ebx + 0x224]
test edx, edx
jne 0x6fd02865
mov ecx, dword [ebx + 0x3a510]
mov edx, dword [ebx + 0x38f84]
test ecx, ecx
mov byte [esp + 0xac], dl
jle 0x6fd027fb
mov edi, dword [eax + 0xbdc]
xor eax, eax
mov ebp, dword [esi + 0x1a0]
fnstcw word [esp + 0x9a]
fld dword [0x70755090]
movzx edx, word [esp + 0x9a]
mov dh, 0xc
mov word [esp + 0x98], dx
fld st(0)
fmul dword [edi + eax*4]
fldcw word [esp + 0x98]
fistp dword [esp + 0x9c]
fldcw word [esp + 0x9a]
mov edx, dword [esp + 0x9c]
rol dx, 8
mov word [ebp + eax*2], dx
add eax, 1
cmp eax, ecx
jne 0x6fd027c8
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 0x6fd02d60
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 0x6fd02865
jmp 0x6fd02d60
fstp st(0)
mov eax, dword [esi]
test eax, eax
je 0x6fd028d8
fld dword [0x70754f6c]
fadd dword [esi + 0x50]
cmp dword [ebx + 0x38f84], 1
fmul dword [0x70754f70]
fstp qword [esp + 8]
fld dword [0x70754f74]
fstp qword [esp]
je 0x6fd02c90
call fcn.6feeaf20
fild dword [esp + 0xd4]
fmul qword [0x70754f78]
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 0x6fd029a5
mov edi, dword [esi + 0x40]
fld qword [esi + 0x98]
fstp qword [esp + 0x80]
fild dword [edi + 0x2c]
fadd dword [0x70754f6c]
fmul dword [0x70754f70]
fstp qword [esp + 8]
fld dword [0x70754f74]
fstp qword [esp]
call fcn.6feeaf20
fmul qword [0x70754f78]
fld qword [0x70754f88]
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 [0x70754f90]
fstp qword [esp + 8]
fld st(0)
fdiv st(3)
fstp qword [esp]
fxch st(2)
fstp qword [esp + 0x70]
fxch st(2)
fstp qword [esp + 0x40]
fstp qword [esp + 0x50]
fstp dword [esp + 0x60]
call fcn.6feeaf20
fild dword [edi + 0x10]
fld qword [esp + 0x40]
faddp st(1)
fmulp st(1)
fild dword [edi + 0xc]
fld1
fld dword [esp + 0x60]
fcompi st(1)
fld qword [esp + 0x70]
fld qword [esp + 0x50]
jbe 0x6fd02cc0
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 0x6fd029b8
cmp dword [ebx + 0x38f84], 1
je 0x6fd02a34
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]
jl 0x6fd029e4
jmp 0x6fd02b60
fstp st(0)
fstp st(0)
mov ebp, dword [edi + 8]
xor eax, eax
test ebp, ebp
je 0x6fd02a29
fld qword [esi + 0x78]
fadd qword [esi + 0x68]
fild dword [esp + 0xd4]
fsubp st(1)
fst qword [esi + 0x68]
fldz
fcompi st(1)
ja 0x6fd02cd0
fld qword [esi + 0x60]
fldz
fxch st(2)
fcomi st(2)
jb 0x6fd02c60
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 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 0x6fd029b8
mov eax, dword [ebx + 0x39850]
mov edi, dword [esi + 0x264]
mov eax, dword [ebx + eax*4 + 0x39850]
fild dword [eax + 0x674]
fld dword [0x70754f6c]
fadd dword [esi + 0x50]
fmul dword [0x70754f70]
fstp qword [esp + 8]
fld dword [0x70754f74]
fstp qword [esp]
fstp qword [esp + 0x40]
call fcn.6feeaf20
mov ecx, dword [esi + 0x260]
fld dword [0x70755078]
fld qword [esp + 0x40]
fxch st(1)
fcompi st(1)
ja 0x6fd02b46
mov edx, ebp
mov eax, ebp
fld qword [ecx]
sar edx, 0x1f
fld qword [ecx + 8]
idiv edi
fld st(1)
fdiv st(1)
mov dword [esp + 0x9c], eax
fild dword [esp + 0x9c]
fmul qword [0x70754f78]
fmulp st(5)
fld st(4)
fdiv st(4)
fld qword [0x70755080]
fmul st(2)
fld st(1)
fcomi st(1)
jb 0x6fd02b00
fstp st(1)
fxch st(2)
fmul dword [0x70754fcc]
fcomi st(2)
fcmovnb st(0), st(2)
fstp st(2)
fxch st(1)
jmp 0x6fd02b06
fstp st(0)
fstp st(2)
fxch st(1)
fmul st(4), st(0)
fxch st(5)
fsubrp st(4)
fldz
fld st(0)
fxch st(5)
fcomi st(5)
fstp st(5)
jb 0x6fd02d40
fstp st(0)
fstp st(0)
fld qword [ecx + 0x10]
fld qword [ecx + 0x18]
fmul st(1)
fxch st(2)
fmul st(1)
fadd dword [0x70754f58]
fstp qword [ecx + 8]
fmulp st(2)
fxch st(1)
faddp st(3)
fxch st(2)
fstp qword [ecx]
faddp st(1)
fstp qword [ecx + 0x18]
jmp 0x6fd02b4a
fstp st(0)
fstp st(0)
mov dword [esi + 0x268], 0
jmp 0x6fd029b8
mov dword [esp + 0x9c], eax
fild dword [esp + 0x9c]
fld dword [0x70754f6c]
fadd dword [edi + 0x50]
fmul dword [0x70754f70]
fstp qword [esp + 8]
fld dword [0x70754f74]
fstp qword [esp]
fstp qword [esp + 0x40]
call fcn.6feeaf20
mov eax, dword [esi + 0x80]
mov edx, dword [ebx + 0x38f84]
fld dword [0x70755078]
fld qword [esp + 0x40]
fxch st(1)
fcompi st(1)
ja 0x6fd029e0
shl edx, 5
add eax, edx
fld qword [eax]
fld qword [eax + 8]
fld st(1)
fdiv st(1)
fild dword [esp + 0xd4]
fmul qword [0x70754f78]
fmulp st(5)
fld st(4)
fdiv st(4)
fld qword [0x70755080]
fmul st(2)
fld st(1)
fcomi st(1)
jb 0x6fd02bf6
fstp st(1)
fxch st(2)
fmul dword [0x70754fcc]
fcomi st(2)
fcmovnb st(0), st(2)
fstp st(2)
fxch st(1)
jmp 0x6fd02bfc
fstp st(0)
fstp st(2)
fxch st(1)
fmul st(4), st(0)
fxch st(5)
fsubrp st(4)
fldz
fld st(0)
fxch st(5)
fcomi st(5)
fstp st(5)
jb 0x6fd02d82
fstp st(0)
fstp st(0)
fld qword [eax + 0x10]
fld qword [eax + 0x18]
fmul st(1)
fxch st(2)
fmul st(1)
fadd dword [0x70754f58]
fstp qword [eax + 8]
fmulp st(2)
fxch st(1)
faddp st(3)
fxch st(2)
fstp qword [eax]
faddp st(1)
fstp qword [eax + 0x18]
jmp 0x6fd029e4
mov ecx, dword [ebx + 0x397f8]
cmp dword [ecx + 0x20], 1
mov dword [esp + 0x80], ecx
sbb ebp, ebp
and ebp, 0x20
add ebp, 0x42
jmp 0x6fd02681
fstp st(0)
fstp st(0)
jmp 0x6fd02a24
mov ecx, dword [ebx + 0x397f8]
cmp dword [ecx], 1
mov dword [esp + 0x80], ecx
sbb ebp, ebp
and ebp, 0xffffffe0
add ebp, 0x69
jmp 0x6fd02681
call fcn.6feeaf20
fild dword [esp + 0xd4]
fmul qword [0x70754f78]
fmulp st(1)
fld dword [ebx + 0x208]
fabs
fmul qword [esi + 0x88]
fdivp st(1)
fadd qword [esi + 0x90]
jmp 0x6fd028b4
fstp st(0)
fxch st(1)
jmp 0x6fd02981
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.6fcec410
fld qword [esi + 0x68]
jmp 0x6fd02a09
mov cl, 0x74
jne 0x6fd026eb
mov ecx, dword [esp + 0x90]
sub ecx, dword [esp + 0x94]
mov dword [esp + 0x90], ecx
mov ecx, 0x73
cmp dword [esp + 0x90], 0
jg 0x6fd026eb
cmp dword [esp + 0x90], 1
sbb ecx, ecx
and ecx, 0xffffffb9
add ecx, 0x74
jmp 0x6fd026eb
fstp st(4)
fstp st(4)
fxch st(2)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(3)
fxch st(1)
jmp 0x6fd02b20
mov dword [esp + 8], 0x70754f1c
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.6fcec410
mov eax, 0xffffffff
jmp 0x6fd02a29
fstp st(4)
fstp st(4)
fxch st(2)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
fxch st(3)
fxch st(1)
jmp 0x6fd02c16